next 16.1.1-canary.3 → 16.1.1-canary.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/next +2 -2
- package/dist/build/index.js +3 -3
- package/dist/build/swc/index.js +1 -1
- package/dist/build/utils.js +1 -1
- package/dist/build/utils.js.map +1 -1
- package/dist/build/webpack-config.js +3 -3
- package/dist/bundle-analyzer/404.html +2 -2
- package/dist/bundle-analyzer/__next.__PAGE__.txt +1 -1
- package/dist/bundle-analyzer/__next._full.txt +1 -1
- package/dist/bundle-analyzer/__next._head.txt +1 -1
- package/dist/bundle-analyzer/__next._index.txt +1 -1
- package/dist/bundle-analyzer/__next._tree.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._full.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._head.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._index.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._not-found.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._tree.txt +1 -1
- package/dist/bundle-analyzer/_not-found.html +2 -2
- package/dist/bundle-analyzer/_not-found.txt +1 -1
- package/dist/bundle-analyzer/index.html +2 -2
- package/dist/bundle-analyzer/index.txt +1 -1
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/esm/build/index.js +3 -3
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/utils.js +1 -1
- package/dist/esm/build/utils.js.map +1 -1
- package/dist/esm/build/webpack-config.js +3 -3
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/errors/canary-only-config-error.js +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/shared/lib/errors/canary-only-config-error.js +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
- /package/dist/bundle-analyzer/_next/static/{YjsvNmpD3crQqM_wz21Kg → cMlVsRhB2uHVJqSqk-cik}/_buildManifest.js +0 -0
- /package/dist/bundle-analyzer/_next/static/{YjsvNmpD3crQqM_wz21Kg → cMlVsRhB2uHVJqSqk-cik}/_clientMiddlewareManifest.json +0 -0
- /package/dist/bundle-analyzer/_next/static/{YjsvNmpD3crQqM_wz21Kg → cMlVsRhB2uHVJqSqk-cik}/_ssgManifest.js +0 -0
package/dist/bin/next
CHANGED
|
@@ -85,7 +85,7 @@ const program = new NextRootCommand();
|
|
|
85
85
|
program.name('next').description('The Next.js CLI allows you to develop, build, start your application, and more.').configureHelp({
|
|
86
86
|
formatHelp: (cmd, helper)=>(0, _formatclihelpoutput.formatCliHelpOutput)(cmd, helper),
|
|
87
87
|
subcommandTerm: (cmd)=>`${cmd.name()} ${cmd.usage()}`
|
|
88
|
-
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"16.1.1-canary.
|
|
88
|
+
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"16.1.1-canary.4"}`, '-v, --version', 'Outputs the Next.js version.');
|
|
89
89
|
program.command('build').description('Creates an optimized production build of your application. The output displays information about each route.').argument('[directory]', `A directory on which to build the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('--experimental-analyze', 'Analyze bundle output. Only compatible with Turbopack.').option('-d, --debug', 'Enables a more verbose build output.').option('--debug-prerender', 'Enables debug mode for prerendering. Not for production use!').option('--no-mangling', 'Disables mangling.').option('--profile', 'Enables production profiling for React.').option('--experimental-app-only', 'Builds only App Router routes.').option('--turbo', 'Builds using Turbopack.').option('--turbopack', 'Builds using Turbopack.').option('--webpack', 'Builds using webpack.').addOption(new _commander.Option('--experimental-build-mode [mode]', 'Uses an experimental build mode.').choices([
|
|
90
90
|
'compile',
|
|
91
91
|
'generate',
|
|
@@ -136,7 +136,7 @@ program.command('telemetry').description(`Allows you to enable or disable Next.j
|
|
|
136
136
|
program.command('typegen').description('Generate TypeScript definitions for routes, pages, and layouts without running a full build.').argument('[directory]', `A directory on which to generate types. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).action((directory, options)=>// ensure process exits after typegen completes so open handles/connections
|
|
137
137
|
// don't cause process to hang
|
|
138
138
|
import('../cli/next-typegen.js').then((mod)=>mod.nextTypegen(options, directory).then(()=>process.exit(0)))).usage('[directory] [options]');
|
|
139
|
-
const nextVersion = "16.1.1-canary.
|
|
139
|
+
const nextVersion = "16.1.1-canary.4" || 'unknown';
|
|
140
140
|
program.command('upgrade').description('Upgrade Next.js apps to desired versions with a single command.').argument('[directory]', `A Next.js project directory to upgrade. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).usage('[directory] [options]').option('--revision <revision>', 'Specify the target Next.js version using an NPM dist tag (e.g. "latest", "canary", "rc", "beta") or an exact version number (e.g. "15.0.0").', nextVersion.includes('-canary.') ? 'canary' : nextVersion.includes('-rc.') ? 'rc' : nextVersion.includes('-beta.') ? 'beta' : 'latest').option('--verbose', 'Verbose output', false).action(async (directory, options)=>{
|
|
141
141
|
const mod = await import('../cli/next-upgrade.js');
|
|
142
142
|
mod.spawnNextUpgrade(directory, options);
|
package/dist/build/index.js
CHANGED
|
@@ -373,7 +373,7 @@ async function build(dir, experimentalAnalyze = false, reactProductionProfiling
|
|
|
373
373
|
try {
|
|
374
374
|
const nextBuildSpan = (0, _trace.trace)('next-build', undefined, {
|
|
375
375
|
buildMode: experimentalBuildMode,
|
|
376
|
-
version: "16.1.1-canary.
|
|
376
|
+
version: "16.1.1-canary.4"
|
|
377
377
|
});
|
|
378
378
|
_buildcontext.NextBuildContext.nextBuildSpan = nextBuildSpan;
|
|
379
379
|
_buildcontext.NextBuildContext.dir = dir;
|
|
@@ -871,7 +871,7 @@ async function build(dir, experimentalAnalyze = false, reactProductionProfiling
|
|
|
871
871
|
// Files outside of the distDir can be "type": "module"
|
|
872
872
|
await writeFileUtf8(_path.default.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
|
873
873
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
|
874
|
-
await (0, _builddiagnostics.recordFrameworkVersion)("16.1.1-canary.
|
|
874
|
+
await (0, _builddiagnostics.recordFrameworkVersion)("16.1.1-canary.4");
|
|
875
875
|
await (0, _builddiagnostics.updateBuildDiagnostics)({
|
|
876
876
|
buildStage: 'start'
|
|
877
877
|
});
|
|
@@ -2546,7 +2546,7 @@ async function build(dir, experimentalAnalyze = false, reactProductionProfiling
|
|
|
2546
2546
|
configOutDir: _path.default.join(dir, configOutDir),
|
|
2547
2547
|
staticPages,
|
|
2548
2548
|
serverPropsPages,
|
|
2549
|
-
nextVersion: "16.1.1-canary.
|
|
2549
|
+
nextVersion: "16.1.1-canary.4",
|
|
2550
2550
|
tracingRoot: outputFileTracingRoot,
|
|
2551
2551
|
hasNodeMiddleware,
|
|
2552
2552
|
hasInstrumentationHook,
|
package/dist/build/swc/index.js
CHANGED
|
@@ -130,7 +130,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
130
130
|
}
|
|
131
131
|
return newObj;
|
|
132
132
|
}
|
|
133
|
-
const nextVersion = "16.1.1-canary.
|
|
133
|
+
const nextVersion = "16.1.1-canary.4";
|
|
134
134
|
const ArchName = (0, _os.arch)();
|
|
135
135
|
const PlatformName = (0, _os.platform)();
|
|
136
136
|
function infoLog(...args) {
|
package/dist/build/utils.js
CHANGED
|
@@ -1004,7 +1004,7 @@ async function copyTracedFiles(dir, distDir, pageKeys, appPageKeys, tracingRoot,
|
|
|
1004
1004
|
await _fs.promises.symlink(symlink, fileOutputPath);
|
|
1005
1005
|
} catch (err) {
|
|
1006
1006
|
// Windows doesn't support creating symlinks without elevated privileges, unless
|
|
1007
|
-
// "Developer Mode" is turned on. If we failed to
|
|
1007
|
+
// "Developer Mode" is turned on. If we failed to create a symlink due to EPERM, try
|
|
1008
1008
|
// creating a junction point instead.
|
|
1009
1009
|
//
|
|
1010
1010
|
// Ideally we'd just preserve the input file type (junction point or symlink), but
|
package/dist/build/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/build/utils.ts"],"sourcesContent":["import type {\n NextConfigComplete,\n NextConfigRuntime,\n} from '../server/config-shared'\nimport type { ExperimentalPPRConfig } from '../server/lib/experimental/ppr'\nimport { checkIsRoutePPREnabled } from '../server/lib/experimental/ppr'\nimport type { AssetBinding } from './webpack/loaders/get-module-build-info'\nimport type { ServerRuntime } from '../types'\nimport type { BuildManifest } from '../server/get-page-files'\nimport {\n normalizeRouteRegex,\n type CustomRoutes,\n type Header,\n type Redirect,\n type Rewrite,\n} from '../lib/load-custom-routes'\nimport type {\n EdgeFunctionDefinition,\n MiddlewareManifest,\n} from './webpack/plugins/middleware-plugin'\nimport type { WebpackLayerName } from '../lib/constants'\nimport {\n INSTRUMENTATION_HOOK_FILENAME,\n MIDDLEWARE_FILENAME,\n SERVER_PROPS_GET_INIT_PROPS_CONFLICT,\n SERVER_PROPS_SSG_CONFLICT,\n SSG_GET_INITIAL_PROPS_CONFLICT,\n WEBPACK_LAYERS,\n PROXY_FILENAME,\n} from '../lib/constants'\nimport type {\n AppPageModule,\n AppPageRouteModule,\n} from '../server/route-modules/app-page/module'\nimport type { NextComponentType } from '../shared/lib/utils'\n\nimport '../server/require-hook'\nimport '../server/node-polyfill-crypto'\nimport '../server/node-environment'\n\nimport { bold, cyan, green, red, underline, yellow } from '../lib/picocolors'\nimport textTable from 'next/dist/compiled/text-table'\nimport path from 'path'\nimport { promises as fs } from 'fs'\nimport { isValidElementType } from 'next/dist/compiled/react-is'\nimport stripAnsi from 'next/dist/compiled/strip-ansi'\nimport browserslist from 'next/dist/compiled/browserslist'\nimport {\n MODERN_BROWSERSLIST_TARGET,\n UNDERSCORE_GLOBAL_ERROR_ROUTE,\n UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY,\n UNDERSCORE_NOT_FOUND_ROUTE,\n} from '../shared/lib/constants'\nimport { isDynamicRoute } from '../shared/lib/router/utils/is-dynamic'\nimport { findPageFile } from '../server/lib/find-page-file'\nimport { isEdgeRuntime } from '../lib/is-edge-runtime'\nimport * as Log from './output/log'\nimport type { LoadComponentsReturnType } from '../server/load-components'\nimport { loadComponents } from '../server/load-components'\nimport { trace } from '../trace'\nimport { setHttpClientAndAgentOptions } from '../server/setup-http-agent-env'\nimport { Sema } from 'next/dist/compiled/async-sema'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\nimport { getRuntimeContext } from '../server/web/sandbox'\nimport { RouteKind } from '../server/route-kind'\nimport type { PageExtensions } from './page-extensions-type'\nimport type { FallbackMode } from '../lib/fallback'\nimport type { OutgoingHttpHeaders } from 'http'\nimport type { AppSegmentConfig } from './segment-config/app/app-segment-config'\nimport type { AppSegment } from './segment-config/app/app-segments'\nimport { collectSegments } from './segment-config/app/app-segments'\nimport { createIncrementalCache } from '../export/helpers/create-incremental-cache'\nimport { collectRootParamKeys } from './segment-config/app/collect-root-param-keys'\nimport { buildAppStaticPaths } from './static-paths/app'\nimport { buildPagesStaticPaths } from './static-paths/pages'\nimport type { PrerenderedRoute } from './static-paths/types'\nimport type { CacheControl } from '../server/lib/cache-control'\nimport { formatExpire, formatRevalidate } from './output/format'\nimport type {\n AppRouteModule,\n AppRouteRouteModule,\n} from '../server/route-modules/app-route/module'\nimport { formatIssue, isRelevantWarning } from '../shared/lib/turbopack/utils'\nimport type { TurbopackResult } from './swc/types'\nimport type { FunctionsConfigManifest, ManifestRoute } from './index'\nimport { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex'\nimport { parseAppRoute } from '../shared/lib/router/routes/app'\n\nexport type ROUTER_TYPE = 'pages' | 'app'\n\nexport type DynamicManifestRoute = ManifestRoute & {\n /**\n * The source page that this route is based on. This is used to determine the\n * source page for the route and is only relevant for app pages where PPR is\n * enabled and the page differs from the source page.\n */\n sourcePage: string | undefined\n}\n\n// Use `print()` for expected console output\nconst print = console.log\n\nconst RESERVED_PAGE = /^\\/(_app|_error|_document|api(\\/|$))/\n\nexport function unique<T>(main: ReadonlyArray<T>, sub: ReadonlyArray<T>): T[] {\n return [...new Set([...main, ...sub])]\n}\n\nexport function difference<T>(\n main: ReadonlyArray<T> | ReadonlySet<T>,\n sub: ReadonlyArray<T> | ReadonlySet<T>\n): T[] {\n const a = new Set(main)\n const b = new Set(sub)\n return [...a].filter((x) => !b.has(x))\n}\n\nexport function isMiddlewareFilename(file?: string | null) {\n return (\n file === MIDDLEWARE_FILENAME ||\n file === `src/${MIDDLEWARE_FILENAME}` ||\n file === PROXY_FILENAME ||\n file === `src/${PROXY_FILENAME}`\n )\n}\n\nexport function isInstrumentationHookFilename(file?: string | null) {\n return (\n file === INSTRUMENTATION_HOOK_FILENAME ||\n file === `src/${INSTRUMENTATION_HOOK_FILENAME}`\n )\n}\n\nconst filterAndSortList = (\n list: ReadonlyArray<string>,\n routeType: ROUTER_TYPE,\n hasCustomApp: boolean\n) => {\n let pages: string[]\n if (routeType === 'app') {\n // filter out static app route of /favicon.ico and /_global-error\n pages = list.filter((e) => {\n if (e === '/favicon.ico') return false\n // Hide static /_global-error from build output\n if (e === '/_global-error') return false\n return true\n })\n } else {\n // filter built-in pages\n pages = list\n .slice()\n .filter(\n (e) =>\n !(\n e === '/_document' ||\n e === '/_error' ||\n (!hasCustomApp && e === '/_app')\n )\n )\n }\n return pages.sort((a, b) => a.localeCompare(b))\n}\n\nexport interface PageInfo {\n originalAppPath: string | undefined\n isStatic: boolean\n isSSG: boolean\n /**\n * If true, it means that the route has partial prerendering enabled.\n */\n isRoutePPREnabled: boolean\n ssgPageRoutes: string[] | null\n initialCacheControl: CacheControl | undefined\n pageDuration: number | undefined\n ssgPageDurations: number[] | undefined\n runtime: ServerRuntime\n hasEmptyStaticShell?: boolean\n hasPostponed?: boolean\n isDynamicAppRoute?: boolean\n}\n\nexport type PageInfos = Map<string, PageInfo>\n\nexport interface RoutesUsingEdgeRuntime {\n [route: string]: 0\n}\n\nexport function collectRoutesUsingEdgeRuntime(\n input: PageInfos\n): RoutesUsingEdgeRuntime {\n const routesUsingEdgeRuntime: RoutesUsingEdgeRuntime = {}\n for (const [route, info] of input.entries()) {\n if (isEdgeRuntime(info.runtime)) {\n routesUsingEdgeRuntime[route] = 0\n }\n }\n\n return routesUsingEdgeRuntime\n}\n\n/**\n * Processes and categorizes build issues, then logs them as warnings, errors, or fatal errors.\n * Stops execution if fatal issues are encountered.\n *\n * @param entrypoints - The result object containing build issues to process.\n * @param isDev - A flag indicating if the build is running in development mode.\n * @return This function does not return a value but logs or throws errors based on the issues.\n * @throws {Error} If a fatal issue is encountered, this function throws an error. In development mode, we only throw on\n * 'fatal' and 'bug' issues. In production mode, we also throw on 'error' issues.\n */\nexport function printBuildErrors(\n entrypoints: TurbopackResult,\n isDev: boolean\n): void {\n // Issues that we want to stop the server from executing\n const topLevelFatalIssues = []\n // Issues that are true errors, but we believe we can keep running and allow the user to address the issue\n const topLevelErrors = []\n // Issues that are warnings but should not affect the running of the build\n const topLevelWarnings = []\n\n // Track seen formatted error messages to avoid duplicates\n const seenFatalIssues = new Set<string>()\n const seenErrors = new Set<string>()\n const seenWarnings = new Set<string>()\n\n for (const issue of entrypoints.issues) {\n // We only want to completely shut down the server\n if (issue.severity === 'fatal' || issue.severity === 'bug') {\n const formatted = formatIssue(issue)\n if (!seenFatalIssues.has(formatted)) {\n seenFatalIssues.add(formatted)\n topLevelFatalIssues.push(formatted)\n }\n } else if (isRelevantWarning(issue)) {\n const formatted = formatIssue(issue)\n if (!seenWarnings.has(formatted)) {\n seenWarnings.add(formatted)\n topLevelWarnings.push(formatted)\n }\n } else if (issue.severity === 'error') {\n const formatted = formatIssue(issue)\n if (isDev) {\n // We want to treat errors as recoverable in development\n // so that we can show the errors in the site and allow users\n // to respond to the errors when necessary. In production builds\n // though we want to error out and stop the build process.\n if (!seenErrors.has(formatted)) {\n seenErrors.add(formatted)\n topLevelErrors.push(formatted)\n }\n } else {\n if (!seenFatalIssues.has(formatted)) {\n seenFatalIssues.add(formatted)\n topLevelFatalIssues.push(formatted)\n }\n }\n }\n }\n // TODO: print in order by source location so issues from the same file are displayed together and then add a summary at the end about the number of warnings/errors\n if (topLevelWarnings.length > 0) {\n console.warn(\n `Turbopack build encountered ${\n topLevelWarnings.length\n } warnings:\\n${topLevelWarnings.join('\\n')}`\n )\n }\n\n if (topLevelErrors.length > 0) {\n console.error(\n `Turbopack build encountered ${\n topLevelErrors.length\n } errors:\\n${topLevelErrors.join('\\n')}`\n )\n }\n\n if (topLevelFatalIssues.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelFatalIssues.length\n } errors:\\n${topLevelFatalIssues.join('\\n')}`\n )\n }\n}\n\nexport async function printTreeView(\n lists: {\n pages: ReadonlyArray<string>\n app: ReadonlyArray<string> | undefined\n },\n pageInfos: Map<string, PageInfo>,\n {\n pagesDir,\n pageExtensions,\n middlewareManifest,\n functionsConfigManifest,\n useStaticPages404,\n hasGSPAndRevalidateZero,\n }: {\n pagesDir?: string\n pageExtensions: PageExtensions\n buildManifest: BuildManifest\n middlewareManifest: MiddlewareManifest\n functionsConfigManifest: FunctionsConfigManifest\n useStaticPages404: boolean\n hasGSPAndRevalidateZero: Set<string>\n }\n) {\n // Can be overridden for test purposes to omit the build duration output.\n const MIN_DURATION = process.env.__NEXT_PRIVATE_DETERMINISTIC_BUILD_OUTPUT\n ? Infinity // Don't ever log build durations.\n : 300\n\n const getPrettyDuration = (_duration: number): string => {\n const duration = `${_duration} ms`\n // green for 300-1000ms\n if (_duration < 1000) return green(duration)\n // yellow for 1000-2000ms\n if (_duration < 2000) return yellow(duration)\n // red for >= 2000ms\n return red(bold(duration))\n }\n\n // Check if we have a custom app.\n const hasCustomApp = !!(\n pagesDir && (await findPageFile(pagesDir, '/_app', pageExtensions, false))\n )\n\n // Collect all the symbols we use so we can print the icons out.\n const usedSymbols = new Set()\n\n const messages: string[][] = []\n\n const printFileTree = async ({\n list,\n routerType,\n }: {\n list: ReadonlyArray<string>\n routerType: ROUTER_TYPE\n }) => {\n const filteredPages = filterAndSortList(list, routerType, hasCustomApp)\n if (filteredPages.length === 0) {\n return\n }\n\n let showRevalidate = false\n let showExpire = false\n\n for (const page of filteredPages) {\n const cacheControl = pageInfos.get(page)?.initialCacheControl\n\n if (cacheControl?.revalidate) {\n showRevalidate = true\n }\n\n if (cacheControl?.expire) {\n showExpire = true\n }\n\n if (showRevalidate && showExpire) {\n break\n }\n }\n\n messages.push(\n [\n routerType === 'app' ? 'Route (app)' : 'Route (pages)',\n showRevalidate ? 'Revalidate' : '',\n showExpire ? 'Expire' : '',\n ]\n .filter((entry) => entry !== '')\n .map((entry) => underline(entry))\n )\n\n filteredPages.forEach((item, i, arr) => {\n const border =\n i === 0\n ? arr.length === 1\n ? '─'\n : '┌'\n : i === arr.length - 1\n ? '└'\n : '├'\n\n const pageInfo = pageInfos.get(item)\n const totalDuration =\n (pageInfo?.pageDuration || 0) +\n (pageInfo?.ssgPageDurations?.reduce((a, b) => a + (b || 0), 0) || 0)\n\n let symbol: string\n\n if (item === '/_app' || item === '/_app.server') {\n symbol = ' '\n } else if (isEdgeRuntime(pageInfo?.runtime)) {\n symbol = 'ƒ'\n } else if (pageInfo?.isRoutePPREnabled) {\n if (\n // If the page has an empty static shell, then it's equivalent to a\n // dynamic page\n pageInfo?.hasEmptyStaticShell ||\n // ensure we don't mark dynamic paths that postponed as being dynamic\n // since in this case we're able to partially prerender it\n (pageInfo.isDynamicAppRoute && !pageInfo.hasPostponed)\n ) {\n symbol = 'ƒ'\n } else if (!pageInfo?.hasPostponed) {\n symbol = '○'\n } else {\n symbol = '◐'\n }\n } else if (pageInfo?.isStatic) {\n symbol = '○'\n } else if (pageInfo?.isSSG) {\n symbol = '●'\n } else {\n symbol = 'ƒ'\n }\n\n if (hasGSPAndRevalidateZero.has(item)) {\n usedSymbols.add('ƒ')\n messages.push([\n `${border} ƒ ${item}${\n totalDuration > MIN_DURATION\n ? ` (${getPrettyDuration(totalDuration)})`\n : ''\n }`,\n showRevalidate && pageInfo?.initialCacheControl\n ? formatRevalidate(pageInfo.initialCacheControl)\n : '',\n showExpire && pageInfo?.initialCacheControl\n ? formatExpire(pageInfo.initialCacheControl)\n : '',\n ])\n }\n\n usedSymbols.add(symbol)\n\n messages.push([\n `${border} ${symbol} ${item}${\n totalDuration > MIN_DURATION\n ? ` (${getPrettyDuration(totalDuration)})`\n : ''\n }`,\n showRevalidate && pageInfo?.initialCacheControl\n ? formatRevalidate(pageInfo.initialCacheControl)\n : '',\n showExpire && pageInfo?.initialCacheControl\n ? formatExpire(pageInfo.initialCacheControl)\n : '',\n ])\n\n if (pageInfo?.ssgPageRoutes?.length) {\n const totalRoutes = pageInfo.ssgPageRoutes.length\n const contSymbol = i === arr.length - 1 ? ' ' : '│'\n\n // HERE\n\n let routes: { route: string; duration: number; avgDuration?: number }[]\n if (pageInfo.ssgPageDurations?.some((d) => d > MIN_DURATION)) {\n const previewPages = totalRoutes === 8 ? 8 : Math.min(totalRoutes, 7)\n const routesWithDuration = pageInfo.ssgPageRoutes\n .map((route, idx) => ({\n route,\n duration: pageInfo.ssgPageDurations![idx] || 0,\n }))\n .sort(({ duration: a }, { duration: b }) =>\n // Sort by duration\n // keep too small durations in original order at the end\n a <= MIN_DURATION && b <= MIN_DURATION ? 0 : b - a\n )\n routes = routesWithDuration.slice(0, previewPages)\n const remainingRoutes = routesWithDuration.slice(previewPages)\n if (remainingRoutes.length) {\n const remaining = remainingRoutes.length\n const avgDuration = Math.round(\n remainingRoutes.reduce(\n (total, { duration }) => total + duration,\n 0\n ) / remainingRoutes.length\n )\n routes.push({\n route: `[+${remaining} more paths]`,\n duration: 0,\n avgDuration,\n })\n }\n } else {\n const previewPages = totalRoutes === 4 ? 4 : Math.min(totalRoutes, 3)\n routes = pageInfo.ssgPageRoutes\n .slice(0, previewPages)\n .map((route) => ({ route, duration: 0 }))\n if (totalRoutes > previewPages) {\n const remaining = totalRoutes - previewPages\n routes.push({ route: `[+${remaining} more paths]`, duration: 0 })\n }\n }\n\n routes.forEach(\n ({ route, duration, avgDuration }, index, { length }) => {\n const innerSymbol = index === length - 1 ? '└' : '├'\n\n const initialCacheControl =\n pageInfos.get(route)?.initialCacheControl\n\n messages.push([\n `${contSymbol} ${innerSymbol} ${route}${\n duration > MIN_DURATION\n ? ` (${getPrettyDuration(duration)})`\n : ''\n }${\n avgDuration && avgDuration > MIN_DURATION\n ? ` (avg ${getPrettyDuration(avgDuration)})`\n : ''\n }`,\n showRevalidate && initialCacheControl\n ? formatRevalidate(initialCacheControl)\n : '',\n showExpire && initialCacheControl\n ? formatExpire(initialCacheControl)\n : '',\n ])\n }\n )\n }\n })\n }\n\n // If enabled, then print the tree for the app directory.\n if (lists.app) {\n await printFileTree({\n routerType: 'app',\n list: lists.app,\n })\n\n messages.push(['', '', '', ''])\n }\n\n pageInfos.set('/404', {\n ...(pageInfos.get('/404') || pageInfos.get('/_error'))!,\n isStatic: useStaticPages404,\n })\n\n // If there's no app /_notFound page present, then the 404 is still using the pages/404\n if (\n !lists.pages.includes('/404') &&\n !lists.app?.includes(UNDERSCORE_NOT_FOUND_ROUTE)\n ) {\n lists.pages = [...lists.pages, '/404']\n }\n\n // Print the tree view for the pages directory.\n await printFileTree({\n routerType: 'pages',\n list: lists.pages,\n })\n\n if (\n middlewareManifest.middleware?.['/']?.files.length > 0 ||\n // 'nodejs' runtime middleware or proxy is set to\n // functions-config-manifest instead of middleware-manifest.\n functionsConfigManifest.functions?.['/_middleware']\n ) {\n messages.push([])\n messages.push(['ƒ Proxy (Middleware)'])\n }\n\n print(\n textTable(messages, {\n align: ['l', 'r', 'r', 'r'],\n stringLength: (str) => stripAnsi(str).length,\n })\n )\n\n const staticFunctionInfo = lists.app\n ? 'generateStaticParams'\n : 'getStaticProps'\n print()\n print(\n textTable(\n [\n usedSymbols.has('○') && [\n '○',\n '(Static)',\n 'prerendered as static content',\n ],\n usedSymbols.has('●') && [\n '●',\n '(SSG)',\n `prerendered as static HTML (uses ${cyan(staticFunctionInfo)})`,\n ],\n usedSymbols.has('◐') && [\n '◐',\n '(Partial Prerender)',\n 'prerendered as static HTML with dynamic server-streamed content',\n ],\n usedSymbols.has('ƒ') && ['ƒ', '(Dynamic)', `server-rendered on demand`],\n ].filter((x) => x) as [string, string, string][],\n {\n align: ['l', 'l', 'l'],\n stringLength: (str) => stripAnsi(str).length,\n }\n )\n )\n\n print()\n}\n\nexport function printCustomRoutes({\n redirects,\n rewrites,\n headers,\n}: CustomRoutes) {\n const printRoutes = (\n routes: Redirect[] | Rewrite[] | Header[],\n type: 'Redirects' | 'Rewrites' | 'Headers'\n ) => {\n const isRedirects = type === 'Redirects'\n const isHeaders = type === 'Headers'\n print(underline(type))\n\n /*\n ┌ source\n ├ permanent/statusCode\n └ destination\n */\n const routesStr = (routes as any[])\n .map((route: { source: string }) => {\n let routeStr = `┌ source: ${route.source}\\n`\n\n if (!isHeaders) {\n const r = route as Rewrite\n routeStr += `${isRedirects ? '├' : '└'} destination: ${\n r.destination\n }\\n`\n }\n if (isRedirects) {\n const r = route as Redirect\n routeStr += `└ ${\n r.statusCode\n ? `status: ${r.statusCode}`\n : `permanent: ${r.permanent}`\n }\\n`\n }\n\n if (isHeaders) {\n const r = route as Header\n routeStr += `└ headers:\\n`\n\n for (let i = 0; i < r.headers.length; i++) {\n const header = r.headers[i]\n const last = i === headers.length - 1\n\n routeStr += ` ${last ? '└' : '├'} ${header.key}: ${header.value}\\n`\n }\n }\n\n return routeStr\n })\n .join('\\n')\n\n print(`${routesStr}\\n`)\n }\n\n print()\n if (redirects.length) {\n printRoutes(redirects, 'Redirects')\n }\n if (headers.length) {\n printRoutes(headers, 'Headers')\n }\n\n const combinedRewrites = [\n ...rewrites.beforeFiles,\n ...rewrites.afterFiles,\n ...rewrites.fallback,\n ]\n if (combinedRewrites.length) {\n printRoutes(combinedRewrites, 'Rewrites')\n }\n}\n\ntype PageIsStaticResult = {\n isRoutePPREnabled?: boolean\n isStatic?: boolean\n hasServerProps?: boolean\n hasStaticProps?: boolean\n prerenderedRoutes: PrerenderedRoute[] | undefined\n prerenderFallbackMode: FallbackMode | undefined\n rootParamKeys: readonly string[] | undefined\n isNextImageImported?: boolean\n traceIncludes?: string[]\n traceExcludes?: string[]\n appConfig?: AppSegmentConfig\n}\n\nexport async function isPageStatic({\n dir,\n page,\n distDir,\n configFileName,\n httpAgentOptions,\n locales,\n defaultLocale,\n parentId,\n pageRuntime,\n edgeInfo,\n pageType,\n cacheComponents,\n authInterrupts,\n originalAppPath,\n isrFlushToDisk,\n cacheMaxMemorySize,\n nextConfigOutput,\n cacheHandler,\n cacheHandlers,\n cacheLifeProfiles,\n pprConfig,\n buildId,\n sriEnabled,\n}: {\n dir: string\n page: string\n distDir: string\n cacheComponents: boolean\n authInterrupts: boolean\n configFileName: string\n httpAgentOptions: NextConfigComplete['httpAgentOptions']\n locales?: readonly string[]\n defaultLocale?: string\n parentId?: any\n edgeInfo?: any\n pageType?: 'pages' | 'app'\n pageRuntime?: ServerRuntime\n originalAppPath?: string\n isrFlushToDisk?: boolean\n cacheMaxMemorySize: number\n cacheHandler?: string\n cacheHandlers?: Record<string, string | undefined>\n cacheLifeProfiles?: {\n [profile: string]: import('../server/use-cache/cache-life').CacheLife\n }\n nextConfigOutput: 'standalone' | 'export' | undefined\n pprConfig: ExperimentalPPRConfig | undefined\n buildId: string\n sriEnabled: boolean\n}): Promise<PageIsStaticResult> {\n // Skip page data collection for synthetic _global-error routes\n if (page === UNDERSCORE_GLOBAL_ERROR_ROUTE) {\n return {\n isStatic: true,\n isRoutePPREnabled: false,\n prerenderFallbackMode: undefined,\n prerenderedRoutes: undefined,\n rootParamKeys: undefined,\n hasStaticProps: false,\n hasServerProps: false,\n isNextImageImported: false,\n appConfig: {},\n }\n }\n\n await createIncrementalCache({\n cacheHandler,\n cacheHandlers,\n distDir,\n dir,\n flushToDisk: isrFlushToDisk,\n cacheMaxMemorySize,\n })\n\n const isPageStaticSpan = trace('is-page-static-utils', parentId)\n return isPageStaticSpan\n .traceAsyncFn(async (): Promise<PageIsStaticResult> => {\n setHttpClientAndAgentOptions({\n httpAgentOptions,\n })\n\n let componentsResult: LoadComponentsReturnType\n let prerenderedRoutes: PrerenderedRoute[] | undefined\n let prerenderFallbackMode: FallbackMode | undefined\n let appConfig: AppSegmentConfig = {}\n let rootParamKeys: readonly string[] | undefined\n const pathIsEdgeRuntime = isEdgeRuntime(pageRuntime)\n\n if (pathIsEdgeRuntime) {\n const runtime = await getRuntimeContext({\n paths: edgeInfo.files.map((file: string) => path.join(distDir, file)),\n edgeFunctionEntry: {\n ...edgeInfo,\n wasm: (edgeInfo.wasm ?? []).map((binding: AssetBinding) => ({\n ...binding,\n filePath: path.join(distDir, binding.filePath),\n })),\n },\n name: edgeInfo.name,\n useCache: true,\n distDir,\n })\n const mod = (\n await runtime.context._ENTRIES[`middleware_${edgeInfo.name}`]\n ).ComponentMod\n\n // This is not needed during require.\n const buildManifest = {} as BuildManifest\n\n componentsResult = {\n Component: mod.default,\n Document: mod.Document,\n App: mod.App,\n routeModule: mod.routeModule,\n page,\n ComponentMod: mod,\n pageConfig: mod.config || {},\n buildManifest,\n reactLoadableManifest: {},\n getServerSideProps: mod.getServerSideProps,\n getStaticPaths: mod.getStaticPaths,\n getStaticProps: mod.getStaticProps,\n }\n } else {\n componentsResult = await loadComponents({\n distDir,\n page: originalAppPath || page,\n isAppPath: pageType === 'app',\n isDev: false,\n sriEnabled,\n needsManifestsForLegacyReasons: true,\n })\n }\n\n const { Component, routeModule } = componentsResult\n\n const Comp = Component as NextComponentType | undefined\n\n let isRoutePPREnabled: boolean = false\n\n if (pageType === 'app') {\n // @ts-expect-error pageType is app, so we can assume AppPageModule | AppRouteModule\n const ComponentMod: AppPageModule | AppRouteModule =\n componentsResult.ComponentMod\n\n let segments: AppSegment[]\n try {\n segments = await collectSegments(\n // We know this is an app page or app route module because we\n // checked above that the page type is 'app'.\n routeModule as AppPageRouteModule | AppRouteRouteModule\n )\n } catch (err) {\n throw new Error(`Failed to collect configuration for ${page}`, {\n cause: err,\n })\n }\n\n appConfig =\n originalAppPath === UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY\n ? {}\n : reduceAppConfig(segments)\n\n if (appConfig.dynamic === 'force-static' && pathIsEdgeRuntime) {\n Log.warn(\n `Page \"${page}\" is using runtime = 'edge' which is currently incompatible with dynamic = 'force-static'. Please remove either \"runtime\" or \"force-static\" for correct behavior`\n )\n }\n\n rootParamKeys = collectRootParamKeys(routeModule)\n\n // A page supports partial prerendering if it is an app page and either\n // the whole app has PPR enabled or this page has PPR enabled when we're\n // in incremental mode.\n isRoutePPREnabled =\n routeModule.definition.kind === RouteKind.APP_PAGE &&\n checkIsRoutePPREnabled(pprConfig)\n\n // If force dynamic was set and we don't have PPR enabled, then set the\n // revalidate to 0.\n // TODO: (PPR) remove this once PPR is enabled by default\n if (appConfig.dynamic === 'force-dynamic' && !isRoutePPREnabled) {\n appConfig.revalidate = 0\n }\n\n const route = parseAppRoute(page, true)\n\n // If the page is dynamic and we're not in edge runtime, then we need to\n // build the static paths. The edge runtime doesn't support static\n // paths.\n if (route.dynamicSegments.length > 0 && !pathIsEdgeRuntime) {\n ;({ prerenderedRoutes, fallbackMode: prerenderFallbackMode } =\n await buildAppStaticPaths({\n dir,\n page,\n route,\n cacheComponents,\n authInterrupts,\n segments,\n distDir,\n requestHeaders: {},\n isrFlushToDisk,\n cacheMaxMemorySize,\n cacheHandler,\n cacheLifeProfiles,\n ComponentMod,\n nextConfigOutput,\n isRoutePPREnabled,\n buildId,\n rootParamKeys,\n }))\n }\n } else {\n if (!Comp || !isValidElementType(Comp) || typeof Comp === 'string') {\n throw new Error('INVALID_DEFAULT_EXPORT')\n }\n }\n\n const hasGetInitialProps = !!Comp?.getInitialProps\n const hasStaticProps = !!componentsResult.getStaticProps\n const hasStaticPaths = !!componentsResult.getStaticPaths\n const hasServerProps = !!componentsResult.getServerSideProps\n\n // A page cannot be prerendered _and_ define a data requirement. That's\n // contradictory!\n if (hasGetInitialProps && hasStaticProps) {\n throw new Error(SSG_GET_INITIAL_PROPS_CONFLICT)\n }\n\n if (hasGetInitialProps && hasServerProps) {\n throw new Error(SERVER_PROPS_GET_INIT_PROPS_CONFLICT)\n }\n\n if (hasStaticProps && hasServerProps) {\n throw new Error(SERVER_PROPS_SSG_CONFLICT)\n }\n\n const pageIsDynamic = isDynamicRoute(page)\n // A page cannot have static parameters if it is not a dynamic page.\n if (hasStaticProps && hasStaticPaths && !pageIsDynamic) {\n throw new Error(\n `getStaticPaths can only be used with dynamic pages, not '${page}'.` +\n `\\nLearn more: https://nextjs.org/docs/routing/dynamic-routes`\n )\n }\n\n if (hasStaticProps && pageIsDynamic && !hasStaticPaths) {\n throw new Error(\n `getStaticPaths is required for dynamic SSG pages and is missing for '${page}'.` +\n `\\nRead more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`\n )\n }\n\n if (hasStaticProps && hasStaticPaths) {\n ;({ prerenderedRoutes, fallbackMode: prerenderFallbackMode } =\n await buildPagesStaticPaths({\n page,\n locales,\n defaultLocale,\n configFileName,\n getStaticPaths: componentsResult.getStaticPaths!,\n }))\n }\n\n const isNextImageImported = (globalThis as any).__NEXT_IMAGE_IMPORTED\n\n let isStatic = false\n if (!hasStaticProps && !hasGetInitialProps && !hasServerProps) {\n isStatic = true\n }\n\n // When PPR is enabled, any route may be completely static, so\n // mark this route as static.\n if (isRoutePPREnabled) {\n isStatic = true\n }\n\n return {\n isStatic,\n isRoutePPREnabled,\n prerenderFallbackMode,\n prerenderedRoutes,\n rootParamKeys,\n hasStaticProps,\n hasServerProps,\n isNextImageImported,\n appConfig,\n }\n })\n .catch((err) => {\n if (err.message === 'INVALID_DEFAULT_EXPORT') {\n throw err\n }\n console.error(err)\n throw new Error(`Failed to collect page data for ${page}`)\n })\n}\n\ntype ReducedAppConfig = Pick<\n AppSegmentConfig,\n | 'revalidate'\n | 'dynamic'\n | 'fetchCache'\n | 'preferredRegion'\n | 'runtime'\n | 'maxDuration'\n>\n\n/**\n * Collect the app config from the generate param segments. This only gets a\n * subset of the config options.\n *\n * @param segments the generate param segments\n * @returns the reduced app config\n */\nexport function reduceAppConfig(\n segments: Pick<AppSegment, 'config'>[]\n): ReducedAppConfig {\n const config: ReducedAppConfig = {}\n\n for (const segment of segments) {\n const {\n dynamic,\n fetchCache,\n preferredRegion,\n revalidate,\n runtime,\n maxDuration,\n } = segment.config || {}\n\n // TODO: should conflicting configs here throw an error\n // e.g. if layout defines one region but page defines another\n\n if (typeof preferredRegion !== 'undefined') {\n config.preferredRegion = preferredRegion\n }\n\n if (typeof dynamic !== 'undefined') {\n config.dynamic = dynamic\n }\n\n if (typeof fetchCache !== 'undefined') {\n config.fetchCache = fetchCache\n }\n\n if (typeof revalidate !== 'undefined') {\n config.revalidate = revalidate\n }\n\n // Any revalidate number overrides false, and shorter revalidate overrides\n // longer (initially).\n if (\n typeof revalidate === 'number' &&\n (typeof config.revalidate !== 'number' || revalidate < config.revalidate)\n ) {\n config.revalidate = revalidate\n }\n\n if (typeof runtime !== 'undefined') {\n config.runtime = runtime\n }\n\n if (typeof maxDuration !== 'undefined') {\n config.maxDuration = maxDuration\n }\n }\n\n return config\n}\n\nexport async function hasCustomGetInitialProps({\n page,\n distDir,\n checkingApp,\n sriEnabled,\n}: {\n page: string\n distDir: string\n checkingApp: boolean\n sriEnabled: boolean\n}): Promise<boolean> {\n const { ComponentMod } = await loadComponents({\n distDir,\n page: page,\n isAppPath: false,\n isDev: false,\n sriEnabled,\n needsManifestsForLegacyReasons: true,\n })\n let mod = ComponentMod\n\n if (checkingApp) {\n // @ts-expect-error very dynamic code\n mod = (await mod._app) || mod.default || mod\n } else {\n // @ts-expect-error very dynamic code\n mod = mod.default || mod\n }\n mod = await mod\n // @ts-expect-error very dynamic code\n return mod.getInitialProps !== mod.origGetInitialProps\n}\n\nexport async function getDefinedNamedExports({\n page,\n distDir,\n sriEnabled,\n}: {\n page: string\n distDir: string\n sriEnabled: boolean\n}): Promise<ReadonlyArray<string>> {\n const { ComponentMod } = await loadComponents({\n distDir,\n page: page,\n isAppPath: false,\n isDev: false,\n sriEnabled,\n needsManifestsForLegacyReasons: true,\n })\n\n return Object.keys(ComponentMod).filter((key) => {\n return typeof ComponentMod[key as keyof typeof ComponentMod] !== 'undefined'\n })\n}\n\nexport function detectConflictingPaths(\n combinedPages: string[],\n ssgPages: Set<string>,\n additionalGeneratedSSGPaths: Map<string, string[]>\n) {\n const conflictingPaths = new Map<\n string,\n Array<{\n path: string\n page: string\n }>\n >()\n\n const dynamicSsgPages = [...ssgPages].filter((page) => isDynamicRoute(page))\n const additionalSsgPathsByPath: {\n [page: string]: { [path: string]: string }\n } = {}\n\n additionalGeneratedSSGPaths.forEach((paths, pathsPage) => {\n additionalSsgPathsByPath[pathsPage] ||= {}\n paths.forEach((curPath) => {\n const currentPath = curPath.toLowerCase()\n additionalSsgPathsByPath[pathsPage][currentPath] = curPath\n })\n })\n\n additionalGeneratedSSGPaths.forEach((paths, pathsPage) => {\n paths.forEach((curPath) => {\n const lowerPath = curPath.toLowerCase()\n let conflictingPage = combinedPages.find(\n (page) => page.toLowerCase() === lowerPath\n )\n\n if (conflictingPage) {\n conflictingPaths.set(lowerPath, [\n { path: curPath, page: pathsPage },\n { path: conflictingPage, page: conflictingPage },\n ])\n } else {\n let conflictingPath: string | undefined\n\n conflictingPage = dynamicSsgPages.find((page) => {\n if (page === pathsPage) return false\n\n conflictingPath =\n additionalGeneratedSSGPaths.get(page) == null\n ? undefined\n : additionalSsgPathsByPath[page][lowerPath]\n return conflictingPath\n })\n\n if (conflictingPage && conflictingPath) {\n conflictingPaths.set(lowerPath, [\n { path: curPath, page: pathsPage },\n { path: conflictingPath, page: conflictingPage },\n ])\n }\n }\n })\n })\n\n if (conflictingPaths.size > 0) {\n let conflictingPathsOutput = ''\n\n conflictingPaths.forEach((pathItems) => {\n pathItems.forEach((pathItem, idx) => {\n const isDynamic = pathItem.page !== pathItem.path\n\n if (idx > 0) {\n conflictingPathsOutput += 'conflicts with '\n }\n\n conflictingPathsOutput += `path: \"${pathItem.path}\"${\n isDynamic ? ` from page: \"${pathItem.page}\" ` : ' '\n }`\n })\n conflictingPathsOutput += '\\n'\n })\n\n Log.error(\n 'Conflicting paths returned from getStaticPaths, paths must be unique per page.\\n' +\n 'See more info here: https://nextjs.org/docs/messages/conflicting-ssg-paths\\n\\n' +\n conflictingPathsOutput\n )\n process.exit(1)\n }\n}\n\nexport async function copyTracedFiles(\n dir: string,\n distDir: string,\n pageKeys: readonly string[],\n appPageKeys: readonly string[] | undefined,\n tracingRoot: string,\n serverConfig: NextConfigRuntime,\n middlewareManifest: MiddlewareManifest,\n hasNodeMiddleware: boolean,\n hasInstrumentationHook: boolean,\n staticPages: Set<string>\n) {\n const outputPath = path.join(distDir, 'standalone')\n\n // Clean up standalone directory first.\n await fs.rm(outputPath, { recursive: true, force: true })\n\n let moduleType = false\n const nextConfig = {\n ...serverConfig,\n distDir: `./${path.relative(dir, distDir)}`,\n }\n try {\n const packageJsonPath = path.join(distDir, '../package.json')\n const packageJsonContent = await fs.readFile(packageJsonPath, 'utf8')\n const packageJson = JSON.parse(packageJsonContent)\n moduleType = packageJson.type === 'module'\n\n // we always copy the package.json to the standalone\n // folder to ensure any resolving logic is maintained\n const packageJsonOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, dir),\n 'package.json'\n )\n await fs.mkdir(path.dirname(packageJsonOutputPath), { recursive: true })\n await fs.writeFile(packageJsonOutputPath, packageJsonContent)\n } catch {}\n const copiedFiles = new Set()\n\n async function handleTraceFiles(traceFilePath: string) {\n const traceData = JSON.parse(await fs.readFile(traceFilePath, 'utf8')) as {\n files: string[]\n }\n const copySema = new Sema(10, { capacity: traceData.files.length })\n const traceFileDir = path.dirname(traceFilePath)\n\n await Promise.all(\n traceData.files.map(async (relativeFile) => {\n await copySema.acquire()\n\n const tracedFilePath = path.join(traceFileDir, relativeFile)\n const fileOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, tracedFilePath)\n )\n\n if (!copiedFiles.has(fileOutputPath)) {\n copiedFiles.add(fileOutputPath)\n\n await fs.mkdir(path.dirname(fileOutputPath), { recursive: true })\n const symlink = await fs.readlink(tracedFilePath).catch(() => null)\n\n if (symlink) {\n try {\n await fs.symlink(symlink, fileOutputPath)\n } catch (err: any) {\n // Windows doesn't support creating symlinks without elevated privileges, unless\n // \"Developer Mode\" is turned on. If we failed to crate a symlink due to EPERM, try\n // creating a junction point instead.\n //\n // Ideally we'd just preserve the input file type (junction point or symlink), but\n // there's no API in node.js to differentiate between a junction point and a symlink,\n // so we just try making a symlink first. Symlinks are preferred because they support\n // relative paths and non-directory (file) targets.\n if (\n process.platform === 'win32' &&\n err.code === 'EPERM' &&\n path.isAbsolute(symlink)\n ) {\n try {\n await fs.symlink(symlink, fileOutputPath, 'junction')\n } catch (junctionErr: any) {\n if (junctionErr.code !== 'EEXIST') {\n throw junctionErr\n }\n }\n } else if (err.code !== 'EEXIST') {\n throw err\n }\n }\n } else {\n await fs.copyFile(tracedFilePath, fileOutputPath)\n }\n }\n\n await copySema.release()\n })\n )\n }\n\n async function handleEdgeFunction(page: EdgeFunctionDefinition) {\n async function handleFile(file: string) {\n const originalPath = path.join(distDir, file)\n const fileOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, distDir),\n file\n )\n await fs.mkdir(path.dirname(fileOutputPath), { recursive: true })\n await fs.copyFile(originalPath, fileOutputPath)\n }\n await Promise.all([\n page.files.map(handleFile),\n page.wasm?.map((file) => handleFile(file.filePath)),\n page.assets?.map((file) => handleFile(file.filePath)),\n ])\n }\n\n const edgeFunctionHandlers: Promise<any>[] = []\n\n for (const middleware of Object.values(middlewareManifest.middleware)) {\n if (isMiddlewareFilename(middleware.name)) {\n edgeFunctionHandlers.push(handleEdgeFunction(middleware))\n }\n }\n\n for (const page of Object.values(middlewareManifest.functions)) {\n edgeFunctionHandlers.push(handleEdgeFunction(page))\n }\n\n await Promise.all(edgeFunctionHandlers)\n\n for (const page of pageKeys) {\n if (middlewareManifest.functions.hasOwnProperty(page)) {\n continue\n }\n const route = normalizePagePath(page)\n\n if (staticPages.has(route)) {\n continue\n }\n\n const pageFile = path.join(\n distDir,\n 'server',\n 'pages',\n `${normalizePagePath(page)}.js`\n )\n const pageTraceFile = `${pageFile}.nft.json`\n await handleTraceFiles(pageTraceFile).catch((err) => {\n if (err.code !== 'ENOENT' || (page !== '/404' && page !== '/500')) {\n Log.warn(`Failed to copy traced files for ${pageFile}`, err)\n }\n })\n }\n\n if (hasNodeMiddleware) {\n const middlewareFile = path.join(distDir, 'server', 'middleware.js')\n const middlewareTrace = `${middlewareFile}.nft.json`\n await handleTraceFiles(middlewareTrace)\n }\n\n if (appPageKeys) {\n for (const page of appPageKeys) {\n if (middlewareManifest.functions.hasOwnProperty(page)) {\n continue\n }\n const pageFile = path.join(distDir, 'server', 'app', `${page}.js`)\n const pageTraceFile = `${pageFile}.nft.json`\n await handleTraceFiles(pageTraceFile).catch((err) => {\n Log.warn(`Failed to copy traced files for ${pageFile}`, err)\n })\n }\n }\n\n if (hasInstrumentationHook) {\n await handleTraceFiles(\n path.join(distDir, 'server', 'instrumentation.js.nft.json')\n )\n }\n\n await handleTraceFiles(path.join(distDir, 'next-server.js.nft.json'))\n const serverOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, dir),\n 'server.js'\n )\n await fs.mkdir(path.dirname(serverOutputPath), { recursive: true })\n\n await fs.writeFile(\n serverOutputPath,\n `${\n moduleType\n ? `performance.mark('next-start');\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport module from 'node:module'\nconst require = module.createRequire(import.meta.url)\nconst __dirname = fileURLToPath(new URL('.', import.meta.url))\n`\n : `const path = require('path')`\n }\n\nconst dir = path.join(__dirname)\n\nprocess.env.NODE_ENV = 'production'\nprocess.chdir(__dirname)\n\nconst currentPort = parseInt(process.env.PORT, 10) || 3000\nconst hostname = process.env.HOSTNAME || '0.0.0.0'\n\nlet keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)\nconst nextConfig = ${JSON.stringify(nextConfig)}\n\nprocess.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)\n\nrequire('next')\nconst { startServer } = require('next/dist/server/lib/start-server')\n\nif (\n Number.isNaN(keepAliveTimeout) ||\n !Number.isFinite(keepAliveTimeout) ||\n keepAliveTimeout < 0\n) {\n keepAliveTimeout = undefined\n}\n\nstartServer({\n dir,\n isDev: false,\n config: nextConfig,\n hostname,\n port: currentPort,\n allowRetry: false,\n keepAliveTimeout,\n}).catch((err) => {\n console.error(err);\n process.exit(1);\n});`\n )\n}\n\nexport function isReservedPage(page: string) {\n return RESERVED_PAGE.test(page)\n}\n\nexport function isAppBuiltinPage(page: string) {\n return /next[\\\\/]dist[\\\\/](esm[\\\\/])?client[\\\\/]components[\\\\/]builtin[\\\\/]/.test(\n page\n )\n}\n\nexport function isCustomErrorPage(page: string) {\n return page === '/404' || page === '/500'\n}\n\nexport function isMiddlewareFile(file: string) {\n return (\n file === `/${MIDDLEWARE_FILENAME}` ||\n file === `/src/${MIDDLEWARE_FILENAME}` ||\n file === `/${PROXY_FILENAME}` ||\n file === `/src/${PROXY_FILENAME}`\n )\n}\n\nexport function isProxyFile(file: string) {\n return file === `/${PROXY_FILENAME}` || file === `/src/${PROXY_FILENAME}`\n}\n\nexport function isInstrumentationHookFile(file: string) {\n return (\n file === `/${INSTRUMENTATION_HOOK_FILENAME}` ||\n file === `/src/${INSTRUMENTATION_HOOK_FILENAME}`\n )\n}\n\nexport function getPossibleInstrumentationHookFilenames(\n folder: string,\n extensions: string[]\n) {\n const files = []\n for (const extension of extensions) {\n files.push(\n path.join(folder, `${INSTRUMENTATION_HOOK_FILENAME}.${extension}`),\n path.join(folder, `src`, `${INSTRUMENTATION_HOOK_FILENAME}.${extension}`)\n )\n }\n\n return files\n}\n\nexport function getPossibleMiddlewareFilenames(\n folder: string,\n extensions: string[]\n) {\n return extensions.flatMap((extension) => [\n path.join(folder, `${MIDDLEWARE_FILENAME}.${extension}`),\n path.join(folder, `${PROXY_FILENAME}.${extension}`),\n ])\n}\n\nexport class NestedMiddlewareError extends Error {\n constructor(\n nestedFileNames: string[],\n mainDir: string,\n pagesOrAppDir: string\n ) {\n super(\n `Nested Middleware is not allowed, found:\\n` +\n `${nestedFileNames.map((file) => `pages${file}`).join('\\n')}\\n` +\n `Please move your code to a single file at ${path.join(\n path.posix.sep,\n path.relative(mainDir, path.resolve(pagesOrAppDir, '..')),\n 'middleware'\n )} instead.\\n` +\n `Read More - https://nextjs.org/docs/messages/nested-middleware`\n )\n }\n}\n\nexport function getSupportedBrowsers(\n dir: string,\n isDevelopment: boolean\n): string[] {\n let browsers: any\n try {\n const browsersListConfig = browserslist.loadConfig({\n path: dir,\n env: isDevelopment ? 'development' : 'production',\n })\n // Running `browserslist` resolves `extends` and other config features into a list of browsers\n if (browsersListConfig && browsersListConfig.length > 0) {\n browsers = browserslist(browsersListConfig)\n }\n } catch {}\n\n // When user has browserslist use that target\n if (browsers && browsers.length > 0) {\n return browsers\n }\n\n // Uses modern browsers as the default.\n return MODERN_BROWSERSLIST_TARGET\n}\n\nexport function shouldUseReactServerCondition(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(\n layer && WEBPACK_LAYERS.GROUP.serverOnly.includes(layer as any)\n )\n}\n\nexport function isWebpackClientOnlyLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(\n layer && WEBPACK_LAYERS.GROUP.clientOnly.includes(layer as any)\n )\n}\n\nexport function isWebpackDefaultLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return (\n layer === null ||\n layer === undefined ||\n layer === WEBPACK_LAYERS.pagesDirBrowser ||\n layer === WEBPACK_LAYERS.pagesDirEdge ||\n layer === WEBPACK_LAYERS.pagesDirNode\n )\n}\n\nexport function isWebpackBundledLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(layer && WEBPACK_LAYERS.GROUP.bundled.includes(layer as any))\n}\n\nexport function isWebpackAppPagesLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(layer && WEBPACK_LAYERS.GROUP.appPages.includes(layer as any))\n}\n\nexport function collectMeta({\n status,\n headers,\n}: {\n status?: number\n headers?: OutgoingHttpHeaders\n}): {\n status?: number\n headers?: Record<string, string>\n} {\n const meta: {\n status?: number\n headers?: Record<string, string>\n } = {}\n\n if (status !== 200) {\n meta.status = status\n }\n\n if (headers && Object.keys(headers).length) {\n meta.headers = {}\n\n // normalize header values as initialHeaders\n // must be Record<string, string>\n for (const key in headers) {\n // set-cookie is already handled - the middleware cookie setting case\n // isn't needed for the prerender manifest since it can't read cookies\n if (key === 'x-middleware-set-cookie') continue\n\n let value = headers[key]\n\n if (Array.isArray(value)) {\n if (key === 'set-cookie') {\n value = value.join(',')\n } else {\n value = value[value.length - 1]\n }\n }\n\n if (typeof value === 'string') {\n meta.headers[key] = value\n }\n }\n }\n\n return meta\n}\n\nexport const RSPACK_DEFAULT_LAYERS_REGEX = new RegExp(\n `^(|${[WEBPACK_LAYERS.pagesDirBrowser, WEBPACK_LAYERS.pagesDirEdge, WEBPACK_LAYERS.pagesDirNode].join('|')})$`\n)\n\n/**\n * Converts a page to a manifest route.\n *\n * @param page The page to convert to a route.\n * @returns A route object.\n */\nexport function pageToRoute(page: string): ManifestRoute\n/**\n * Converts a page to a dynamic manifest route.\n *\n * @param page The page to convert to a route.\n * @param sourcePage The source page that this route is based on. This is used\n * to determine the source page for the route and is only relevant for app\n * pages when PPR is enabled on them.\n * @returns A route object.\n */\nexport function pageToRoute(\n page: string,\n sourcePage: string | undefined\n): DynamicManifestRoute\nexport function pageToRoute(\n page: string,\n sourcePage?: string\n): DynamicManifestRoute | ManifestRoute {\n const routeRegex = getNamedRouteRegex(page, {\n prefixRouteKeys: true,\n })\n return {\n sourcePage,\n page,\n regex: normalizeRouteRegex(routeRegex.re.source),\n routeKeys: routeRegex.routeKeys,\n namedRegex: routeRegex.namedRegex,\n }\n}\n"],"names":["NestedMiddlewareError","RSPACK_DEFAULT_LAYERS_REGEX","collectMeta","collectRoutesUsingEdgeRuntime","copyTracedFiles","detectConflictingPaths","difference","getDefinedNamedExports","getPossibleInstrumentationHookFilenames","getPossibleMiddlewareFilenames","getSupportedBrowsers","hasCustomGetInitialProps","isAppBuiltinPage","isCustomErrorPage","isInstrumentationHookFile","isInstrumentationHookFilename","isMiddlewareFile","isMiddlewareFilename","isPageStatic","isProxyFile","isReservedPage","isWebpackAppPagesLayer","isWebpackBundledLayer","isWebpackClientOnlyLayer","isWebpackDefaultLayer","pageToRoute","printBuildErrors","printCustomRoutes","printTreeView","reduceAppConfig","shouldUseReactServerCondition","unique","print","console","log","RESERVED_PAGE","main","sub","Set","a","b","filter","x","has","file","MIDDLEWARE_FILENAME","PROXY_FILENAME","INSTRUMENTATION_HOOK_FILENAME","filterAndSortList","list","routeType","hasCustomApp","pages","e","slice","sort","localeCompare","input","routesUsingEdgeRuntime","route","info","entries","isEdgeRuntime","runtime","entrypoints","isDev","topLevelFatalIssues","topLevelErrors","topLevelWarnings","seenFatalIssues","seenErrors","seenWarnings","issue","issues","severity","formatted","formatIssue","add","push","isRelevantWarning","length","warn","join","error","Error","lists","pageInfos","pagesDir","pageExtensions","middlewareManifest","functionsConfigManifest","useStaticPages404","hasGSPAndRevalidateZero","MIN_DURATION","process","env","__NEXT_PRIVATE_DETERMINISTIC_BUILD_OUTPUT","Infinity","getPrettyDuration","_duration","duration","green","yellow","red","bold","findPageFile","usedSymbols","messages","printFileTree","routerType","filteredPages","showRevalidate","showExpire","page","cacheControl","get","initialCacheControl","revalidate","expire","entry","map","underline","forEach","item","i","arr","pageInfo","border","totalDuration","pageDuration","ssgPageDurations","reduce","symbol","isRoutePPREnabled","hasEmptyStaticShell","isDynamicAppRoute","hasPostponed","isStatic","isSSG","formatRevalidate","formatExpire","ssgPageRoutes","totalRoutes","contSymbol","routes","some","d","previewPages","Math","min","routesWithDuration","idx","remainingRoutes","remaining","avgDuration","round","total","index","innerSymbol","app","set","includes","UNDERSCORE_NOT_FOUND_ROUTE","middleware","files","functions","textTable","align","stringLength","str","stripAnsi","staticFunctionInfo","cyan","redirects","rewrites","headers","printRoutes","type","isRedirects","isHeaders","routesStr","routeStr","source","r","destination","statusCode","permanent","header","last","key","value","combinedRewrites","beforeFiles","afterFiles","fallback","dir","distDir","configFileName","httpAgentOptions","locales","defaultLocale","parentId","pageRuntime","edgeInfo","pageType","cacheComponents","authInterrupts","originalAppPath","isrFlushToDisk","cacheMaxMemorySize","nextConfigOutput","cacheHandler","cacheHandlers","cacheLifeProfiles","pprConfig","buildId","sriEnabled","UNDERSCORE_GLOBAL_ERROR_ROUTE","prerenderFallbackMode","undefined","prerenderedRoutes","rootParamKeys","hasStaticProps","hasServerProps","isNextImageImported","appConfig","createIncrementalCache","flushToDisk","isPageStaticSpan","trace","traceAsyncFn","setHttpClientAndAgentOptions","componentsResult","pathIsEdgeRuntime","getRuntimeContext","paths","path","edgeFunctionEntry","wasm","binding","filePath","name","useCache","mod","context","_ENTRIES","ComponentMod","buildManifest","Component","default","Document","App","routeModule","pageConfig","config","reactLoadableManifest","getServerSideProps","getStaticPaths","getStaticProps","loadComponents","isAppPath","needsManifestsForLegacyReasons","Comp","segments","collectSegments","err","cause","UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY","dynamic","Log","collectRootParamKeys","definition","kind","RouteKind","APP_PAGE","checkIsRoutePPREnabled","parseAppRoute","dynamicSegments","fallbackMode","buildAppStaticPaths","requestHeaders","isValidElementType","hasGetInitialProps","getInitialProps","hasStaticPaths","SSG_GET_INITIAL_PROPS_CONFLICT","SERVER_PROPS_GET_INIT_PROPS_CONFLICT","SERVER_PROPS_SSG_CONFLICT","pageIsDynamic","isDynamicRoute","buildPagesStaticPaths","globalThis","__NEXT_IMAGE_IMPORTED","catch","message","segment","fetchCache","preferredRegion","maxDuration","checkingApp","_app","origGetInitialProps","Object","keys","combinedPages","ssgPages","additionalGeneratedSSGPaths","conflictingPaths","Map","dynamicSsgPages","additionalSsgPathsByPath","pathsPage","curPath","currentPath","toLowerCase","lowerPath","conflictingPage","find","conflictingPath","size","conflictingPathsOutput","pathItems","pathItem","isDynamic","exit","pageKeys","appPageKeys","tracingRoot","serverConfig","hasNodeMiddleware","hasInstrumentationHook","staticPages","outputPath","fs","rm","recursive","force","moduleType","nextConfig","relative","packageJsonPath","packageJsonContent","readFile","packageJson","JSON","parse","packageJsonOutputPath","mkdir","dirname","writeFile","copiedFiles","handleTraceFiles","traceFilePath","traceData","copySema","Sema","capacity","traceFileDir","Promise","all","relativeFile","acquire","tracedFilePath","fileOutputPath","symlink","readlink","platform","code","isAbsolute","junctionErr","copyFile","release","handleEdgeFunction","handleFile","originalPath","assets","edgeFunctionHandlers","values","hasOwnProperty","normalizePagePath","pageFile","pageTraceFile","middlewareFile","middlewareTrace","serverOutputPath","stringify","test","folder","extensions","extension","flatMap","constructor","nestedFileNames","mainDir","pagesOrAppDir","posix","sep","resolve","isDevelopment","browsers","browsersListConfig","browserslist","loadConfig","MODERN_BROWSERSLIST_TARGET","layer","Boolean","WEBPACK_LAYERS","GROUP","serverOnly","clientOnly","pagesDirBrowser","pagesDirEdge","pagesDirNode","bundled","appPages","status","meta","Array","isArray","RegExp","sourcePage","routeRegex","getNamedRouteRegex","prefixRouteKeys","regex","normalizeRouteRegex","re","routeKeys","namedRegex"],"mappings":"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","ignoreList":[0]}
|
|
1
|
+
{"version":3,"sources":["../../src/build/utils.ts"],"sourcesContent":["import type {\n NextConfigComplete,\n NextConfigRuntime,\n} from '../server/config-shared'\nimport type { ExperimentalPPRConfig } from '../server/lib/experimental/ppr'\nimport { checkIsRoutePPREnabled } from '../server/lib/experimental/ppr'\nimport type { AssetBinding } from './webpack/loaders/get-module-build-info'\nimport type { ServerRuntime } from '../types'\nimport type { BuildManifest } from '../server/get-page-files'\nimport {\n normalizeRouteRegex,\n type CustomRoutes,\n type Header,\n type Redirect,\n type Rewrite,\n} from '../lib/load-custom-routes'\nimport type {\n EdgeFunctionDefinition,\n MiddlewareManifest,\n} from './webpack/plugins/middleware-plugin'\nimport type { WebpackLayerName } from '../lib/constants'\nimport {\n INSTRUMENTATION_HOOK_FILENAME,\n MIDDLEWARE_FILENAME,\n SERVER_PROPS_GET_INIT_PROPS_CONFLICT,\n SERVER_PROPS_SSG_CONFLICT,\n SSG_GET_INITIAL_PROPS_CONFLICT,\n WEBPACK_LAYERS,\n PROXY_FILENAME,\n} from '../lib/constants'\nimport type {\n AppPageModule,\n AppPageRouteModule,\n} from '../server/route-modules/app-page/module'\nimport type { NextComponentType } from '../shared/lib/utils'\n\nimport '../server/require-hook'\nimport '../server/node-polyfill-crypto'\nimport '../server/node-environment'\n\nimport { bold, cyan, green, red, underline, yellow } from '../lib/picocolors'\nimport textTable from 'next/dist/compiled/text-table'\nimport path from 'path'\nimport { promises as fs } from 'fs'\nimport { isValidElementType } from 'next/dist/compiled/react-is'\nimport stripAnsi from 'next/dist/compiled/strip-ansi'\nimport browserslist from 'next/dist/compiled/browserslist'\nimport {\n MODERN_BROWSERSLIST_TARGET,\n UNDERSCORE_GLOBAL_ERROR_ROUTE,\n UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY,\n UNDERSCORE_NOT_FOUND_ROUTE,\n} from '../shared/lib/constants'\nimport { isDynamicRoute } from '../shared/lib/router/utils/is-dynamic'\nimport { findPageFile } from '../server/lib/find-page-file'\nimport { isEdgeRuntime } from '../lib/is-edge-runtime'\nimport * as Log from './output/log'\nimport type { LoadComponentsReturnType } from '../server/load-components'\nimport { loadComponents } from '../server/load-components'\nimport { trace } from '../trace'\nimport { setHttpClientAndAgentOptions } from '../server/setup-http-agent-env'\nimport { Sema } from 'next/dist/compiled/async-sema'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\nimport { getRuntimeContext } from '../server/web/sandbox'\nimport { RouteKind } from '../server/route-kind'\nimport type { PageExtensions } from './page-extensions-type'\nimport type { FallbackMode } from '../lib/fallback'\nimport type { OutgoingHttpHeaders } from 'http'\nimport type { AppSegmentConfig } from './segment-config/app/app-segment-config'\nimport type { AppSegment } from './segment-config/app/app-segments'\nimport { collectSegments } from './segment-config/app/app-segments'\nimport { createIncrementalCache } from '../export/helpers/create-incremental-cache'\nimport { collectRootParamKeys } from './segment-config/app/collect-root-param-keys'\nimport { buildAppStaticPaths } from './static-paths/app'\nimport { buildPagesStaticPaths } from './static-paths/pages'\nimport type { PrerenderedRoute } from './static-paths/types'\nimport type { CacheControl } from '../server/lib/cache-control'\nimport { formatExpire, formatRevalidate } from './output/format'\nimport type {\n AppRouteModule,\n AppRouteRouteModule,\n} from '../server/route-modules/app-route/module'\nimport { formatIssue, isRelevantWarning } from '../shared/lib/turbopack/utils'\nimport type { TurbopackResult } from './swc/types'\nimport type { FunctionsConfigManifest, ManifestRoute } from './index'\nimport { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex'\nimport { parseAppRoute } from '../shared/lib/router/routes/app'\n\nexport type ROUTER_TYPE = 'pages' | 'app'\n\nexport type DynamicManifestRoute = ManifestRoute & {\n /**\n * The source page that this route is based on. This is used to determine the\n * source page for the route and is only relevant for app pages where PPR is\n * enabled and the page differs from the source page.\n */\n sourcePage: string | undefined\n}\n\n// Use `print()` for expected console output\nconst print = console.log\n\nconst RESERVED_PAGE = /^\\/(_app|_error|_document|api(\\/|$))/\n\nexport function unique<T>(main: ReadonlyArray<T>, sub: ReadonlyArray<T>): T[] {\n return [...new Set([...main, ...sub])]\n}\n\nexport function difference<T>(\n main: ReadonlyArray<T> | ReadonlySet<T>,\n sub: ReadonlyArray<T> | ReadonlySet<T>\n): T[] {\n const a = new Set(main)\n const b = new Set(sub)\n return [...a].filter((x) => !b.has(x))\n}\n\nexport function isMiddlewareFilename(file?: string | null) {\n return (\n file === MIDDLEWARE_FILENAME ||\n file === `src/${MIDDLEWARE_FILENAME}` ||\n file === PROXY_FILENAME ||\n file === `src/${PROXY_FILENAME}`\n )\n}\n\nexport function isInstrumentationHookFilename(file?: string | null) {\n return (\n file === INSTRUMENTATION_HOOK_FILENAME ||\n file === `src/${INSTRUMENTATION_HOOK_FILENAME}`\n )\n}\n\nconst filterAndSortList = (\n list: ReadonlyArray<string>,\n routeType: ROUTER_TYPE,\n hasCustomApp: boolean\n) => {\n let pages: string[]\n if (routeType === 'app') {\n // filter out static app route of /favicon.ico and /_global-error\n pages = list.filter((e) => {\n if (e === '/favicon.ico') return false\n // Hide static /_global-error from build output\n if (e === '/_global-error') return false\n return true\n })\n } else {\n // filter built-in pages\n pages = list\n .slice()\n .filter(\n (e) =>\n !(\n e === '/_document' ||\n e === '/_error' ||\n (!hasCustomApp && e === '/_app')\n )\n )\n }\n return pages.sort((a, b) => a.localeCompare(b))\n}\n\nexport interface PageInfo {\n originalAppPath: string | undefined\n isStatic: boolean\n isSSG: boolean\n /**\n * If true, it means that the route has partial prerendering enabled.\n */\n isRoutePPREnabled: boolean\n ssgPageRoutes: string[] | null\n initialCacheControl: CacheControl | undefined\n pageDuration: number | undefined\n ssgPageDurations: number[] | undefined\n runtime: ServerRuntime\n hasEmptyStaticShell?: boolean\n hasPostponed?: boolean\n isDynamicAppRoute?: boolean\n}\n\nexport type PageInfos = Map<string, PageInfo>\n\nexport interface RoutesUsingEdgeRuntime {\n [route: string]: 0\n}\n\nexport function collectRoutesUsingEdgeRuntime(\n input: PageInfos\n): RoutesUsingEdgeRuntime {\n const routesUsingEdgeRuntime: RoutesUsingEdgeRuntime = {}\n for (const [route, info] of input.entries()) {\n if (isEdgeRuntime(info.runtime)) {\n routesUsingEdgeRuntime[route] = 0\n }\n }\n\n return routesUsingEdgeRuntime\n}\n\n/**\n * Processes and categorizes build issues, then logs them as warnings, errors, or fatal errors.\n * Stops execution if fatal issues are encountered.\n *\n * @param entrypoints - The result object containing build issues to process.\n * @param isDev - A flag indicating if the build is running in development mode.\n * @return This function does not return a value but logs or throws errors based on the issues.\n * @throws {Error} If a fatal issue is encountered, this function throws an error. In development mode, we only throw on\n * 'fatal' and 'bug' issues. In production mode, we also throw on 'error' issues.\n */\nexport function printBuildErrors(\n entrypoints: TurbopackResult,\n isDev: boolean\n): void {\n // Issues that we want to stop the server from executing\n const topLevelFatalIssues = []\n // Issues that are true errors, but we believe we can keep running and allow the user to address the issue\n const topLevelErrors = []\n // Issues that are warnings but should not affect the running of the build\n const topLevelWarnings = []\n\n // Track seen formatted error messages to avoid duplicates\n const seenFatalIssues = new Set<string>()\n const seenErrors = new Set<string>()\n const seenWarnings = new Set<string>()\n\n for (const issue of entrypoints.issues) {\n // We only want to completely shut down the server\n if (issue.severity === 'fatal' || issue.severity === 'bug') {\n const formatted = formatIssue(issue)\n if (!seenFatalIssues.has(formatted)) {\n seenFatalIssues.add(formatted)\n topLevelFatalIssues.push(formatted)\n }\n } else if (isRelevantWarning(issue)) {\n const formatted = formatIssue(issue)\n if (!seenWarnings.has(formatted)) {\n seenWarnings.add(formatted)\n topLevelWarnings.push(formatted)\n }\n } else if (issue.severity === 'error') {\n const formatted = formatIssue(issue)\n if (isDev) {\n // We want to treat errors as recoverable in development\n // so that we can show the errors in the site and allow users\n // to respond to the errors when necessary. In production builds\n // though we want to error out and stop the build process.\n if (!seenErrors.has(formatted)) {\n seenErrors.add(formatted)\n topLevelErrors.push(formatted)\n }\n } else {\n if (!seenFatalIssues.has(formatted)) {\n seenFatalIssues.add(formatted)\n topLevelFatalIssues.push(formatted)\n }\n }\n }\n }\n // TODO: print in order by source location so issues from the same file are displayed together and then add a summary at the end about the number of warnings/errors\n if (topLevelWarnings.length > 0) {\n console.warn(\n `Turbopack build encountered ${\n topLevelWarnings.length\n } warnings:\\n${topLevelWarnings.join('\\n')}`\n )\n }\n\n if (topLevelErrors.length > 0) {\n console.error(\n `Turbopack build encountered ${\n topLevelErrors.length\n } errors:\\n${topLevelErrors.join('\\n')}`\n )\n }\n\n if (topLevelFatalIssues.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelFatalIssues.length\n } errors:\\n${topLevelFatalIssues.join('\\n')}`\n )\n }\n}\n\nexport async function printTreeView(\n lists: {\n pages: ReadonlyArray<string>\n app: ReadonlyArray<string> | undefined\n },\n pageInfos: Map<string, PageInfo>,\n {\n pagesDir,\n pageExtensions,\n middlewareManifest,\n functionsConfigManifest,\n useStaticPages404,\n hasGSPAndRevalidateZero,\n }: {\n pagesDir?: string\n pageExtensions: PageExtensions\n buildManifest: BuildManifest\n middlewareManifest: MiddlewareManifest\n functionsConfigManifest: FunctionsConfigManifest\n useStaticPages404: boolean\n hasGSPAndRevalidateZero: Set<string>\n }\n) {\n // Can be overridden for test purposes to omit the build duration output.\n const MIN_DURATION = process.env.__NEXT_PRIVATE_DETERMINISTIC_BUILD_OUTPUT\n ? Infinity // Don't ever log build durations.\n : 300\n\n const getPrettyDuration = (_duration: number): string => {\n const duration = `${_duration} ms`\n // green for 300-1000ms\n if (_duration < 1000) return green(duration)\n // yellow for 1000-2000ms\n if (_duration < 2000) return yellow(duration)\n // red for >= 2000ms\n return red(bold(duration))\n }\n\n // Check if we have a custom app.\n const hasCustomApp = !!(\n pagesDir && (await findPageFile(pagesDir, '/_app', pageExtensions, false))\n )\n\n // Collect all the symbols we use so we can print the icons out.\n const usedSymbols = new Set()\n\n const messages: string[][] = []\n\n const printFileTree = async ({\n list,\n routerType,\n }: {\n list: ReadonlyArray<string>\n routerType: ROUTER_TYPE\n }) => {\n const filteredPages = filterAndSortList(list, routerType, hasCustomApp)\n if (filteredPages.length === 0) {\n return\n }\n\n let showRevalidate = false\n let showExpire = false\n\n for (const page of filteredPages) {\n const cacheControl = pageInfos.get(page)?.initialCacheControl\n\n if (cacheControl?.revalidate) {\n showRevalidate = true\n }\n\n if (cacheControl?.expire) {\n showExpire = true\n }\n\n if (showRevalidate && showExpire) {\n break\n }\n }\n\n messages.push(\n [\n routerType === 'app' ? 'Route (app)' : 'Route (pages)',\n showRevalidate ? 'Revalidate' : '',\n showExpire ? 'Expire' : '',\n ]\n .filter((entry) => entry !== '')\n .map((entry) => underline(entry))\n )\n\n filteredPages.forEach((item, i, arr) => {\n const border =\n i === 0\n ? arr.length === 1\n ? '─'\n : '┌'\n : i === arr.length - 1\n ? '└'\n : '├'\n\n const pageInfo = pageInfos.get(item)\n const totalDuration =\n (pageInfo?.pageDuration || 0) +\n (pageInfo?.ssgPageDurations?.reduce((a, b) => a + (b || 0), 0) || 0)\n\n let symbol: string\n\n if (item === '/_app' || item === '/_app.server') {\n symbol = ' '\n } else if (isEdgeRuntime(pageInfo?.runtime)) {\n symbol = 'ƒ'\n } else if (pageInfo?.isRoutePPREnabled) {\n if (\n // If the page has an empty static shell, then it's equivalent to a\n // dynamic page\n pageInfo?.hasEmptyStaticShell ||\n // ensure we don't mark dynamic paths that postponed as being dynamic\n // since in this case we're able to partially prerender it\n (pageInfo.isDynamicAppRoute && !pageInfo.hasPostponed)\n ) {\n symbol = 'ƒ'\n } else if (!pageInfo?.hasPostponed) {\n symbol = '○'\n } else {\n symbol = '◐'\n }\n } else if (pageInfo?.isStatic) {\n symbol = '○'\n } else if (pageInfo?.isSSG) {\n symbol = '●'\n } else {\n symbol = 'ƒ'\n }\n\n if (hasGSPAndRevalidateZero.has(item)) {\n usedSymbols.add('ƒ')\n messages.push([\n `${border} ƒ ${item}${\n totalDuration > MIN_DURATION\n ? ` (${getPrettyDuration(totalDuration)})`\n : ''\n }`,\n showRevalidate && pageInfo?.initialCacheControl\n ? formatRevalidate(pageInfo.initialCacheControl)\n : '',\n showExpire && pageInfo?.initialCacheControl\n ? formatExpire(pageInfo.initialCacheControl)\n : '',\n ])\n }\n\n usedSymbols.add(symbol)\n\n messages.push([\n `${border} ${symbol} ${item}${\n totalDuration > MIN_DURATION\n ? ` (${getPrettyDuration(totalDuration)})`\n : ''\n }`,\n showRevalidate && pageInfo?.initialCacheControl\n ? formatRevalidate(pageInfo.initialCacheControl)\n : '',\n showExpire && pageInfo?.initialCacheControl\n ? formatExpire(pageInfo.initialCacheControl)\n : '',\n ])\n\n if (pageInfo?.ssgPageRoutes?.length) {\n const totalRoutes = pageInfo.ssgPageRoutes.length\n const contSymbol = i === arr.length - 1 ? ' ' : '│'\n\n // HERE\n\n let routes: { route: string; duration: number; avgDuration?: number }[]\n if (pageInfo.ssgPageDurations?.some((d) => d > MIN_DURATION)) {\n const previewPages = totalRoutes === 8 ? 8 : Math.min(totalRoutes, 7)\n const routesWithDuration = pageInfo.ssgPageRoutes\n .map((route, idx) => ({\n route,\n duration: pageInfo.ssgPageDurations![idx] || 0,\n }))\n .sort(({ duration: a }, { duration: b }) =>\n // Sort by duration\n // keep too small durations in original order at the end\n a <= MIN_DURATION && b <= MIN_DURATION ? 0 : b - a\n )\n routes = routesWithDuration.slice(0, previewPages)\n const remainingRoutes = routesWithDuration.slice(previewPages)\n if (remainingRoutes.length) {\n const remaining = remainingRoutes.length\n const avgDuration = Math.round(\n remainingRoutes.reduce(\n (total, { duration }) => total + duration,\n 0\n ) / remainingRoutes.length\n )\n routes.push({\n route: `[+${remaining} more paths]`,\n duration: 0,\n avgDuration,\n })\n }\n } else {\n const previewPages = totalRoutes === 4 ? 4 : Math.min(totalRoutes, 3)\n routes = pageInfo.ssgPageRoutes\n .slice(0, previewPages)\n .map((route) => ({ route, duration: 0 }))\n if (totalRoutes > previewPages) {\n const remaining = totalRoutes - previewPages\n routes.push({ route: `[+${remaining} more paths]`, duration: 0 })\n }\n }\n\n routes.forEach(\n ({ route, duration, avgDuration }, index, { length }) => {\n const innerSymbol = index === length - 1 ? '└' : '├'\n\n const initialCacheControl =\n pageInfos.get(route)?.initialCacheControl\n\n messages.push([\n `${contSymbol} ${innerSymbol} ${route}${\n duration > MIN_DURATION\n ? ` (${getPrettyDuration(duration)})`\n : ''\n }${\n avgDuration && avgDuration > MIN_DURATION\n ? ` (avg ${getPrettyDuration(avgDuration)})`\n : ''\n }`,\n showRevalidate && initialCacheControl\n ? formatRevalidate(initialCacheControl)\n : '',\n showExpire && initialCacheControl\n ? formatExpire(initialCacheControl)\n : '',\n ])\n }\n )\n }\n })\n }\n\n // If enabled, then print the tree for the app directory.\n if (lists.app) {\n await printFileTree({\n routerType: 'app',\n list: lists.app,\n })\n\n messages.push(['', '', '', ''])\n }\n\n pageInfos.set('/404', {\n ...(pageInfos.get('/404') || pageInfos.get('/_error'))!,\n isStatic: useStaticPages404,\n })\n\n // If there's no app /_notFound page present, then the 404 is still using the pages/404\n if (\n !lists.pages.includes('/404') &&\n !lists.app?.includes(UNDERSCORE_NOT_FOUND_ROUTE)\n ) {\n lists.pages = [...lists.pages, '/404']\n }\n\n // Print the tree view for the pages directory.\n await printFileTree({\n routerType: 'pages',\n list: lists.pages,\n })\n\n if (\n middlewareManifest.middleware?.['/']?.files.length > 0 ||\n // 'nodejs' runtime middleware or proxy is set to\n // functions-config-manifest instead of middleware-manifest.\n functionsConfigManifest.functions?.['/_middleware']\n ) {\n messages.push([])\n messages.push(['ƒ Proxy (Middleware)'])\n }\n\n print(\n textTable(messages, {\n align: ['l', 'r', 'r', 'r'],\n stringLength: (str) => stripAnsi(str).length,\n })\n )\n\n const staticFunctionInfo = lists.app\n ? 'generateStaticParams'\n : 'getStaticProps'\n print()\n print(\n textTable(\n [\n usedSymbols.has('○') && [\n '○',\n '(Static)',\n 'prerendered as static content',\n ],\n usedSymbols.has('●') && [\n '●',\n '(SSG)',\n `prerendered as static HTML (uses ${cyan(staticFunctionInfo)})`,\n ],\n usedSymbols.has('◐') && [\n '◐',\n '(Partial Prerender)',\n 'prerendered as static HTML with dynamic server-streamed content',\n ],\n usedSymbols.has('ƒ') && ['ƒ', '(Dynamic)', `server-rendered on demand`],\n ].filter((x) => x) as [string, string, string][],\n {\n align: ['l', 'l', 'l'],\n stringLength: (str) => stripAnsi(str).length,\n }\n )\n )\n\n print()\n}\n\nexport function printCustomRoutes({\n redirects,\n rewrites,\n headers,\n}: CustomRoutes) {\n const printRoutes = (\n routes: Redirect[] | Rewrite[] | Header[],\n type: 'Redirects' | 'Rewrites' | 'Headers'\n ) => {\n const isRedirects = type === 'Redirects'\n const isHeaders = type === 'Headers'\n print(underline(type))\n\n /*\n ┌ source\n ├ permanent/statusCode\n └ destination\n */\n const routesStr = (routes as any[])\n .map((route: { source: string }) => {\n let routeStr = `┌ source: ${route.source}\\n`\n\n if (!isHeaders) {\n const r = route as Rewrite\n routeStr += `${isRedirects ? '├' : '└'} destination: ${\n r.destination\n }\\n`\n }\n if (isRedirects) {\n const r = route as Redirect\n routeStr += `└ ${\n r.statusCode\n ? `status: ${r.statusCode}`\n : `permanent: ${r.permanent}`\n }\\n`\n }\n\n if (isHeaders) {\n const r = route as Header\n routeStr += `└ headers:\\n`\n\n for (let i = 0; i < r.headers.length; i++) {\n const header = r.headers[i]\n const last = i === headers.length - 1\n\n routeStr += ` ${last ? '└' : '├'} ${header.key}: ${header.value}\\n`\n }\n }\n\n return routeStr\n })\n .join('\\n')\n\n print(`${routesStr}\\n`)\n }\n\n print()\n if (redirects.length) {\n printRoutes(redirects, 'Redirects')\n }\n if (headers.length) {\n printRoutes(headers, 'Headers')\n }\n\n const combinedRewrites = [\n ...rewrites.beforeFiles,\n ...rewrites.afterFiles,\n ...rewrites.fallback,\n ]\n if (combinedRewrites.length) {\n printRoutes(combinedRewrites, 'Rewrites')\n }\n}\n\ntype PageIsStaticResult = {\n isRoutePPREnabled?: boolean\n isStatic?: boolean\n hasServerProps?: boolean\n hasStaticProps?: boolean\n prerenderedRoutes: PrerenderedRoute[] | undefined\n prerenderFallbackMode: FallbackMode | undefined\n rootParamKeys: readonly string[] | undefined\n isNextImageImported?: boolean\n traceIncludes?: string[]\n traceExcludes?: string[]\n appConfig?: AppSegmentConfig\n}\n\nexport async function isPageStatic({\n dir,\n page,\n distDir,\n configFileName,\n httpAgentOptions,\n locales,\n defaultLocale,\n parentId,\n pageRuntime,\n edgeInfo,\n pageType,\n cacheComponents,\n authInterrupts,\n originalAppPath,\n isrFlushToDisk,\n cacheMaxMemorySize,\n nextConfigOutput,\n cacheHandler,\n cacheHandlers,\n cacheLifeProfiles,\n pprConfig,\n buildId,\n sriEnabled,\n}: {\n dir: string\n page: string\n distDir: string\n cacheComponents: boolean\n authInterrupts: boolean\n configFileName: string\n httpAgentOptions: NextConfigComplete['httpAgentOptions']\n locales?: readonly string[]\n defaultLocale?: string\n parentId?: any\n edgeInfo?: any\n pageType?: 'pages' | 'app'\n pageRuntime?: ServerRuntime\n originalAppPath?: string\n isrFlushToDisk?: boolean\n cacheMaxMemorySize: number\n cacheHandler?: string\n cacheHandlers?: Record<string, string | undefined>\n cacheLifeProfiles?: {\n [profile: string]: import('../server/use-cache/cache-life').CacheLife\n }\n nextConfigOutput: 'standalone' | 'export' | undefined\n pprConfig: ExperimentalPPRConfig | undefined\n buildId: string\n sriEnabled: boolean\n}): Promise<PageIsStaticResult> {\n // Skip page data collection for synthetic _global-error routes\n if (page === UNDERSCORE_GLOBAL_ERROR_ROUTE) {\n return {\n isStatic: true,\n isRoutePPREnabled: false,\n prerenderFallbackMode: undefined,\n prerenderedRoutes: undefined,\n rootParamKeys: undefined,\n hasStaticProps: false,\n hasServerProps: false,\n isNextImageImported: false,\n appConfig: {},\n }\n }\n\n await createIncrementalCache({\n cacheHandler,\n cacheHandlers,\n distDir,\n dir,\n flushToDisk: isrFlushToDisk,\n cacheMaxMemorySize,\n })\n\n const isPageStaticSpan = trace('is-page-static-utils', parentId)\n return isPageStaticSpan\n .traceAsyncFn(async (): Promise<PageIsStaticResult> => {\n setHttpClientAndAgentOptions({\n httpAgentOptions,\n })\n\n let componentsResult: LoadComponentsReturnType\n let prerenderedRoutes: PrerenderedRoute[] | undefined\n let prerenderFallbackMode: FallbackMode | undefined\n let appConfig: AppSegmentConfig = {}\n let rootParamKeys: readonly string[] | undefined\n const pathIsEdgeRuntime = isEdgeRuntime(pageRuntime)\n\n if (pathIsEdgeRuntime) {\n const runtime = await getRuntimeContext({\n paths: edgeInfo.files.map((file: string) => path.join(distDir, file)),\n edgeFunctionEntry: {\n ...edgeInfo,\n wasm: (edgeInfo.wasm ?? []).map((binding: AssetBinding) => ({\n ...binding,\n filePath: path.join(distDir, binding.filePath),\n })),\n },\n name: edgeInfo.name,\n useCache: true,\n distDir,\n })\n const mod = (\n await runtime.context._ENTRIES[`middleware_${edgeInfo.name}`]\n ).ComponentMod\n\n // This is not needed during require.\n const buildManifest = {} as BuildManifest\n\n componentsResult = {\n Component: mod.default,\n Document: mod.Document,\n App: mod.App,\n routeModule: mod.routeModule,\n page,\n ComponentMod: mod,\n pageConfig: mod.config || {},\n buildManifest,\n reactLoadableManifest: {},\n getServerSideProps: mod.getServerSideProps,\n getStaticPaths: mod.getStaticPaths,\n getStaticProps: mod.getStaticProps,\n }\n } else {\n componentsResult = await loadComponents({\n distDir,\n page: originalAppPath || page,\n isAppPath: pageType === 'app',\n isDev: false,\n sriEnabled,\n needsManifestsForLegacyReasons: true,\n })\n }\n\n const { Component, routeModule } = componentsResult\n\n const Comp = Component as NextComponentType | undefined\n\n let isRoutePPREnabled: boolean = false\n\n if (pageType === 'app') {\n // @ts-expect-error pageType is app, so we can assume AppPageModule | AppRouteModule\n const ComponentMod: AppPageModule | AppRouteModule =\n componentsResult.ComponentMod\n\n let segments: AppSegment[]\n try {\n segments = await collectSegments(\n // We know this is an app page or app route module because we\n // checked above that the page type is 'app'.\n routeModule as AppPageRouteModule | AppRouteRouteModule\n )\n } catch (err) {\n throw new Error(`Failed to collect configuration for ${page}`, {\n cause: err,\n })\n }\n\n appConfig =\n originalAppPath === UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY\n ? {}\n : reduceAppConfig(segments)\n\n if (appConfig.dynamic === 'force-static' && pathIsEdgeRuntime) {\n Log.warn(\n `Page \"${page}\" is using runtime = 'edge' which is currently incompatible with dynamic = 'force-static'. Please remove either \"runtime\" or \"force-static\" for correct behavior`\n )\n }\n\n rootParamKeys = collectRootParamKeys(routeModule)\n\n // A page supports partial prerendering if it is an app page and either\n // the whole app has PPR enabled or this page has PPR enabled when we're\n // in incremental mode.\n isRoutePPREnabled =\n routeModule.definition.kind === RouteKind.APP_PAGE &&\n checkIsRoutePPREnabled(pprConfig)\n\n // If force dynamic was set and we don't have PPR enabled, then set the\n // revalidate to 0.\n // TODO: (PPR) remove this once PPR is enabled by default\n if (appConfig.dynamic === 'force-dynamic' && !isRoutePPREnabled) {\n appConfig.revalidate = 0\n }\n\n const route = parseAppRoute(page, true)\n\n // If the page is dynamic and we're not in edge runtime, then we need to\n // build the static paths. The edge runtime doesn't support static\n // paths.\n if (route.dynamicSegments.length > 0 && !pathIsEdgeRuntime) {\n ;({ prerenderedRoutes, fallbackMode: prerenderFallbackMode } =\n await buildAppStaticPaths({\n dir,\n page,\n route,\n cacheComponents,\n authInterrupts,\n segments,\n distDir,\n requestHeaders: {},\n isrFlushToDisk,\n cacheMaxMemorySize,\n cacheHandler,\n cacheLifeProfiles,\n ComponentMod,\n nextConfigOutput,\n isRoutePPREnabled,\n buildId,\n rootParamKeys,\n }))\n }\n } else {\n if (!Comp || !isValidElementType(Comp) || typeof Comp === 'string') {\n throw new Error('INVALID_DEFAULT_EXPORT')\n }\n }\n\n const hasGetInitialProps = !!Comp?.getInitialProps\n const hasStaticProps = !!componentsResult.getStaticProps\n const hasStaticPaths = !!componentsResult.getStaticPaths\n const hasServerProps = !!componentsResult.getServerSideProps\n\n // A page cannot be prerendered _and_ define a data requirement. That's\n // contradictory!\n if (hasGetInitialProps && hasStaticProps) {\n throw new Error(SSG_GET_INITIAL_PROPS_CONFLICT)\n }\n\n if (hasGetInitialProps && hasServerProps) {\n throw new Error(SERVER_PROPS_GET_INIT_PROPS_CONFLICT)\n }\n\n if (hasStaticProps && hasServerProps) {\n throw new Error(SERVER_PROPS_SSG_CONFLICT)\n }\n\n const pageIsDynamic = isDynamicRoute(page)\n // A page cannot have static parameters if it is not a dynamic page.\n if (hasStaticProps && hasStaticPaths && !pageIsDynamic) {\n throw new Error(\n `getStaticPaths can only be used with dynamic pages, not '${page}'.` +\n `\\nLearn more: https://nextjs.org/docs/routing/dynamic-routes`\n )\n }\n\n if (hasStaticProps && pageIsDynamic && !hasStaticPaths) {\n throw new Error(\n `getStaticPaths is required for dynamic SSG pages and is missing for '${page}'.` +\n `\\nRead more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`\n )\n }\n\n if (hasStaticProps && hasStaticPaths) {\n ;({ prerenderedRoutes, fallbackMode: prerenderFallbackMode } =\n await buildPagesStaticPaths({\n page,\n locales,\n defaultLocale,\n configFileName,\n getStaticPaths: componentsResult.getStaticPaths!,\n }))\n }\n\n const isNextImageImported = (globalThis as any).__NEXT_IMAGE_IMPORTED\n\n let isStatic = false\n if (!hasStaticProps && !hasGetInitialProps && !hasServerProps) {\n isStatic = true\n }\n\n // When PPR is enabled, any route may be completely static, so\n // mark this route as static.\n if (isRoutePPREnabled) {\n isStatic = true\n }\n\n return {\n isStatic,\n isRoutePPREnabled,\n prerenderFallbackMode,\n prerenderedRoutes,\n rootParamKeys,\n hasStaticProps,\n hasServerProps,\n isNextImageImported,\n appConfig,\n }\n })\n .catch((err) => {\n if (err.message === 'INVALID_DEFAULT_EXPORT') {\n throw err\n }\n console.error(err)\n throw new Error(`Failed to collect page data for ${page}`)\n })\n}\n\ntype ReducedAppConfig = Pick<\n AppSegmentConfig,\n | 'revalidate'\n | 'dynamic'\n | 'fetchCache'\n | 'preferredRegion'\n | 'runtime'\n | 'maxDuration'\n>\n\n/**\n * Collect the app config from the generate param segments. This only gets a\n * subset of the config options.\n *\n * @param segments the generate param segments\n * @returns the reduced app config\n */\nexport function reduceAppConfig(\n segments: Pick<AppSegment, 'config'>[]\n): ReducedAppConfig {\n const config: ReducedAppConfig = {}\n\n for (const segment of segments) {\n const {\n dynamic,\n fetchCache,\n preferredRegion,\n revalidate,\n runtime,\n maxDuration,\n } = segment.config || {}\n\n // TODO: should conflicting configs here throw an error\n // e.g. if layout defines one region but page defines another\n\n if (typeof preferredRegion !== 'undefined') {\n config.preferredRegion = preferredRegion\n }\n\n if (typeof dynamic !== 'undefined') {\n config.dynamic = dynamic\n }\n\n if (typeof fetchCache !== 'undefined') {\n config.fetchCache = fetchCache\n }\n\n if (typeof revalidate !== 'undefined') {\n config.revalidate = revalidate\n }\n\n // Any revalidate number overrides false, and shorter revalidate overrides\n // longer (initially).\n if (\n typeof revalidate === 'number' &&\n (typeof config.revalidate !== 'number' || revalidate < config.revalidate)\n ) {\n config.revalidate = revalidate\n }\n\n if (typeof runtime !== 'undefined') {\n config.runtime = runtime\n }\n\n if (typeof maxDuration !== 'undefined') {\n config.maxDuration = maxDuration\n }\n }\n\n return config\n}\n\nexport async function hasCustomGetInitialProps({\n page,\n distDir,\n checkingApp,\n sriEnabled,\n}: {\n page: string\n distDir: string\n checkingApp: boolean\n sriEnabled: boolean\n}): Promise<boolean> {\n const { ComponentMod } = await loadComponents({\n distDir,\n page: page,\n isAppPath: false,\n isDev: false,\n sriEnabled,\n needsManifestsForLegacyReasons: true,\n })\n let mod = ComponentMod\n\n if (checkingApp) {\n // @ts-expect-error very dynamic code\n mod = (await mod._app) || mod.default || mod\n } else {\n // @ts-expect-error very dynamic code\n mod = mod.default || mod\n }\n mod = await mod\n // @ts-expect-error very dynamic code\n return mod.getInitialProps !== mod.origGetInitialProps\n}\n\nexport async function getDefinedNamedExports({\n page,\n distDir,\n sriEnabled,\n}: {\n page: string\n distDir: string\n sriEnabled: boolean\n}): Promise<ReadonlyArray<string>> {\n const { ComponentMod } = await loadComponents({\n distDir,\n page: page,\n isAppPath: false,\n isDev: false,\n sriEnabled,\n needsManifestsForLegacyReasons: true,\n })\n\n return Object.keys(ComponentMod).filter((key) => {\n return typeof ComponentMod[key as keyof typeof ComponentMod] !== 'undefined'\n })\n}\n\nexport function detectConflictingPaths(\n combinedPages: string[],\n ssgPages: Set<string>,\n additionalGeneratedSSGPaths: Map<string, string[]>\n) {\n const conflictingPaths = new Map<\n string,\n Array<{\n path: string\n page: string\n }>\n >()\n\n const dynamicSsgPages = [...ssgPages].filter((page) => isDynamicRoute(page))\n const additionalSsgPathsByPath: {\n [page: string]: { [path: string]: string }\n } = {}\n\n additionalGeneratedSSGPaths.forEach((paths, pathsPage) => {\n additionalSsgPathsByPath[pathsPage] ||= {}\n paths.forEach((curPath) => {\n const currentPath = curPath.toLowerCase()\n additionalSsgPathsByPath[pathsPage][currentPath] = curPath\n })\n })\n\n additionalGeneratedSSGPaths.forEach((paths, pathsPage) => {\n paths.forEach((curPath) => {\n const lowerPath = curPath.toLowerCase()\n let conflictingPage = combinedPages.find(\n (page) => page.toLowerCase() === lowerPath\n )\n\n if (conflictingPage) {\n conflictingPaths.set(lowerPath, [\n { path: curPath, page: pathsPage },\n { path: conflictingPage, page: conflictingPage },\n ])\n } else {\n let conflictingPath: string | undefined\n\n conflictingPage = dynamicSsgPages.find((page) => {\n if (page === pathsPage) return false\n\n conflictingPath =\n additionalGeneratedSSGPaths.get(page) == null\n ? undefined\n : additionalSsgPathsByPath[page][lowerPath]\n return conflictingPath\n })\n\n if (conflictingPage && conflictingPath) {\n conflictingPaths.set(lowerPath, [\n { path: curPath, page: pathsPage },\n { path: conflictingPath, page: conflictingPage },\n ])\n }\n }\n })\n })\n\n if (conflictingPaths.size > 0) {\n let conflictingPathsOutput = ''\n\n conflictingPaths.forEach((pathItems) => {\n pathItems.forEach((pathItem, idx) => {\n const isDynamic = pathItem.page !== pathItem.path\n\n if (idx > 0) {\n conflictingPathsOutput += 'conflicts with '\n }\n\n conflictingPathsOutput += `path: \"${pathItem.path}\"${\n isDynamic ? ` from page: \"${pathItem.page}\" ` : ' '\n }`\n })\n conflictingPathsOutput += '\\n'\n })\n\n Log.error(\n 'Conflicting paths returned from getStaticPaths, paths must be unique per page.\\n' +\n 'See more info here: https://nextjs.org/docs/messages/conflicting-ssg-paths\\n\\n' +\n conflictingPathsOutput\n )\n process.exit(1)\n }\n}\n\nexport async function copyTracedFiles(\n dir: string,\n distDir: string,\n pageKeys: readonly string[],\n appPageKeys: readonly string[] | undefined,\n tracingRoot: string,\n serverConfig: NextConfigRuntime,\n middlewareManifest: MiddlewareManifest,\n hasNodeMiddleware: boolean,\n hasInstrumentationHook: boolean,\n staticPages: Set<string>\n) {\n const outputPath = path.join(distDir, 'standalone')\n\n // Clean up standalone directory first.\n await fs.rm(outputPath, { recursive: true, force: true })\n\n let moduleType = false\n const nextConfig = {\n ...serverConfig,\n distDir: `./${path.relative(dir, distDir)}`,\n }\n try {\n const packageJsonPath = path.join(distDir, '../package.json')\n const packageJsonContent = await fs.readFile(packageJsonPath, 'utf8')\n const packageJson = JSON.parse(packageJsonContent)\n moduleType = packageJson.type === 'module'\n\n // we always copy the package.json to the standalone\n // folder to ensure any resolving logic is maintained\n const packageJsonOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, dir),\n 'package.json'\n )\n await fs.mkdir(path.dirname(packageJsonOutputPath), { recursive: true })\n await fs.writeFile(packageJsonOutputPath, packageJsonContent)\n } catch {}\n const copiedFiles = new Set()\n\n async function handleTraceFiles(traceFilePath: string) {\n const traceData = JSON.parse(await fs.readFile(traceFilePath, 'utf8')) as {\n files: string[]\n }\n const copySema = new Sema(10, { capacity: traceData.files.length })\n const traceFileDir = path.dirname(traceFilePath)\n\n await Promise.all(\n traceData.files.map(async (relativeFile) => {\n await copySema.acquire()\n\n const tracedFilePath = path.join(traceFileDir, relativeFile)\n const fileOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, tracedFilePath)\n )\n\n if (!copiedFiles.has(fileOutputPath)) {\n copiedFiles.add(fileOutputPath)\n\n await fs.mkdir(path.dirname(fileOutputPath), { recursive: true })\n const symlink = await fs.readlink(tracedFilePath).catch(() => null)\n\n if (symlink) {\n try {\n await fs.symlink(symlink, fileOutputPath)\n } catch (err: any) {\n // Windows doesn't support creating symlinks without elevated privileges, unless\n // \"Developer Mode\" is turned on. If we failed to create a symlink due to EPERM, try\n // creating a junction point instead.\n //\n // Ideally we'd just preserve the input file type (junction point or symlink), but\n // there's no API in node.js to differentiate between a junction point and a symlink,\n // so we just try making a symlink first. Symlinks are preferred because they support\n // relative paths and non-directory (file) targets.\n if (\n process.platform === 'win32' &&\n err.code === 'EPERM' &&\n path.isAbsolute(symlink)\n ) {\n try {\n await fs.symlink(symlink, fileOutputPath, 'junction')\n } catch (junctionErr: any) {\n if (junctionErr.code !== 'EEXIST') {\n throw junctionErr\n }\n }\n } else if (err.code !== 'EEXIST') {\n throw err\n }\n }\n } else {\n await fs.copyFile(tracedFilePath, fileOutputPath)\n }\n }\n\n await copySema.release()\n })\n )\n }\n\n async function handleEdgeFunction(page: EdgeFunctionDefinition) {\n async function handleFile(file: string) {\n const originalPath = path.join(distDir, file)\n const fileOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, distDir),\n file\n )\n await fs.mkdir(path.dirname(fileOutputPath), { recursive: true })\n await fs.copyFile(originalPath, fileOutputPath)\n }\n await Promise.all([\n page.files.map(handleFile),\n page.wasm?.map((file) => handleFile(file.filePath)),\n page.assets?.map((file) => handleFile(file.filePath)),\n ])\n }\n\n const edgeFunctionHandlers: Promise<any>[] = []\n\n for (const middleware of Object.values(middlewareManifest.middleware)) {\n if (isMiddlewareFilename(middleware.name)) {\n edgeFunctionHandlers.push(handleEdgeFunction(middleware))\n }\n }\n\n for (const page of Object.values(middlewareManifest.functions)) {\n edgeFunctionHandlers.push(handleEdgeFunction(page))\n }\n\n await Promise.all(edgeFunctionHandlers)\n\n for (const page of pageKeys) {\n if (middlewareManifest.functions.hasOwnProperty(page)) {\n continue\n }\n const route = normalizePagePath(page)\n\n if (staticPages.has(route)) {\n continue\n }\n\n const pageFile = path.join(\n distDir,\n 'server',\n 'pages',\n `${normalizePagePath(page)}.js`\n )\n const pageTraceFile = `${pageFile}.nft.json`\n await handleTraceFiles(pageTraceFile).catch((err) => {\n if (err.code !== 'ENOENT' || (page !== '/404' && page !== '/500')) {\n Log.warn(`Failed to copy traced files for ${pageFile}`, err)\n }\n })\n }\n\n if (hasNodeMiddleware) {\n const middlewareFile = path.join(distDir, 'server', 'middleware.js')\n const middlewareTrace = `${middlewareFile}.nft.json`\n await handleTraceFiles(middlewareTrace)\n }\n\n if (appPageKeys) {\n for (const page of appPageKeys) {\n if (middlewareManifest.functions.hasOwnProperty(page)) {\n continue\n }\n const pageFile = path.join(distDir, 'server', 'app', `${page}.js`)\n const pageTraceFile = `${pageFile}.nft.json`\n await handleTraceFiles(pageTraceFile).catch((err) => {\n Log.warn(`Failed to copy traced files for ${pageFile}`, err)\n })\n }\n }\n\n if (hasInstrumentationHook) {\n await handleTraceFiles(\n path.join(distDir, 'server', 'instrumentation.js.nft.json')\n )\n }\n\n await handleTraceFiles(path.join(distDir, 'next-server.js.nft.json'))\n const serverOutputPath = path.join(\n outputPath,\n path.relative(tracingRoot, dir),\n 'server.js'\n )\n await fs.mkdir(path.dirname(serverOutputPath), { recursive: true })\n\n await fs.writeFile(\n serverOutputPath,\n `${\n moduleType\n ? `performance.mark('next-start');\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport module from 'node:module'\nconst require = module.createRequire(import.meta.url)\nconst __dirname = fileURLToPath(new URL('.', import.meta.url))\n`\n : `const path = require('path')`\n }\n\nconst dir = path.join(__dirname)\n\nprocess.env.NODE_ENV = 'production'\nprocess.chdir(__dirname)\n\nconst currentPort = parseInt(process.env.PORT, 10) || 3000\nconst hostname = process.env.HOSTNAME || '0.0.0.0'\n\nlet keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)\nconst nextConfig = ${JSON.stringify(nextConfig)}\n\nprocess.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)\n\nrequire('next')\nconst { startServer } = require('next/dist/server/lib/start-server')\n\nif (\n Number.isNaN(keepAliveTimeout) ||\n !Number.isFinite(keepAliveTimeout) ||\n keepAliveTimeout < 0\n) {\n keepAliveTimeout = undefined\n}\n\nstartServer({\n dir,\n isDev: false,\n config: nextConfig,\n hostname,\n port: currentPort,\n allowRetry: false,\n keepAliveTimeout,\n}).catch((err) => {\n console.error(err);\n process.exit(1);\n});`\n )\n}\n\nexport function isReservedPage(page: string) {\n return RESERVED_PAGE.test(page)\n}\n\nexport function isAppBuiltinPage(page: string) {\n return /next[\\\\/]dist[\\\\/](esm[\\\\/])?client[\\\\/]components[\\\\/]builtin[\\\\/]/.test(\n page\n )\n}\n\nexport function isCustomErrorPage(page: string) {\n return page === '/404' || page === '/500'\n}\n\nexport function isMiddlewareFile(file: string) {\n return (\n file === `/${MIDDLEWARE_FILENAME}` ||\n file === `/src/${MIDDLEWARE_FILENAME}` ||\n file === `/${PROXY_FILENAME}` ||\n file === `/src/${PROXY_FILENAME}`\n )\n}\n\nexport function isProxyFile(file: string) {\n return file === `/${PROXY_FILENAME}` || file === `/src/${PROXY_FILENAME}`\n}\n\nexport function isInstrumentationHookFile(file: string) {\n return (\n file === `/${INSTRUMENTATION_HOOK_FILENAME}` ||\n file === `/src/${INSTRUMENTATION_HOOK_FILENAME}`\n )\n}\n\nexport function getPossibleInstrumentationHookFilenames(\n folder: string,\n extensions: string[]\n) {\n const files = []\n for (const extension of extensions) {\n files.push(\n path.join(folder, `${INSTRUMENTATION_HOOK_FILENAME}.${extension}`),\n path.join(folder, `src`, `${INSTRUMENTATION_HOOK_FILENAME}.${extension}`)\n )\n }\n\n return files\n}\n\nexport function getPossibleMiddlewareFilenames(\n folder: string,\n extensions: string[]\n) {\n return extensions.flatMap((extension) => [\n path.join(folder, `${MIDDLEWARE_FILENAME}.${extension}`),\n path.join(folder, `${PROXY_FILENAME}.${extension}`),\n ])\n}\n\nexport class NestedMiddlewareError extends Error {\n constructor(\n nestedFileNames: string[],\n mainDir: string,\n pagesOrAppDir: string\n ) {\n super(\n `Nested Middleware is not allowed, found:\\n` +\n `${nestedFileNames.map((file) => `pages${file}`).join('\\n')}\\n` +\n `Please move your code to a single file at ${path.join(\n path.posix.sep,\n path.relative(mainDir, path.resolve(pagesOrAppDir, '..')),\n 'middleware'\n )} instead.\\n` +\n `Read More - https://nextjs.org/docs/messages/nested-middleware`\n )\n }\n}\n\nexport function getSupportedBrowsers(\n dir: string,\n isDevelopment: boolean\n): string[] {\n let browsers: any\n try {\n const browsersListConfig = browserslist.loadConfig({\n path: dir,\n env: isDevelopment ? 'development' : 'production',\n })\n // Running `browserslist` resolves `extends` and other config features into a list of browsers\n if (browsersListConfig && browsersListConfig.length > 0) {\n browsers = browserslist(browsersListConfig)\n }\n } catch {}\n\n // When user has browserslist use that target\n if (browsers && browsers.length > 0) {\n return browsers\n }\n\n // Uses modern browsers as the default.\n return MODERN_BROWSERSLIST_TARGET\n}\n\nexport function shouldUseReactServerCondition(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(\n layer && WEBPACK_LAYERS.GROUP.serverOnly.includes(layer as any)\n )\n}\n\nexport function isWebpackClientOnlyLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(\n layer && WEBPACK_LAYERS.GROUP.clientOnly.includes(layer as any)\n )\n}\n\nexport function isWebpackDefaultLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return (\n layer === null ||\n layer === undefined ||\n layer === WEBPACK_LAYERS.pagesDirBrowser ||\n layer === WEBPACK_LAYERS.pagesDirEdge ||\n layer === WEBPACK_LAYERS.pagesDirNode\n )\n}\n\nexport function isWebpackBundledLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(layer && WEBPACK_LAYERS.GROUP.bundled.includes(layer as any))\n}\n\nexport function isWebpackAppPagesLayer(\n layer: WebpackLayerName | null | undefined\n): boolean {\n return Boolean(layer && WEBPACK_LAYERS.GROUP.appPages.includes(layer as any))\n}\n\nexport function collectMeta({\n status,\n headers,\n}: {\n status?: number\n headers?: OutgoingHttpHeaders\n}): {\n status?: number\n headers?: Record<string, string>\n} {\n const meta: {\n status?: number\n headers?: Record<string, string>\n } = {}\n\n if (status !== 200) {\n meta.status = status\n }\n\n if (headers && Object.keys(headers).length) {\n meta.headers = {}\n\n // normalize header values as initialHeaders\n // must be Record<string, string>\n for (const key in headers) {\n // set-cookie is already handled - the middleware cookie setting case\n // isn't needed for the prerender manifest since it can't read cookies\n if (key === 'x-middleware-set-cookie') continue\n\n let value = headers[key]\n\n if (Array.isArray(value)) {\n if (key === 'set-cookie') {\n value = value.join(',')\n } else {\n value = value[value.length - 1]\n }\n }\n\n if (typeof value === 'string') {\n meta.headers[key] = value\n }\n }\n }\n\n return meta\n}\n\nexport const RSPACK_DEFAULT_LAYERS_REGEX = new RegExp(\n `^(|${[WEBPACK_LAYERS.pagesDirBrowser, WEBPACK_LAYERS.pagesDirEdge, WEBPACK_LAYERS.pagesDirNode].join('|')})$`\n)\n\n/**\n * Converts a page to a manifest route.\n *\n * @param page The page to convert to a route.\n * @returns A route object.\n */\nexport function pageToRoute(page: string): ManifestRoute\n/**\n * Converts a page to a dynamic manifest route.\n *\n * @param page The page to convert to a route.\n * @param sourcePage The source page that this route is based on. This is used\n * to determine the source page for the route and is only relevant for app\n * pages when PPR is enabled on them.\n * @returns A route object.\n */\nexport function pageToRoute(\n page: string,\n sourcePage: string | undefined\n): DynamicManifestRoute\nexport function pageToRoute(\n page: string,\n sourcePage?: string\n): DynamicManifestRoute | ManifestRoute {\n const routeRegex = getNamedRouteRegex(page, {\n prefixRouteKeys: true,\n })\n return {\n sourcePage,\n page,\n regex: normalizeRouteRegex(routeRegex.re.source),\n routeKeys: routeRegex.routeKeys,\n namedRegex: routeRegex.namedRegex,\n }\n}\n"],"names":["NestedMiddlewareError","RSPACK_DEFAULT_LAYERS_REGEX","collectMeta","collectRoutesUsingEdgeRuntime","copyTracedFiles","detectConflictingPaths","difference","getDefinedNamedExports","getPossibleInstrumentationHookFilenames","getPossibleMiddlewareFilenames","getSupportedBrowsers","hasCustomGetInitialProps","isAppBuiltinPage","isCustomErrorPage","isInstrumentationHookFile","isInstrumentationHookFilename","isMiddlewareFile","isMiddlewareFilename","isPageStatic","isProxyFile","isReservedPage","isWebpackAppPagesLayer","isWebpackBundledLayer","isWebpackClientOnlyLayer","isWebpackDefaultLayer","pageToRoute","printBuildErrors","printCustomRoutes","printTreeView","reduceAppConfig","shouldUseReactServerCondition","unique","print","console","log","RESERVED_PAGE","main","sub","Set","a","b","filter","x","has","file","MIDDLEWARE_FILENAME","PROXY_FILENAME","INSTRUMENTATION_HOOK_FILENAME","filterAndSortList","list","routeType","hasCustomApp","pages","e","slice","sort","localeCompare","input","routesUsingEdgeRuntime","route","info","entries","isEdgeRuntime","runtime","entrypoints","isDev","topLevelFatalIssues","topLevelErrors","topLevelWarnings","seenFatalIssues","seenErrors","seenWarnings","issue","issues","severity","formatted","formatIssue","add","push","isRelevantWarning","length","warn","join","error","Error","lists","pageInfos","pagesDir","pageExtensions","middlewareManifest","functionsConfigManifest","useStaticPages404","hasGSPAndRevalidateZero","MIN_DURATION","process","env","__NEXT_PRIVATE_DETERMINISTIC_BUILD_OUTPUT","Infinity","getPrettyDuration","_duration","duration","green","yellow","red","bold","findPageFile","usedSymbols","messages","printFileTree","routerType","filteredPages","showRevalidate","showExpire","page","cacheControl","get","initialCacheControl","revalidate","expire","entry","map","underline","forEach","item","i","arr","pageInfo","border","totalDuration","pageDuration","ssgPageDurations","reduce","symbol","isRoutePPREnabled","hasEmptyStaticShell","isDynamicAppRoute","hasPostponed","isStatic","isSSG","formatRevalidate","formatExpire","ssgPageRoutes","totalRoutes","contSymbol","routes","some","d","previewPages","Math","min","routesWithDuration","idx","remainingRoutes","remaining","avgDuration","round","total","index","innerSymbol","app","set","includes","UNDERSCORE_NOT_FOUND_ROUTE","middleware","files","functions","textTable","align","stringLength","str","stripAnsi","staticFunctionInfo","cyan","redirects","rewrites","headers","printRoutes","type","isRedirects","isHeaders","routesStr","routeStr","source","r","destination","statusCode","permanent","header","last","key","value","combinedRewrites","beforeFiles","afterFiles","fallback","dir","distDir","configFileName","httpAgentOptions","locales","defaultLocale","parentId","pageRuntime","edgeInfo","pageType","cacheComponents","authInterrupts","originalAppPath","isrFlushToDisk","cacheMaxMemorySize","nextConfigOutput","cacheHandler","cacheHandlers","cacheLifeProfiles","pprConfig","buildId","sriEnabled","UNDERSCORE_GLOBAL_ERROR_ROUTE","prerenderFallbackMode","undefined","prerenderedRoutes","rootParamKeys","hasStaticProps","hasServerProps","isNextImageImported","appConfig","createIncrementalCache","flushToDisk","isPageStaticSpan","trace","traceAsyncFn","setHttpClientAndAgentOptions","componentsResult","pathIsEdgeRuntime","getRuntimeContext","paths","path","edgeFunctionEntry","wasm","binding","filePath","name","useCache","mod","context","_ENTRIES","ComponentMod","buildManifest","Component","default","Document","App","routeModule","pageConfig","config","reactLoadableManifest","getServerSideProps","getStaticPaths","getStaticProps","loadComponents","isAppPath","needsManifestsForLegacyReasons","Comp","segments","collectSegments","err","cause","UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY","dynamic","Log","collectRootParamKeys","definition","kind","RouteKind","APP_PAGE","checkIsRoutePPREnabled","parseAppRoute","dynamicSegments","fallbackMode","buildAppStaticPaths","requestHeaders","isValidElementType","hasGetInitialProps","getInitialProps","hasStaticPaths","SSG_GET_INITIAL_PROPS_CONFLICT","SERVER_PROPS_GET_INIT_PROPS_CONFLICT","SERVER_PROPS_SSG_CONFLICT","pageIsDynamic","isDynamicRoute","buildPagesStaticPaths","globalThis","__NEXT_IMAGE_IMPORTED","catch","message","segment","fetchCache","preferredRegion","maxDuration","checkingApp","_app","origGetInitialProps","Object","keys","combinedPages","ssgPages","additionalGeneratedSSGPaths","conflictingPaths","Map","dynamicSsgPages","additionalSsgPathsByPath","pathsPage","curPath","currentPath","toLowerCase","lowerPath","conflictingPage","find","conflictingPath","size","conflictingPathsOutput","pathItems","pathItem","isDynamic","exit","pageKeys","appPageKeys","tracingRoot","serverConfig","hasNodeMiddleware","hasInstrumentationHook","staticPages","outputPath","fs","rm","recursive","force","moduleType","nextConfig","relative","packageJsonPath","packageJsonContent","readFile","packageJson","JSON","parse","packageJsonOutputPath","mkdir","dirname","writeFile","copiedFiles","handleTraceFiles","traceFilePath","traceData","copySema","Sema","capacity","traceFileDir","Promise","all","relativeFile","acquire","tracedFilePath","fileOutputPath","symlink","readlink","platform","code","isAbsolute","junctionErr","copyFile","release","handleEdgeFunction","handleFile","originalPath","assets","edgeFunctionHandlers","values","hasOwnProperty","normalizePagePath","pageFile","pageTraceFile","middlewareFile","middlewareTrace","serverOutputPath","stringify","test","folder","extensions","extension","flatMap","constructor","nestedFileNames","mainDir","pagesOrAppDir","posix","sep","resolve","isDevelopment","browsers","browsersListConfig","browserslist","loadConfig","MODERN_BROWSERSLIST_TARGET","layer","Boolean","WEBPACK_LAYERS","GROUP","serverOnly","clientOnly","pagesDirBrowser","pagesDirEdge","pagesDirNode","bundled","appPages","status","meta","Array","isArray","RegExp","sourcePage","routeRegex","getNamedRouteRegex","prefixRouteKeys","regex","normalizeRouteRegex","re","routeKeys","namedRegex"],"mappings":"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","ignoreList":[0]}
|
|
@@ -1725,7 +1725,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
1725
1725
|
isClient && new _copyfileplugin.CopyFilePlugin({
|
|
1726
1726
|
// file path to build output of `@next/polyfill-nomodule`
|
|
1727
1727
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
|
1728
|
-
cacheKey: "16.1.1-canary.
|
|
1728
|
+
cacheKey: "16.1.1-canary.4",
|
|
1729
1729
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
|
1730
1730
|
minimize: false,
|
|
1731
1731
|
info: {
|
|
@@ -1919,7 +1919,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
1919
1919
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
|
1920
1920
|
// - Next.js version
|
|
1921
1921
|
// - next.config.js keys that affect compilation
|
|
1922
|
-
version: `${__dirname}|${"16.1.1-canary.
|
|
1922
|
+
version: `${__dirname}|${"16.1.1-canary.4"}|${configVars}`,
|
|
1923
1923
|
cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
|
|
1924
1924
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
|
1925
1925
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
|
@@ -1975,7 +1975,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
1975
1975
|
type: 'filesystem',
|
|
1976
1976
|
directory: cache.cacheDirectory
|
|
1977
1977
|
},
|
|
1978
|
-
version: `${__dirname}|${"16.1.1-canary.
|
|
1978
|
+
version: `${__dirname}|${"16.1.1-canary.4"}|${configVars}`
|
|
1979
1979
|
};
|
|
1980
1980
|
}
|
|
1981
1981
|
if (process.env.NEXT_WEBPACK_LOGGING) {
|