/opt/canhelp/node_modules/next/dist/build
NameSizeModeActions
adapter/-0755rm
analysis/-0755rm
babel/-0755rm
jest/-0755rm
manifests/-0755rm
next-config-ts/-0755rm
output/-0755rm
polyfills/-0755rm
segment-config/-0755rm
static-paths/-0755rm
swc/-0755rm
templates/-0755rm
turbopack-build/-0755rm
turborepo-access-trace/-0755rm
webpack/-0755rm
webpack-build/-0755rm
webpack-config-rules/-0755rm
after-production-compile.d.ts4310644editdlrm
after-production-compile.js33390644editdlrm
after-production-compile.js.map31290644editdlrm
build-context.d.ts20570644editdlrm
build-context.js16030644editdlrm
build-context.js.map40420644editdlrm
collect-build-traces.d.ts7570644editdlrm
collect-build-traces.js242760644editdlrm
collect-build-traces.js.map355400644editdlrm
compiler.d.ts5430644editdlrm
compiler.js32620644editdlrm
compiler.js.map48020644editdlrm
create-compiler-aliases.d.ts13070644editdlrm
create-compiler-aliases.js270860644editdlrm
create-compiler-aliases.js.map399590644editdlrm
define-env.d.ts12590644editdlrm
define-env.js147490644editdlrm
define-env.js.map231420644editdlrm
deployment-id.d.ts690644editdlrm
deployment-id.js4660644editdlrm
deployment-id.js.map5230644editdlrm
duration-to-string.d.ts760644editdlrm
duration-to-string.js7580644editdlrm
duration-to-string.js.map11010644editdlrm
entries.d.ts82020644editdlrm
entries.js378860644editdlrm
entries.js.map620370644editdlrm
generate-build-id.d.ts1380644editdlrm
generate-build-id.js10060644editdlrm
generate-build-id.js.map12150644editdlrm
get-babel-config-file.d.ts770644editdlrm
get-babel-config-file.js8560644editdlrm
get-babel-config-file.js.map10980644editdlrm
get-babel-loader-config.d.ts17130644editdlrm
get-babel-loader-config.js35570644editdlrm
get-babel-loader-config.js.map48960644editdlrm
handle-entrypoints.d.ts4700644editdlrm
handle-entrypoints.js65600644editdlrm
handle-entrypoints.js.map71740644editdlrm
handle-externals.d.ts14150644editdlrm
handle-externals.js144260644editdlrm
handle-externals.js.map216040644editdlrm
index.d.ts93240644editdlrm
index.js1538270644editdlrm
index.js.map2263100644editdlrm
is-writeable.d.ts740644editdlrm
is-writeable.js6530644editdlrm
is-writeable.js.map6560644editdlrm
load-entrypoint.d.ts10090644editdlrm
load-entrypoint.js15200644editdlrm
load-entrypoint.js.map31070644editdlrm
load-jsconfig.d.ts5140644editdlrm
load-jsconfig.js56930644editdlrm
load-jsconfig.js.map65350644editdlrm
next-dir-paths.d.ts1610644editdlrm
next-dir-paths.js11200644editdlrm
next-dir-paths.js.map7350644editdlrm
normalize-catchall-routes.d.ts6090644editdlrm
normalize-catchall-routes.js40820644editdlrm
normalize-catchall-routes.js.map66120644editdlrm
page-extensions-type.d.ts390644editdlrm
page-extensions-type.js1300644editdlrm
page-extensions-type.js.map670644editdlrm
preview-key-utils.d.ts2060644editdlrm
preview-key-utils.js37110644editdlrm
preview-key-utils.js.map59200644editdlrm
progress.d.ts1200644editdlrm
progress.js47460644editdlrm
progress.js.map46250644editdlrm
rendering-mode.d.ts5060644editdlrm
rendering-mode.js8260644editdlrm
rendering-mode.js.map7210644editdlrm
spinner.d.ts2180644editdlrm
spinner.js46630644editdlrm
spinner.js.map49780644editdlrm
type-check.d.ts5700644editdlrm
type-check.js72260644editdlrm
type-check.js.map92270644editdlrm
utils.d.ts87460644editdlrm
utils.js604000644editdlrm
utils.js.map959230644editdlrm
webpack-config.d.ts47890644editdlrm
webpack-config.js1137040644editdlrm
webpack-config.js.map1582530644editdlrm
worker.d.ts1720644editdlrm
worker.js8900644editdlrm
worker.js.map5230644editdlrm
write-build-id.d.ts870644editdlrm
write-build-id.js5590644editdlrm
write-build-id.js.map7180644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/build/normalize-catchall-routes.js.map (6612B)
{"version":3,"sources":["../../src/build/normalize-catchall-routes.ts"],"sourcesContent":["import { isInterceptionRouteAppPath } from '../shared/lib/router/utils/interception-routes'\nimport { AppPathnameNormalizer } from '../server/normalizers/built/app/app-pathname-normalizer'\n\n/**\n * This function will transform the appPaths in order to support catch-all routes and parallel routes.\n * It will traverse the appPaths, looking for catch-all routes and try to find parallel routes that could match\n * the catch-all. If it finds a match, it will add the catch-all to the parallel route's list of possible routes.\n *\n * @param appPaths The appPaths to transform\n */\nexport function normalizeCatchAllRoutes(\n appPaths: Record,\n normalizer = new AppPathnameNormalizer()\n) {\n const catchAllRoutes = [\n ...new Set(\n Object.values(appPaths)\n .flat()\n .filter(isCatchAllRoute)\n // Sorting is important because we want to match the most specific path.\n .sort((a, b) => b.split('/').length - a.split('/').length)\n ),\n ]\n\n // interception routes should only be matched by a single entrypoint\n // we don't want to push a catch-all route to an interception route\n // because it would mean the interception would be handled by the wrong page component\n const filteredAppPaths = Object.keys(appPaths).filter(\n (route) => !isInterceptionRouteAppPath(route)\n )\n\n for (const appPath of filteredAppPaths) {\n for (const catchAllRoute of catchAllRoutes) {\n const normalizedCatchAllRoute = normalizer.normalize(catchAllRoute)\n const normalizedCatchAllRouteBasePath = normalizedCatchAllRoute.slice(\n 0,\n normalizedCatchAllRoute.search(catchAllRouteRegex)\n )\n\n if (\n // check if the appPath could match the catch-all\n appPath.startsWith(normalizedCatchAllRouteBasePath) &&\n // check if there's not already a slot value that could match the catch-all\n !appPaths[appPath].some((path) => hasMatchedSlots(path, catchAllRoute))\n ) {\n // optional catch-all routes are not currently supported, but leaving this logic in place\n // for when they are eventually supported.\n if (isOptionalCatchAll(catchAllRoute)) {\n // optional catch-all routes should match both the root segment and any segment after it\n // for example, `/[[...slug]]` should match `/` and `/foo` and `/foo/bar`\n appPaths[appPath].push(catchAllRoute)\n } else if (isCatchAll(catchAllRoute)) {\n // regular catch-all (single bracket) should only match segments after it\n // for example, `/[...slug]` should match `/foo` and `/foo/bar` but not `/`\n if (normalizedCatchAllRouteBasePath !== appPath) {\n appPaths[appPath].push(catchAllRoute)\n }\n }\n }\n }\n }\n}\n\nfunction hasMatchedSlots(path1: string, path2: string): boolean {\n const slots1 = path1.split('/').filter(isMatchableSlot)\n const slots2 = path2.split('/').filter(isMatchableSlot)\n\n // if the catch-all route does not have the same number of slots as the app path, it can't match\n if (slots1.length !== slots2.length) return false\n\n // compare the slots in both paths. For there to be a match, each slot must be the same\n for (let i = 0; i < slots1.length; i++) {\n if (slots1[i] !== slots2[i]) return false\n }\n\n return true\n}\n\n/**\n * Returns true for slots that should be considered when checking for match compatibility.\n * Excludes children slots because these are similar to having a segment-level `page`\n * which would cause a slot length mismatch when comparing it to a catch-all route.\n */\nfunction isMatchableSlot(segment: string): boolean {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nconst catchAllRouteRegex = /\\[?\\[\\.\\.\\./\n\nfunction isCatchAllRoute(pathname: string): boolean {\n // Optional catch-all slots are not currently supported, and as such they are not considered when checking for match compatability.\n return !isOptionalCatchAll(pathname) && isCatchAll(pathname)\n}\n\nfunction isOptionalCatchAll(pathname: string): boolean {\n return pathname.includes('[[...')\n}\n\nfunction isCatchAll(pathname: string): boolean {\n return pathname.includes('[...')\n}\n"],"names":["normalizeCatchAllRoutes","appPaths","normalizer","AppPathnameNormalizer","catchAllRoutes","Set","Object","values","flat","filter","isCatchAllRoute","sort","a","b","split","length","filteredAppPaths","keys","route","isInterceptionRouteAppPath","appPath","catchAllRoute","normalizedCatchAllRoute","normalize","normalizedCatchAllRouteBasePath","slice","search","catchAllRouteRegex","startsWith","some","path","hasMatchedSlots","isOptionalCatchAll","push","isCatchAll","path1","path2","slots1","isMatchableSlot","slots2","i","segment","pathname","includes"],"mappings":";;;;+BAUgBA;;;eAAAA;;;oCAV2B;uCACL;AAS/B,SAASA,wBACdC,QAAkC,EAClCC,aAAa,IAAIC,4CAAqB,EAAE;IAExC,MAAMC,iBAAiB;WAClB,IAAIC,IACLC,OAAOC,MAAM,CAACN,UACXO,IAAI,GACJC,MAAM,CAACC,gBACR,wEAAwE;SACvEC,IAAI,CAAC,CAACC,GAAGC,IAAMA,EAAEC,KAAK,CAAC,KAAKC,MAAM,GAAGH,EAAEE,KAAK,CAAC,KAAKC,MAAM;KAE9D;IAED,oEAAoE;IACpE,mEAAmE;IACnE,sFAAsF;IACtF,MAAMC,mBAAmBV,OAAOW,IAAI,CAAChB,UAAUQ,MAAM,CACnD,CAACS,QAAU,CAACC,IAAAA,8CAA0B,EAACD;IAGzC,KAAK,MAAME,WAAWJ,iBAAkB;QACtC,KAAK,MAAMK,iBAAiBjB,eAAgB;YAC1C,MAAMkB,0BAA0BpB,WAAWqB,SAAS,CAACF;YACrD,MAAMG,kCAAkCF,wBAAwBG,KAAK,CACnE,GACAH,wBAAwBI,MAAM,CAACC;YAGjC,IACE,iDAAiD;YACjDP,QAAQQ,UAAU,CAACJ,oCACnB,2EAA2E;YAC3E,CAACvB,QAAQ,CAACmB,QAAQ,CAACS,IAAI,CAAC,CAACC,OAASC,gBAAgBD,MAAMT,iBACxD;gBACA,yFAAyF;gBACzF,0CAA0C;gBAC1C,IAAIW,mBAAmBX,gBAAgB;oBACrC,wFAAwF;oBACxF,yEAAyE;oBACzEpB,QAAQ,CAACmB,QAAQ,CAACa,IAAI,CAACZ;gBACzB,OAAO,IAAIa,WAAWb,gBAAgB;oBACpC,yEAAyE;oBACzE,2EAA2E;oBAC3E,IAAIG,oCAAoCJ,SAAS;wBAC/CnB,QAAQ,CAACmB,QAAQ,CAACa,IAAI,CAACZ;oBACzB;gBACF;YACF;QACF;IACF;AACF;AAEA,SAASU,gBAAgBI,KAAa,EAAEC,KAAa;IACnD,MAAMC,SAASF,MAAMrB,KAAK,CAAC,KAAKL,MAAM,CAAC6B;IACvC,MAAMC,SAASH,MAAMtB,KAAK,CAAC,KAAKL,MAAM,CAAC6B;IAEvC,gGAAgG;IAChG,IAAID,OAAOtB,MAAM,KAAKwB,OAAOxB,MAAM,EAAE,OAAO;IAE5C,uFAAuF;IACvF,IAAK,IAAIyB,IAAI,GAAGA,IAAIH,OAAOtB,MAAM,EAAEyB,IAAK;QACtC,IAAIH,MAAM,CAACG,EAAE,KAAKD,MAAM,CAACC,EAAE,EAAE,OAAO;IACtC;IAEA,OAAO;AACT;AAEA;;;;CAIC,GACD,SAASF,gBAAgBG,OAAe;IACtC,OAAOA,QAAQb,UAAU,CAAC,QAAQa,YAAY;AAChD;AAEA,MAAMd,qBAAqB;AAE3B,SAASjB,gBAAgBgC,QAAgB;IACvC,mIAAmI;IACnI,OAAO,CAACV,mBAAmBU,aAAaR,WAAWQ;AACrD;AAEA,SAASV,mBAAmBU,QAAgB;IAC1C,OAAOA,SAASC,QAAQ,CAAC;AAC3B;AAEA,SAAST,WAAWQ,QAAgB;IAClC,OAAOA,SAASC,QAAQ,CAAC;AAC3B","ignoreList":[0]}