/opt/canhelp/node_modules/next/dist/server/lib/router-utils
NameSizeModeActions
block-cross-site.d.ts2770644editdlrm
block-cross-site.js32420644editdlrm
block-cross-site.js.map52200644editdlrm
build-data-route.d.ts2360644editdlrm
build-data-route.js19010644editdlrm
build-data-route.js.map26760644editdlrm
build-prefetch-segment-data-route.d.ts7880644editdlrm
build-prefetch-segment-data-route.js26130644editdlrm
build-prefetch-segment-data-route.js.map37020644editdlrm
decode-path-params.d.ts3450644editdlrm
decode-path-params.js14810644editdlrm
decode-path-params.js.map15700644editdlrm
filesystem.d.ts27200644editdlrm
filesystem.js271530644editdlrm
filesystem.js.map376760644editdlrm
instrumentation-globals.external.d.ts5040644editdlrm
instrumentation-globals.external.js36020644editdlrm
instrumentation-globals.external.js.map47580644editdlrm
instrumentation-node-extensions.d.ts1940644editdlrm
instrumentation-node-extensions.js50300644editdlrm
instrumentation-node-extensions.js.map71780644editdlrm
is-postpone.d.ts570644editdlrm
is-postpone.js4360644editdlrm
is-postpone.js.map5970644editdlrm
proxy-request.d.ts3700644editdlrm
proxy-request.js42890644editdlrm
proxy-request.js.map65810644editdlrm
resolve-routes.d.ts11250644editdlrm
resolve-routes.js338990644editdlrm
resolve-routes.js.map471420644editdlrm
route-types-utils.d.ts24280644editdlrm
route-types-utils.js113940644editdlrm
route-types-utils.js.map192130644editdlrm
router-server-context.d.ts11290644editdlrm
router-server-context.js6890644editdlrm
router-server-context.js.map22830644editdlrm
setup-dev-bundler.d.ts27220644editdlrm
setup-dev-bundler.js473040644editdlrm
setup-dev-bundler.js.map681600644editdlrm
typegen.d.ts3370644editdlrm
typegen.js247410644editdlrm
typegen.js.map347410644editdlrm
types.d.ts1810644editdlrm
types.js1150644editdlrm
types.js.map670644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/server/lib/router-utils/filesystem.js.map (37676B)
{"version":3,"sources":["../../../../src/server/lib/router-utils/filesystem.ts"],"sourcesContent":["import type {\n FunctionsConfigManifest,\n ManifestRoute,\n PrerenderManifest,\n RoutesManifest,\n} from '../../../build'\nimport type { NextConfigComplete } from '../../config-shared'\nimport type { MiddlewareManifest } from '../../../build/webpack/plugins/middleware-plugin'\nimport type { UnwrapPromise } from '../../../lib/coalesced-function'\nimport type { PatchMatcher } from '../../../shared/lib/router/utils/path-match'\nimport type { MiddlewareRouteMatch } from '../../../shared/lib/router/utils/middleware-route-matcher'\n\nimport path from 'path'\nimport fs from 'fs/promises'\nimport * as Log from '../../../build/output/log'\nimport setupDebug from 'next/dist/compiled/debug'\nimport { LRUCache } from '../lru-cache'\nimport loadCustomRoutes, { type Rewrite } from '../../../lib/load-custom-routes'\nimport { modifyRouteRegex } from '../../../lib/redirect-status'\nimport { FileType, fileExists } from '../../../lib/file-exists'\nimport { recursiveReadDir } from '../../../lib/recursive-readdir'\nimport { isDynamicRoute } from '../../../shared/lib/router/utils'\nimport { escapeStringRegexp } from '../../../shared/lib/escape-regexp'\nimport { getPathMatch } from '../../../shared/lib/router/utils/path-match'\nimport { getRouteRegex } from '../../../shared/lib/router/utils/route-regex'\nimport { getRouteMatcher } from '../../../shared/lib/router/utils/route-matcher'\nimport { pathHasPrefix } from '../../../shared/lib/router/utils/path-has-prefix'\nimport { normalizeLocalePath } from '../../../shared/lib/i18n/normalize-locale-path'\nimport { removePathPrefix } from '../../../shared/lib/router/utils/remove-path-prefix'\nimport { getMiddlewareRouteMatcher } from '../../../shared/lib/router/utils/middleware-route-matcher'\nimport {\n APP_PATH_ROUTES_MANIFEST,\n BUILD_ID_FILE,\n FUNCTIONS_CONFIG_MANIFEST,\n MIDDLEWARE_MANIFEST,\n PAGES_MANIFEST,\n PRERENDER_MANIFEST,\n ROUTES_MANIFEST,\n} from '../../../shared/lib/constants'\nimport { normalizePathSep } from '../../../shared/lib/page-path/normalize-path-sep'\nimport { normalizeMetadataRoute } from '../../../lib/metadata/get-metadata-route'\nimport { RSCPathnameNormalizer } from '../../normalizers/request/rsc'\nimport { PrefetchRSCPathnameNormalizer } from '../../normalizers/request/prefetch-rsc'\nimport { encodeURIPath } from '../../../shared/lib/encode-uri-path'\n\nexport type FsOutput = {\n type:\n | 'appFile'\n | 'pageFile'\n | 'nextImage'\n | 'publicFolder'\n | 'nextStaticFolder'\n | 'legacyStaticFolder'\n | 'devVirtualFsItem'\n\n itemPath: string\n fsPath?: string\n itemsRoot?: string\n locale?: string\n}\n\nconst debug = setupDebug('next:router-server:filesystem')\n\nexport type FilesystemDynamicRoute = ManifestRoute & {\n /**\n * The path matcher that can be used to match paths against this route.\n */\n match: PatchMatcher\n}\n\nexport const buildCustomRoute = (\n type: 'redirect' | 'header' | 'rewrite' | 'before_files_rewrite',\n item: T & { source: string },\n basePath?: string,\n caseSensitive?: boolean\n): T & { match: PatchMatcher; check?: boolean; regex: string } => {\n const restrictedRedirectPaths = ['/_next'].map((p) =>\n basePath ? `${basePath}${p}` : p\n )\n let builtRegex = ''\n const match = getPathMatch(item.source, {\n strict: true,\n removeUnnamedParams: true,\n regexModifier: (regex: string) => {\n if (!(item as any).internal) {\n regex = modifyRouteRegex(\n regex,\n type === 'redirect' ? restrictedRedirectPaths : undefined\n )\n }\n builtRegex = regex\n return builtRegex\n },\n sensitive: caseSensitive,\n })\n\n return {\n ...item,\n regex: builtRegex,\n ...(type === 'rewrite' ? { check: true } : {}),\n match,\n }\n}\n\nexport async function setupFsCheck(opts: {\n dir: string\n dev: boolean\n minimalMode?: boolean\n config: NextConfigComplete\n}) {\n const getItemsLru = !opts.dev\n ? new LRUCache(1024 * 1024, function length(value) {\n if (!value) {\n // Null entries (negative cache) still need a non-zero size for LRU eviction\n return 1\n }\n return (\n (value.fsPath || '').length +\n value.itemPath.length +\n value.type.length\n )\n })\n : undefined\n\n // routes that have _next/data endpoints (SSG/SSP)\n const nextDataRoutes = new Set()\n const publicFolderItems = new Set()\n const nextStaticFolderItems = new Set()\n const legacyStaticFolderItems = new Set()\n\n const appFiles = new Set()\n const pageFiles = new Set()\n let dynamicRoutes: FilesystemDynamicRoute[] = []\n\n let middlewareMatcher:\n | ReturnType\n | undefined = () => false\n\n const distDir = path.join(opts.dir, opts.config.distDir)\n const publicFolderPath = path.join(opts.dir, 'public')\n const nextStaticFolderPath = path.join(distDir, 'static')\n const legacyStaticFolderPath = path.join(opts.dir, 'static')\n let customRoutes: UnwrapPromise> = {\n redirects: [],\n rewrites: {\n beforeFiles: [],\n afterFiles: [],\n fallback: [],\n },\n headers: [],\n }\n let buildId = 'development'\n let prerenderManifest: PrerenderManifest\n\n if (!opts.dev) {\n const buildIdPath = path.join(opts.dir, opts.config.distDir, BUILD_ID_FILE)\n try {\n buildId = await fs.readFile(buildIdPath, 'utf8')\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err\n throw new Error(\n `Could not find a production build in the '${opts.config.distDir}' directory. Try building your app with 'next build' before starting the production server. https://nextjs.org/docs/messages/production-start-no-build-id`\n )\n }\n\n try {\n for (const file of await recursiveReadDir(publicFolderPath)) {\n // Ensure filename is encoded and normalized.\n publicFolderItems.add(encodeURIPath(normalizePathSep(file)))\n }\n } catch (err: any) {\n if (err.code !== 'ENOENT') {\n throw err\n }\n }\n\n try {\n for (const file of await recursiveReadDir(legacyStaticFolderPath)) {\n // Ensure filename is encoded and normalized.\n legacyStaticFolderItems.add(encodeURIPath(normalizePathSep(file)))\n }\n Log.warn(\n `The static directory has been deprecated in favor of the public directory. https://nextjs.org/docs/messages/static-dir-deprecated`\n )\n } catch (err: any) {\n if (err.code !== 'ENOENT') {\n throw err\n }\n }\n\n try {\n for (const file of await recursiveReadDir(nextStaticFolderPath)) {\n // Ensure filename is encoded and normalized.\n nextStaticFolderItems.add(\n path.posix.join(\n '/_next/static',\n encodeURIPath(normalizePathSep(file))\n )\n )\n }\n } catch (err) {\n if (opts.config.output !== 'standalone') throw err\n }\n\n const routesManifestPath = path.join(distDir, ROUTES_MANIFEST)\n const prerenderManifestPath = path.join(distDir, PRERENDER_MANIFEST)\n const middlewareManifestPath = path.join(\n distDir,\n 'server',\n MIDDLEWARE_MANIFEST\n )\n const functionsConfigManifestPath = path.join(\n distDir,\n 'server',\n FUNCTIONS_CONFIG_MANIFEST\n )\n const pagesManifestPath = path.join(distDir, 'server', PAGES_MANIFEST)\n const appRoutesManifestPath = path.join(distDir, APP_PATH_ROUTES_MANIFEST)\n\n const routesManifest = JSON.parse(\n await fs.readFile(routesManifestPath, 'utf8')\n ) as RoutesManifest\n\n prerenderManifest = JSON.parse(\n await fs.readFile(prerenderManifestPath, 'utf8')\n ) as PrerenderManifest\n\n const middlewareManifest = JSON.parse(\n await fs.readFile(middlewareManifestPath, 'utf8').catch(() => '{}')\n ) as MiddlewareManifest\n\n const functionsConfigManifest = JSON.parse(\n await fs.readFile(functionsConfigManifestPath, 'utf8').catch(() => '{}')\n ) as FunctionsConfigManifest\n\n const pagesManifest = JSON.parse(\n await fs.readFile(pagesManifestPath, 'utf8')\n )\n const appRoutesManifest = JSON.parse(\n await fs.readFile(appRoutesManifestPath, 'utf8').catch(() => '{}')\n )\n\n for (const key of Object.keys(pagesManifest)) {\n // ensure the non-locale version is in the set\n if (opts.config.i18n) {\n pageFiles.add(\n normalizeLocalePath(key, opts.config.i18n.locales).pathname\n )\n } else {\n pageFiles.add(key)\n }\n }\n for (const key of Object.keys(appRoutesManifest)) {\n appFiles.add(appRoutesManifest[key])\n }\n\n const escapedBuildId = escapeStringRegexp(buildId)\n\n for (const route of routesManifest.dataRoutes) {\n if (isDynamicRoute(route.page)) {\n const routeRegex = getRouteRegex(route.page)\n dynamicRoutes.push({\n ...route,\n regex: routeRegex.re.toString(),\n match: getRouteMatcher({\n // TODO: fix this in the manifest itself, must also be fixed in\n // upstream builder that relies on this\n re: opts.config.i18n\n ? new RegExp(\n route.dataRouteRegex.replace(\n `/${escapedBuildId}/`,\n `/${escapedBuildId}/(?[^/]+?)/`\n )\n )\n : new RegExp(route.dataRouteRegex),\n groups: routeRegex.groups,\n }),\n })\n }\n nextDataRoutes.add(route.page)\n }\n\n for (const route of routesManifest.dynamicRoutes) {\n // If a route is marked as skipInternalRouting, it's not for the internal\n // router, and instead has been added to support external routers.\n if (route.skipInternalRouting) {\n continue\n }\n\n dynamicRoutes.push({\n ...route,\n match: getRouteMatcher(getRouteRegex(route.page)),\n })\n }\n\n if (middlewareManifest.middleware?.['/']?.matchers) {\n middlewareMatcher = getMiddlewareRouteMatcher(\n middlewareManifest.middleware?.['/']?.matchers\n )\n } else if (functionsConfigManifest?.functions['/_middleware']) {\n middlewareMatcher = getMiddlewareRouteMatcher(\n functionsConfigManifest.functions['/_middleware'].matchers ?? [\n { regexp: '.*', originalSource: '/:path*' },\n ]\n )\n }\n\n customRoutes = {\n redirects: routesManifest.redirects,\n rewrites: routesManifest.rewrites\n ? Array.isArray(routesManifest.rewrites)\n ? {\n beforeFiles: [],\n afterFiles: routesManifest.rewrites,\n fallback: [],\n }\n : routesManifest.rewrites\n : {\n beforeFiles: [],\n afterFiles: [],\n fallback: [],\n },\n headers: routesManifest.headers,\n }\n } else {\n // dev handling\n customRoutes = await loadCustomRoutes(opts.config)\n\n prerenderManifest = {\n version: 4,\n routes: {},\n dynamicRoutes: {},\n notFoundRoutes: [],\n preview: {\n previewModeId: (require('crypto') as typeof import('crypto'))\n .randomBytes(16)\n .toString('hex'),\n previewModeSigningKey: (require('crypto') as typeof import('crypto'))\n .randomBytes(32)\n .toString('hex'),\n previewModeEncryptionKey: (require('crypto') as typeof import('crypto'))\n .randomBytes(32)\n .toString('hex'),\n },\n }\n }\n\n const headers = customRoutes.headers.map((item) =>\n buildCustomRoute(\n 'header',\n item,\n opts.config.basePath,\n opts.config.experimental.caseSensitiveRoutes\n )\n )\n const redirects = customRoutes.redirects.map((item) =>\n buildCustomRoute(\n 'redirect',\n item,\n opts.config.basePath,\n opts.config.experimental.caseSensitiveRoutes\n )\n )\n const rewrites = {\n beforeFiles: customRoutes.rewrites.beforeFiles.map((item) =>\n buildCustomRoute('before_files_rewrite', item)\n ),\n afterFiles: customRoutes.rewrites.afterFiles.map((item) =>\n buildCustomRoute(\n 'rewrite',\n item,\n opts.config.basePath,\n opts.config.experimental.caseSensitiveRoutes\n )\n ),\n fallback: customRoutes.rewrites.fallback.map((item) =>\n buildCustomRoute(\n 'rewrite',\n item,\n opts.config.basePath,\n opts.config.experimental.caseSensitiveRoutes\n )\n ),\n }\n\n const { i18n } = opts.config\n\n const handleLocale = (pathname: string, locales?: string[]) => {\n let locale: string | undefined\n\n if (i18n) {\n const i18nResult = normalizeLocalePath(pathname, locales || i18n.locales)\n\n pathname = i18nResult.pathname\n locale = i18nResult.detectedLocale\n }\n return { locale, pathname }\n }\n\n debug('nextDataRoutes', nextDataRoutes)\n debug('dynamicRoutes', dynamicRoutes)\n debug('customRoutes', customRoutes)\n debug('publicFolderItems', publicFolderItems)\n debug('nextStaticFolderItems', nextStaticFolderItems)\n debug('pageFiles', pageFiles)\n debug('appFiles', appFiles)\n\n let ensureFn: (item: FsOutput) => Promise | undefined\n\n const normalizers = {\n // Because we can't know if the app directory is enabled or not at this\n // stage, we assume that it is.\n rsc: new RSCPathnameNormalizer(),\n prefetchRSC: opts.config.experimental.ppr\n ? new PrefetchRSCPathnameNormalizer()\n : undefined,\n }\n\n return {\n headers,\n rewrites,\n redirects,\n\n buildId,\n handleLocale,\n\n appFiles,\n pageFiles,\n dynamicRoutes,\n nextDataRoutes,\n\n exportPathMapRoutes: undefined as\n | undefined\n | ReturnType>[],\n\n devVirtualFsItems: new Set(),\n\n prerenderManifest,\n middlewareMatcher: middlewareMatcher as MiddlewareRouteMatch | undefined,\n\n ensureCallback(fn: typeof ensureFn) {\n ensureFn = fn\n },\n\n async getItem(itemPath: string): Promise {\n const originalItemPath = itemPath\n const itemKey = originalItemPath\n const lruResult = getItemsLru?.get(itemKey)\n\n if (lruResult) {\n return lruResult\n }\n\n const { basePath } = opts.config\n\n const hasBasePath = pathHasPrefix(itemPath, basePath)\n\n // Return null if path doesn't start with basePath\n if (basePath && !hasBasePath) {\n return null\n }\n\n // Remove basePath if it exists.\n if (basePath && hasBasePath) {\n itemPath = removePathPrefix(itemPath, basePath) || '/'\n }\n\n // Simulate minimal mode requests by normalizing RSC and postponed\n // requests.\n if (opts.minimalMode) {\n if (normalizers.prefetchRSC?.match(itemPath)) {\n itemPath = normalizers.prefetchRSC.normalize(itemPath, true)\n } else if (normalizers.rsc.match(itemPath)) {\n itemPath = normalizers.rsc.normalize(itemPath, true)\n }\n }\n\n if (itemPath !== '/' && itemPath.endsWith('/')) {\n itemPath = itemPath.substring(0, itemPath.length - 1)\n }\n\n let decodedItemPath = itemPath\n\n try {\n decodedItemPath = decodeURIComponent(itemPath)\n } catch {}\n\n if (itemPath === '/_next/image') {\n return {\n itemPath,\n type: 'nextImage',\n }\n }\n\n const itemsToCheck: Array<[Set, FsOutput['type']]> = [\n [this.devVirtualFsItems, 'devVirtualFsItem'],\n [nextStaticFolderItems, 'nextStaticFolder'],\n [legacyStaticFolderItems, 'legacyStaticFolder'],\n [publicFolderItems, 'publicFolder'],\n [appFiles, 'appFile'],\n [pageFiles, 'pageFile'],\n ]\n\n for (let [items, type] of itemsToCheck) {\n let locale: string | undefined\n let curItemPath = itemPath\n let curDecodedItemPath = decodedItemPath\n\n const isDynamicOutput = type === 'pageFile' || type === 'appFile'\n\n if (i18n) {\n const localeResult = handleLocale(\n itemPath,\n // legacy behavior allows visiting static assets under\n // default locale but no other locale\n isDynamicOutput\n ? undefined\n : [\n i18n?.defaultLocale,\n // default locales from domains need to be matched too\n ...(i18n.domains?.map((item) => item.defaultLocale) || []),\n ]\n )\n\n if (localeResult.pathname !== curItemPath) {\n curItemPath = localeResult.pathname\n locale = localeResult.locale\n\n try {\n curDecodedItemPath = decodeURIComponent(curItemPath)\n } catch {}\n }\n }\n\n if (type === 'legacyStaticFolder') {\n if (!pathHasPrefix(curItemPath, '/static')) {\n continue\n }\n curItemPath = curItemPath.substring('/static'.length)\n\n try {\n curDecodedItemPath = decodeURIComponent(curItemPath)\n } catch {}\n }\n\n if (\n type === 'nextStaticFolder' &&\n !pathHasPrefix(curItemPath, '/_next/static')\n ) {\n continue\n }\n\n const nextDataPrefix = `/_next/data/${buildId}/`\n\n if (\n type === 'pageFile' &&\n curItemPath.startsWith(nextDataPrefix) &&\n curItemPath.endsWith('.json')\n ) {\n items = nextDataRoutes\n // remove _next/data/ prefix\n curItemPath = curItemPath.substring(nextDataPrefix.length - 1)\n\n // remove .json postfix\n curItemPath = curItemPath.substring(\n 0,\n curItemPath.length - '.json'.length\n )\n const curLocaleResult = handleLocale(curItemPath)\n curItemPath =\n curLocaleResult.pathname === '/index'\n ? '/'\n : curLocaleResult.pathname\n\n locale = curLocaleResult.locale\n\n try {\n curDecodedItemPath = decodeURIComponent(curItemPath)\n } catch {}\n }\n\n let matchedItem = items.has(curItemPath)\n\n // check decoded variant as well\n if (!matchedItem && !opts.dev) {\n matchedItem = items.has(curDecodedItemPath)\n if (matchedItem) curItemPath = curDecodedItemPath\n else {\n // x-ref: https://github.com/vercel/next.js/issues/54008\n // There're cases that urls get decoded before requests, we should support both encoded and decoded ones.\n // e.g. nginx could decode the proxy urls, the below ones should be treated as the same:\n // decoded version: `/_next/static/chunks/pages/blog/[slug]-d4858831b91b69f6.js`\n // encoded version: `/_next/static/chunks/pages/blog/%5Bslug%5D-d4858831b91b69f6.js`\n try {\n // encode the special characters in the path and retrieve again to determine if path exists.\n const encodedCurItemPath = encodeURIPath(curItemPath)\n matchedItem = items.has(encodedCurItemPath)\n } catch {}\n }\n }\n\n if (matchedItem || opts.dev) {\n let fsPath: string | undefined\n let itemsRoot: string | undefined\n\n switch (type) {\n case 'nextStaticFolder': {\n itemsRoot = nextStaticFolderPath\n curItemPath = curItemPath.substring('/_next/static'.length)\n break\n }\n case 'legacyStaticFolder': {\n itemsRoot = legacyStaticFolderPath\n break\n }\n case 'publicFolder': {\n itemsRoot = publicFolderPath\n break\n }\n case 'appFile':\n case 'pageFile':\n case 'nextImage':\n case 'devVirtualFsItem': {\n break\n }\n default: {\n ;(type) satisfies never\n }\n }\n\n if (itemsRoot && curItemPath) {\n fsPath = path.posix.join(itemsRoot, curItemPath)\n }\n\n // dynamically check fs in development so we don't\n // have to wait on the watcher\n if (!matchedItem && opts.dev) {\n const isStaticAsset = (\n [\n 'nextStaticFolder',\n 'publicFolder',\n 'legacyStaticFolder',\n ] as (typeof type)[]\n ).includes(type)\n\n if (isStaticAsset && itemsRoot) {\n let found = fsPath && (await fileExists(fsPath, FileType.File))\n\n if (!found) {\n try {\n // In dev, we ensure encoded paths match\n // decoded paths on the filesystem so check\n // that variation as well\n const tempItemPath = decodeURIComponent(curItemPath)\n fsPath = path.posix.join(itemsRoot, tempItemPath)\n found = await fileExists(fsPath, FileType.File)\n } catch {}\n\n if (!found) {\n continue\n }\n }\n } else if (type === 'pageFile' || type === 'appFile') {\n const isAppFile = type === 'appFile'\n\n // Attempt to ensure the page/app file is compiled and ready\n if (ensureFn) {\n const ensureItemPath = isAppFile\n ? normalizeMetadataRoute(curItemPath)\n : curItemPath\n\n try {\n await ensureFn({ type, itemPath: ensureItemPath })\n } catch (error) {\n // If ensure failed, skip this item and continue to the next one\n continue\n }\n }\n } else {\n continue\n }\n }\n\n // i18n locales aren't matched for app dir\n if (type === 'appFile' && locale && locale !== i18n?.defaultLocale) {\n continue\n }\n\n const itemResult = {\n type,\n fsPath,\n locale,\n itemsRoot,\n itemPath: curItemPath,\n }\n\n getItemsLru?.set(itemKey, itemResult)\n return itemResult\n }\n }\n\n getItemsLru?.set(itemKey, null)\n return null\n },\n getDynamicRoutes() {\n // this should include data routes\n return this.dynamicRoutes\n },\n getMiddlewareMatchers() {\n return this.middlewareMatcher\n },\n }\n}\n"],"names":["buildCustomRoute","setupFsCheck","debug","setupDebug","type","item","basePath","caseSensitive","restrictedRedirectPaths","map","p","builtRegex","match","getPathMatch","source","strict","removeUnnamedParams","regexModifier","regex","internal","modifyRouteRegex","undefined","sensitive","check","opts","getItemsLru","dev","LRUCache","length","value","fsPath","itemPath","nextDataRoutes","Set","publicFolderItems","nextStaticFolderItems","legacyStaticFolderItems","appFiles","pageFiles","dynamicRoutes","middlewareMatcher","distDir","path","join","dir","config","publicFolderPath","nextStaticFolderPath","legacyStaticFolderPath","customRoutes","redirects","rewrites","beforeFiles","afterFiles","fallback","headers","buildId","prerenderManifest","middlewareManifest","buildIdPath","BUILD_ID_FILE","fs","readFile","err","code","Error","file","recursiveReadDir","add","encodeURIPath","normalizePathSep","Log","warn","posix","output","routesManifestPath","ROUTES_MANIFEST","prerenderManifestPath","PRERENDER_MANIFEST","middlewareManifestPath","MIDDLEWARE_MANIFEST","functionsConfigManifestPath","FUNCTIONS_CONFIG_MANIFEST","pagesManifestPath","PAGES_MANIFEST","appRoutesManifestPath","APP_PATH_ROUTES_MANIFEST","routesManifest","JSON","parse","catch","functionsConfigManifest","pagesManifest","appRoutesManifest","key","Object","keys","i18n","normalizeLocalePath","locales","pathname","escapedBuildId","escapeStringRegexp","route","dataRoutes","isDynamicRoute","page","routeRegex","getRouteRegex","push","re","toString","getRouteMatcher","RegExp","dataRouteRegex","replace","groups","skipInternalRouting","middleware","matchers","getMiddlewareRouteMatcher","functions","regexp","originalSource","Array","isArray","loadCustomRoutes","version","routes","notFoundRoutes","preview","previewModeId","require","randomBytes","previewModeSigningKey","previewModeEncryptionKey","experimental","caseSensitiveRoutes","handleLocale","locale","i18nResult","detectedLocale","ensureFn","normalizers","rsc","RSCPathnameNormalizer","prefetchRSC","ppr","PrefetchRSCPathnameNormalizer","exportPathMapRoutes","devVirtualFsItems","ensureCallback","fn","getItem","originalItemPath","itemKey","lruResult","get","hasBasePath","pathHasPrefix","removePathPrefix","minimalMode","normalize","endsWith","substring","decodedItemPath","decodeURIComponent","itemsToCheck","items","curItemPath","curDecodedItemPath","isDynamicOutput","localeResult","defaultLocale","domains","nextDataPrefix","startsWith","curLocaleResult","matchedItem","has","encodedCurItemPath","itemsRoot","isStaticAsset","includes","found","fileExists","FileType","File","tempItemPath","isAppFile","ensureItemPath","normalizeMetadataRoute","error","itemResult","set","getDynamicRoutes","getMiddlewareMatchers"],"mappings":"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","ignoreList":[0]}