/opt/canhelp/node_modules/next/dist/esm/lib
NameSizeModeActions
eslint/-0755rm
framework/-0755rm
fs/-0755rm
helpers/-0755rm
memory/-0755rm
metadata/-0755rm
typescript/-0755rm
batcher.js20580644editdlrm
batcher.js.map42230644editdlrm
build-custom-route.js9030644editdlrm
build-custom-route.js.map24250644editdlrm
client-and-server-references.js6940644editdlrm
client-and-server-references.js.map16700644editdlrm
coalesced-function.js8680644editdlrm
coalesced-function.js.map20030644editdlrm
compile-error.js860644editdlrm
compile-error.js.map2160644editdlrm
constants.js83860644editdlrm
constants.js.map135700644editdlrm
create-client-router-filter.js21660644editdlrm
create-client-router-filter.js.map40100644editdlrm
default-transpiled-packages.json100644editdlrm
detached-promise.js6790644editdlrm
detached-promise.js.map12830644editdlrm
detect-typo.js13190644editdlrm
detect-typo.js.map27740644editdlrm
download-swc.js48300644editdlrm
download-swc.js.map82020644editdlrm
error-telemetry-utils.js13910644editdlrm
error-telemetry-utils.js.map23800644editdlrm
fallback.js29330644editdlrm
fallback.js.map38460644editdlrm
fatal-error.js820644editdlrm
fatal-error.js.map2100644editdlrm
file-exists.js8140644editdlrm
file-exists.js.map14470644editdlrm
find-config.js29380644editdlrm
find-config.js.map50320644editdlrm
find-pages-dir.js8810644editdlrm
find-pages-dir.js.map15600644editdlrm
find-root.js25100644editdlrm
find-root.js.map42820644editdlrm
format-cli-help-output.js25780644editdlrm
format-cli-help-output.js.map49000644editdlrm
format-dynamic-import-path.js7060644editdlrm
format-dynamic-import-path.js.map11890644editdlrm
format-server-error.js24070644editdlrm
format-server-error.js.map37500644editdlrm
generate-interception-routes-rewrites.js26510644editdlrm
generate-interception-routes-rewrites.js.map43580644editdlrm
get-files-in-dir.js5100644editdlrm
get-files-in-dir.js.map11780644editdlrm
get-network-host.js10440644editdlrm
get-network-host.js.map19160644editdlrm
get-package-version.js15470644editdlrm
get-package-version.js.map31930644editdlrm
get-project-dir.js14650644editdlrm
get-project-dir.js.map23940644editdlrm
has-necessary-dependencies.js13570644editdlrm
has-necessary-dependencies.js.map37320644editdlrm
import-next-warning.js3220644editdlrm
import-next-warning.js.map5060644editdlrm
inline-static-env.js39780644editdlrm
inline-static-env.js.map71300644editdlrm
install-dependencies.js8860644editdlrm
install-dependencies.js.map19680644editdlrm
interop-default.js1150644editdlrm
interop-default.js.map2930644editdlrm
is-api-route.js1710644editdlrm
is-api-route.js.map3630644editdlrm
is-app-page-route.js1240644editdlrm
is-app-page-route.js.map3160644editdlrm
is-app-route-route.js1270644editdlrm
is-app-route-route.js.map3220644editdlrm
is-edge-runtime.js2180644editdlrm
is-edge-runtime.js.map5710644editdlrm
is-error.js19320644editdlrm
is-error.js.map28310644editdlrm
is-internal-component.js3870644editdlrm
is-internal-component.js.map6980644editdlrm
is-serializable-props.js41650644editdlrm
is-serializable-props.js.map64740644editdlrm
known-edge-safe-packages.json180644editdlrm
load-custom-routes.js221900644editdlrm
load-custom-routes.js.map386290644editdlrm
mime-type.js2240644editdlrm
mime-type.js.map4480644editdlrm
mkcert.js60370644editdlrm
mkcert.js.map96840644editdlrm
multi-file-writer.js24190644editdlrm
multi-file-writer.js.map42030644editdlrm
needs-experimental-react.js2580644editdlrm
needs-experimental-react.js.map6800644editdlrm
non-nullable.js1300644editdlrm
non-nullable.js.map3350644editdlrm
normalize-path.js1720644editdlrm
normalize-path.js.map4260644editdlrm
oxford-comma-list.js2330644editdlrm
oxford-comma-list.js.map7010644editdlrm
page-types.js2290644editdlrm
page-types.js.map2620644editdlrm
patch-incorrect-lockfile.js53600644editdlrm
patch-incorrect-lockfile.js.map92290644editdlrm
pick.js1780644editdlrm
pick.js.map4960644editdlrm
picocolors.js33720644editdlrm
picocolors.js.map60240644editdlrm
pretty-bytes.js28640644editdlrm
pretty-bytes.js.map41280644editdlrm
realpath.js5090644editdlrm
realpath.js.map8370644editdlrm
recursive-copy.js23780644editdlrm
recursive-copy.js.map44830644editdlrm
recursive-delete.js22260644editdlrm
recursive-delete.js.map41960644editdlrm
recursive-readdir.js52300644editdlrm
recursive-readdir.js.map84950644editdlrm
redirect-status.js8340644editdlrm
redirect-status.js.map17850644editdlrm
require-instrumentation-client.js12780644editdlrm
require-instrumentation-client.js.map19470644editdlrm
resolve-from.js16890644editdlrm
resolve-from.js.map26450644editdlrm
route-pattern-normalizer.js44320644editdlrm
route-pattern-normalizer.js.map65670644editdlrm
scheduler.js23320644editdlrm
scheduler.js.map34640644editdlrm
semver-noop.js2710644editdlrm
semver-noop.js.map4360644editdlrm
server-external-packages.json12810644editdlrm
setup-exception-listeners.js2780644editdlrm
setup-exception-listeners.js.map5900644editdlrm
static-env.js21120644editdlrm
static-env.js.map37930644editdlrm
try-to-parse-path.js24520644editdlrm
try-to-parse-path.js.map44780644editdlrm
turbopack-warning.js69480644editdlrm
turbopack-warning.js.map116590644editdlrm
url.js13220644editdlrm
url.js.map28840644editdlrm
verify-partytown-setup.js28420644editdlrm
verify-partytown-setup.js.map50880644editdlrm
verify-root-layout.js37940644editdlrm
verify-root-layout.js.map66280644editdlrm
verify-typescript-setup.js52820644editdlrm
verify-typescript-setup.js.map90110644editdlrm
verifyAndLint.js26940644editdlrm
verifyAndLint.js.map47470644editdlrm
wait.js2480644editdlrm
wait.js.map4780644editdlrm
with-promise-cache.js3800644editdlrm
with-promise-cache.js.map13790644editdlrm
worker.js79810644editdlrm
worker.js.map131850644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/esm/lib/verify-root-layout.js.map (6628B)
{"version":3,"sources":["../../src/lib/verify-root-layout.ts"],"sourcesContent":["import path from 'path'\nimport * as Log from '../build/output/log'\nimport { promises as fs } from 'fs'\nimport { bold } from './picocolors'\nimport { APP_DIR_ALIAS } from './constants'\nimport type { PageExtensions } from '../build/page-extensions-type'\n\nconst globOrig =\n require('next/dist/compiled/glob') as typeof import('next/dist/compiled/glob')\nconst glob = (cwd: string, pattern: string): Promise => {\n return new Promise((resolve, reject) => {\n globOrig(pattern, { cwd }, (err, files) => {\n if (err) {\n return reject(err)\n }\n resolve(files)\n })\n })\n}\n\nfunction getRootLayout(isTs: boolean) {\n if (isTs) {\n return `export const metadata = {\n title: 'Next.js',\n description: 'Generated by Next.js',\n}\n\nexport default function RootLayout({\n children,\n}: {\n children: React.ReactNode\n}) {\n return (\n \n {children}\n \n )\n}\n`\n }\n\n return `export const metadata = {\n title: 'Next.js',\n description: 'Generated by Next.js',\n}\n\nexport default function RootLayout({ children }) {\n return (\n \n {children}\n \n )\n}\n`\n}\n\nexport async function verifyRootLayout({\n dir,\n appDir,\n tsconfigPath,\n pagePath,\n pageExtensions,\n}: {\n dir: string\n appDir: string\n tsconfigPath: string\n pagePath: string\n pageExtensions: PageExtensions\n}): Promise<[boolean, string | undefined]> {\n let rootLayoutPath: string | undefined\n try {\n const layoutFiles = await glob(\n appDir,\n `**/layout.{${pageExtensions.join(',')}}`\n )\n const isFileUnderAppDir = pagePath.startsWith(`${APP_DIR_ALIAS}/`)\n const normalizedPagePath = pagePath.replace(`${APP_DIR_ALIAS}/`, '')\n const pagePathSegments = normalizedPagePath.split('/')\n\n // Find an available dir to place the layout file in, the layout file can't affect any other layout.\n // Place the layout as close to app/ as possible.\n let availableDir: string | undefined\n\n if (isFileUnderAppDir) {\n if (layoutFiles.length === 0) {\n // If there's no other layout file we can place the layout file in the app dir.\n // However, if the page is within a route group directly under app (e.g. app/(routegroup)/page.js)\n // prefer creating the root layout in that route group.\n const firstSegmentValue = pagePathSegments[0]\n availableDir = firstSegmentValue.startsWith('(')\n ? firstSegmentValue\n : ''\n } else {\n pagePathSegments.pop() // remove the page from segments\n\n let currentSegments: string[] = []\n for (const segment of pagePathSegments) {\n currentSegments.push(segment)\n // Find the dir closest to app/ where a layout can be created without affecting other layouts.\n if (\n !layoutFiles.some((file) =>\n file.startsWith(currentSegments.join('/'))\n )\n ) {\n availableDir = currentSegments.join('/')\n break\n }\n }\n }\n } else {\n availableDir = ''\n }\n\n if (typeof availableDir === 'string') {\n const resolvedTsConfigPath = path.join(dir, tsconfigPath)\n const hasTsConfig = await fs.access(resolvedTsConfigPath).then(\n () => true,\n () => false\n )\n\n rootLayoutPath = path.join(\n appDir,\n availableDir,\n `layout.${hasTsConfig ? 'tsx' : 'js'}`\n )\n await fs.writeFile(rootLayoutPath, getRootLayout(hasTsConfig))\n\n Log.warn(\n `Your page ${bold(\n `app/${normalizedPagePath}`\n )} did not have a root layout. We created ${bold(\n `app${rootLayoutPath.replace(appDir, '')}`\n )} for you.`\n )\n\n // Created root layout\n return [true, rootLayoutPath]\n }\n } catch (e) {\n console.error(e)\n }\n\n // Didn't create root layout\n return [false, rootLayoutPath]\n}\n"],"names":["path","Log","promises","fs","bold","APP_DIR_ALIAS","globOrig","require","glob","cwd","pattern","Promise","resolve","reject","err","files","getRootLayout","isTs","verifyRootLayout","dir","appDir","tsconfigPath","pagePath","pageExtensions","rootLayoutPath","layoutFiles","join","isFileUnderAppDir","startsWith","normalizedPagePath","replace","pagePathSegments","split","availableDir","length","firstSegmentValue","pop","currentSegments","segment","push","some","file","resolvedTsConfigPath","hasTsConfig","access","then","writeFile","warn","e","console","error"],"mappings":"AAAA,OAAOA,UAAU,OAAM;AACvB,YAAYC,SAAS,sBAAqB;AAC1C,SAASC,YAAYC,EAAE,QAAQ,KAAI;AACnC,SAASC,IAAI,QAAQ,eAAc;AACnC,SAASC,aAAa,QAAQ,cAAa;AAG3C,MAAMC,WACJC,QAAQ;AACV,MAAMC,OAAO,CAACC,KAAaC;IACzB,OAAO,IAAIC,QAAQ,CAACC,SAASC;QAC3BP,SAASI,SAAS;YAAED;QAAI,GAAG,CAACK,KAAKC;YAC/B,IAAID,KAAK;gBACP,OAAOD,OAAOC;YAChB;YACAF,QAAQG;QACV;IACF;AACF;AAEA,SAASC,cAAcC,IAAa;IAClC,IAAIA,MAAM;QACR,OAAO,CAAC;;;;;;;;;;;;;;;;AAgBZ,CAAC;IACC;IAEA,OAAO,CAAC;;;;;;;;;;;;AAYV,CAAC;AACD;AAEA,OAAO,eAAeC,iBAAiB,EACrCC,GAAG,EACHC,MAAM,EACNC,YAAY,EACZC,QAAQ,EACRC,cAAc,EAOf;IACC,IAAIC;IACJ,IAAI;QACF,MAAMC,cAAc,MAAMjB,KACxBY,QACA,CAAC,WAAW,EAAEG,eAAeG,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,MAAMC,oBAAoBL,SAASM,UAAU,CAAC,GAAGvB,cAAc,CAAC,CAAC;QACjE,MAAMwB,qBAAqBP,SAASQ,OAAO,CAAC,GAAGzB,cAAc,CAAC,CAAC,EAAE;QACjE,MAAM0B,mBAAmBF,mBAAmBG,KAAK,CAAC;QAElD,oGAAoG;QACpG,iDAAiD;QACjD,IAAIC;QAEJ,IAAIN,mBAAmB;YACrB,IAAIF,YAAYS,MAAM,KAAK,GAAG;gBAC5B,+EAA+E;gBAC/E,kGAAkG;gBAClG,uDAAuD;gBACvD,MAAMC,oBAAoBJ,gBAAgB,CAAC,EAAE;gBAC7CE,eAAeE,kBAAkBP,UAAU,CAAC,OACxCO,oBACA;YACN,OAAO;gBACLJ,iBAAiBK,GAAG,GAAG,gCAAgC;;gBAEvD,IAAIC,kBAA4B,EAAE;gBAClC,KAAK,MAAMC,WAAWP,iBAAkB;oBACtCM,gBAAgBE,IAAI,CAACD;oBACrB,8FAA8F;oBAC9F,IACE,CAACb,YAAYe,IAAI,CAAC,CAACC,OACjBA,KAAKb,UAAU,CAACS,gBAAgBX,IAAI,CAAC,QAEvC;wBACAO,eAAeI,gBAAgBX,IAAI,CAAC;wBACpC;oBACF;gBACF;YACF;QACF,OAAO;YACLO,eAAe;QACjB;QAEA,IAAI,OAAOA,iBAAiB,UAAU;YACpC,MAAMS,uBAAuB1C,KAAK0B,IAAI,CAACP,KAAKE;YAC5C,MAAMsB,cAAc,MAAMxC,GAAGyC,MAAM,CAACF,sBAAsBG,IAAI,CAC5D,IAAM,MACN,IAAM;YAGRrB,iBAAiBxB,KAAK0B,IAAI,CACxBN,QACAa,cACA,CAAC,OAAO,EAAEU,cAAc,QAAQ,MAAM;YAExC,MAAMxC,GAAG2C,SAAS,CAACtB,gBAAgBR,cAAc2B;YAEjD1C,IAAI8C,IAAI,CACN,CAAC,UAAU,EAAE3C,KACX,CAAC,IAAI,EAAEyB,oBAAoB,EAC3B,wCAAwC,EAAEzB,KAC1C,CAAC,GAAG,EAAEoB,eAAeM,OAAO,CAACV,QAAQ,KAAK,EAC1C,SAAS,CAAC;YAGd,sBAAsB;YACtB,OAAO;gBAAC;gBAAMI;aAAe;QAC/B;IACF,EAAE,OAAOwB,GAAG;QACVC,QAAQC,KAAK,CAACF;IAChB;IAEA,4BAA4B;IAC5B,OAAO;QAAC;QAAOxB;KAAe;AAChC","ignoreList":[0]}