next 15.6.0-canary.2 → 15.6.0-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 +1 -1
- package/dist/build/adapter/build-complete.js +1 -1
- package/dist/build/adapter/build-complete.js.map +1 -1
- package/dist/build/index.js +9 -5
- package/dist/build/index.js.map +1 -1
- package/dist/build/swc/index.js +1 -1
- package/dist/build/templates/app-page.js +5 -1
- package/dist/build/templates/app-page.js.map +1 -1
- package/dist/build/webpack/loaders/devtool/devtool-style-inject.js +31 -26
- package/dist/build/webpack/loaders/devtool/devtool-style-inject.js.map +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-devtools/index.js +1 -1
- package/dist/compiled/next-devtools/index.js.map +1 -1
- package/dist/compiled/next-server/server.runtime.prod.js +5 -5
- package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
- package/dist/esm/build/adapter/build-complete.js +1 -1
- package/dist/esm/build/adapter/build-complete.js.map +1 -1
- package/dist/esm/build/index.js +9 -5
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/templates/app-page.js +5 -1
- package/dist/esm/build/templates/app-page.js.map +1 -1
- package/dist/esm/build/webpack/loaders/devtool/devtool-style-inject.js +31 -26
- package/dist/esm/build/webpack/loaders/devtool/devtool-style-inject.js.map +1 -1
- package/dist/esm/build/webpack-config.js +2 -2
- 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/router-utils/setup-dev-bundler.js +1 -1
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/server/node-environment-extensions/unhandled-rejection.js +50 -1
- package/dist/esm/server/node-environment-extensions/unhandled-rejection.js.map +1 -1
- package/dist/esm/shared/lib/canary-only.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/router-utils/setup-dev-bundler.js +1 -1
- package/dist/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/server/node-environment-extensions/unhandled-rejection.js +50 -1
- package/dist/server/node-environment-extensions/unhandled-rejection.js.map +1 -1
- package/dist/shared/lib/canary-only.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/build/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/build/index.ts"],"sourcesContent":["import type { AppBuildManifest } from './webpack/plugins/app-build-manifest-plugin'\nimport type { PagesManifest } from './webpack/plugins/pages-manifest-plugin'\nimport type { ExportPathMap, NextConfigComplete } from '../server/config-shared'\nimport type { MiddlewareManifest } from './webpack/plugins/middleware-plugin'\nimport type { ActionManifest } from './webpack/plugins/flight-client-entry-plugin'\nimport type { CacheControl, Revalidate } from '../server/lib/cache-control'\n\nimport '../lib/setup-exception-listeners'\n\nimport { loadEnvConfig, type LoadedEnvFiles } from '@next/env'\nimport { bold, yellow } from '../lib/picocolors'\nimport { makeRe } from 'next/dist/compiled/picomatch'\nimport { existsSync, promises as fs } from 'fs'\nimport os from 'os'\nimport { Worker } from '../lib/worker'\nimport { defaultConfig } from '../server/config-shared'\nimport devalue from 'next/dist/compiled/devalue'\nimport findUp from 'next/dist/compiled/find-up'\nimport { nanoid } from 'next/dist/compiled/nanoid/index.cjs'\nimport path from 'path'\nimport {\n STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR,\n PUBLIC_DIR_MIDDLEWARE_CONFLICT,\n MIDDLEWARE_FILENAME,\n PAGES_DIR_ALIAS,\n INSTRUMENTATION_HOOK_FILENAME,\n RSC_PREFETCH_SUFFIX,\n RSC_SUFFIX,\n NEXT_RESUME_HEADER,\n PRERENDER_REVALIDATE_HEADER,\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER,\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER,\n NEXT_CACHE_REVALIDATED_TAGS_HEADER,\n MATCHED_PATH_HEADER,\n RSC_SEGMENTS_DIR_SUFFIX,\n RSC_SEGMENT_SUFFIX,\n} from '../lib/constants'\nimport { FileType, fileExists } from '../lib/file-exists'\nimport { findPagesDir } from '../lib/find-pages-dir'\nimport loadCustomRoutes, {\n normalizeRouteRegex,\n} from '../lib/load-custom-routes'\nimport type {\n CustomRoutes,\n Header,\n Redirect,\n Rewrite,\n RouteHas,\n} from '../lib/load-custom-routes'\nimport { nonNullable } from '../lib/non-nullable'\nimport { recursiveDelete } from '../lib/recursive-delete'\nimport { verifyPartytownSetup } from '../lib/verify-partytown-setup'\nimport {\n BUILD_ID_FILE,\n BUILD_MANIFEST,\n CLIENT_STATIC_FILES_PATH,\n EXPORT_DETAIL,\n EXPORT_MARKER,\n IMAGES_MANIFEST,\n PAGES_MANIFEST,\n PHASE_PRODUCTION_BUILD,\n PRERENDER_MANIFEST,\n REACT_LOADABLE_MANIFEST,\n ROUTES_MANIFEST,\n SERVER_DIRECTORY,\n SERVER_FILES_MANIFEST,\n STATIC_STATUS_PAGES,\n MIDDLEWARE_MANIFEST,\n APP_PATHS_MANIFEST,\n APP_PATH_ROUTES_MANIFEST,\n APP_BUILD_MANIFEST,\n RSC_MODULE_TYPES,\n NEXT_FONT_MANIFEST,\n SUBRESOURCE_INTEGRITY_MANIFEST,\n MIDDLEWARE_BUILD_MANIFEST,\n MIDDLEWARE_REACT_LOADABLE_MANIFEST,\n SERVER_REFERENCE_MANIFEST,\n FUNCTIONS_CONFIG_MANIFEST,\n DYNAMIC_CSS_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n} from '../shared/lib/constants'\nimport {\n UNDERSCORE_NOT_FOUND_ROUTE,\n UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,\n UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY,\n} from '../shared/lib/entry-constants'\nimport { isDynamicRoute } from '../shared/lib/router/utils'\nimport type { __ApiPreviewProps } from '../server/api-utils'\nimport loadConfig from '../server/config'\nimport type { BuildManifest } from '../server/get-page-files'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\nimport { getPagePath } from '../server/require'\nimport * as ciEnvironment from '../server/ci-info'\nimport {\n turborepoTraceAccess,\n TurborepoAccessTraceResult,\n writeTurborepoAccessTraceResult,\n} from './turborepo-access-trace'\n\nimport {\n eventBuildOptimize,\n eventCliSession,\n eventBuildFeatureUsage,\n eventNextPlugins,\n EVENT_BUILD_FEATURE_USAGE,\n eventPackageUsedInGetServerSideProps,\n eventBuildCompleted,\n eventBuildFailed,\n} from '../telemetry/events'\nimport type { EventBuildFeatureUsage } from '../telemetry/events'\nimport { Telemetry } from '../telemetry/storage'\nimport {\n createPagesMapping,\n collectAppFiles,\n processPageRoutes,\n processAppRoutes,\n processLayoutRoutes,\n extractSlotsFromAppRoutes,\n extractSlotsFromDefaultFiles,\n combineSlots,\n type RouteInfo,\n type SlotInfo,\n collectPagesFiles,\n} from './entries'\nimport { sortByPageExts } from './sort-by-page-exts'\nimport { getStaticInfoIncludingLayouts } from './get-static-info-including-layouts'\nimport { PAGE_TYPES } from '../lib/page-types'\nimport { generateBuildId } from './generate-build-id'\nimport { isWriteable } from './is-writeable'\nimport * as Log from './output/log'\nimport createSpinner from './spinner'\nimport { trace, flushAllTraces, setGlobal, type Span } from '../trace'\nimport {\n detectConflictingPaths,\n computeFromManifest,\n getJsPageSizeInKb,\n printCustomRoutes,\n printTreeView,\n copyTracedFiles,\n isReservedPage,\n isAppBuiltinPage,\n collectRoutesUsingEdgeRuntime,\n collectMeta,\n} from './utils'\nimport type { PageInfo, PageInfos } from './utils'\nimport type { FallbackRouteParam, PrerenderedRoute } from './static-paths/types'\nimport type { AppSegmentConfig } from './segment-config/app/app-segment-config'\nimport { writeBuildId } from './write-build-id'\nimport { normalizeLocalePath } from '../shared/lib/i18n/normalize-locale-path'\nimport isError from '../lib/is-error'\nimport type { NextError } from '../lib/is-error'\nimport { isEdgeRuntime } from '../lib/is-edge-runtime'\nimport { recursiveCopy } from '../lib/recursive-copy'\nimport { lockfilePatchPromise, teardownTraceSubscriber } from './swc'\nimport { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex'\nimport { getFilesInDir } from '../lib/get-files-in-dir'\nimport { eventSwcPlugins } from '../telemetry/events/swc-plugins'\nimport { normalizeAppPath } from '../shared/lib/router/utils/app-paths'\nimport {\n ACTION_HEADER,\n NEXT_ROUTER_PREFETCH_HEADER,\n RSC_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n NEXT_REWRITTEN_PATH_HEADER,\n NEXT_REWRITTEN_QUERY_HEADER,\n} from '../client/components/app-router-headers'\nimport { webpackBuild } from './webpack-build'\nimport { NextBuildContext, type MappedPages } from './build-context'\nimport { normalizePathSep } from '../shared/lib/page-path/normalize-path-sep'\nimport { isAppRouteRoute } from '../lib/is-app-route-route'\nimport { createClientRouterFilter } from '../lib/create-client-router-filter'\nimport { createValidFileMatcher } from '../server/lib/find-page-file'\nimport { startTypeChecking } from './type-check'\nimport { generateInterceptionRoutesRewrites } from '../lib/generate-interception-routes-rewrites'\n\nimport { buildDataRoute } from '../server/lib/router-utils/build-data-route'\nimport { collectBuildTraces } from './collect-build-traces'\nimport type { BuildTraceContext } from './webpack/plugins/next-trace-entrypoints-plugin'\nimport { formatManifest } from './manifests/formatter/format-manifest'\nimport {\n recordFrameworkVersion,\n updateBuildDiagnostics,\n recordFetchMetrics,\n} from '../diagnostics/build-diagnostics'\nimport { getStartServerInfo, logStartInfo } from '../server/lib/app-info-log'\nimport type { NextEnabledDirectories } from '../server/base-server'\nimport { hasCustomExportOutput } from '../export/utils'\nimport { buildCustomRoute } from '../lib/build-custom-route'\nimport { traceMemoryUsage } from '../lib/memory/trace'\nimport { generateEncryptionKeyBase64 } from '../server/app-render/encryption-utils-server'\nimport type { DeepReadonly } from '../shared/lib/deep-readonly'\nimport uploadTrace from '../trace/upload-trace'\nimport {\n checkIsAppPPREnabled,\n checkIsRoutePPREnabled,\n} from '../server/lib/experimental/ppr'\nimport { FallbackMode, fallbackModeToFallbackField } from '../lib/fallback'\nimport { RenderingMode } from './rendering-mode'\nimport { InvariantError } from '../shared/lib/invariant-error'\nimport { HTML_LIMITED_BOT_UA_RE_STRING } from '../shared/lib/router/utils/is-bot'\nimport type { UseCacheTrackerKey } from './webpack/plugins/telemetry-plugin/use-cache-tracker-utils'\nimport {\n buildInversePrefetchSegmentDataRoute,\n buildPrefetchSegmentDataRoute,\n type PrefetchSegmentDataRoute,\n} from '../server/lib/router-utils/build-prefetch-segment-data-route'\n\nimport { turbopackBuild } from './turbopack-build'\nimport { isPersistentCachingEnabled } from '../shared/lib/turbopack/utils'\nimport { inlineStaticEnv } from '../lib/inline-static-env'\nimport { populateStaticEnv } from '../lib/static-env'\nimport { durationToString } from './duration-to-string'\nimport { traceGlobals } from '../trace/shared'\nimport { extractNextErrorCode } from '../lib/error-telemetry-utils'\nimport { runAfterProductionCompile } from './after-production-compile'\nimport { generatePreviewKeys } from './preview-key-utils'\nimport { handleBuildComplete } from './adapter/build-complete'\nimport {\n sortPageObjects,\n sortPages,\n sortSortableRouteObjects,\n} from '../shared/lib/router/utils/sortable-routes'\nimport { mkdir } from 'fs/promises'\nimport {\n createRouteTypesManifest,\n writeRouteTypesManifest,\n writeValidatorFile,\n} from '../server/lib/router-utils/route-types-utils'\n\ntype Fallback = null | boolean | string\n\nexport interface PrerenderManifestRoute {\n dataRoute: string | null\n experimentalBypassFor?: RouteHas[]\n\n /**\n * The headers that should be served along side this prerendered route.\n */\n initialHeaders?: Record<string, string>\n\n /**\n * The status code that should be served along side this prerendered route.\n */\n initialStatus?: number\n\n /**\n * The revalidate value for this route. This might be inferred from:\n * - route segment configs\n * - fetch calls\n * - unstable_cache\n * - \"use cache\"\n */\n initialRevalidateSeconds: Revalidate\n\n /**\n * The expire value for this route, which is inferred from the \"use cache\"\n * functions that are used by the route, or the expireTime config.\n */\n initialExpireSeconds: number | undefined\n\n /**\n * The prefetch data route associated with this page. If not defined, this\n * page does not support prefetching.\n */\n prefetchDataRoute: string | null | undefined\n\n /**\n * The dynamic route that this statically prerendered route is based on. If\n * this is null, then the route was not based on a dynamic route.\n */\n srcRoute: string | null\n\n /**\n * @deprecated use `renderingMode` instead\n */\n experimentalPPR: boolean | undefined\n\n /**\n * The rendering mode for this route. Only `undefined` when not an app router\n * route.\n */\n renderingMode: RenderingMode | undefined\n\n /**\n * The headers that are allowed to be used when revalidating this route. These\n * are used internally by Next.js to revalidate routes.\n */\n allowHeader: string[]\n}\n\nexport interface DynamicPrerenderManifestRoute {\n dataRoute: string | null\n dataRouteRegex: string | null\n experimentalBypassFor?: RouteHas[]\n fallback: Fallback\n\n /**\n * When defined, it describes the revalidation configuration for the fallback\n * route.\n */\n fallbackRevalidate: Revalidate | undefined\n\n /**\n * When defined, it describes the expire configuration for the fallback route.\n */\n fallbackExpire: number | undefined\n\n /**\n * The headers that should used when serving the fallback.\n */\n fallbackHeaders?: Record<string, string>\n\n /**\n * The status code that should be used when serving the fallback.\n */\n fallbackStatus?: number\n\n /**\n * The root params that are unknown for this fallback route.\n */\n fallbackRootParams: readonly string[] | undefined\n\n /**\n * The fallback route params for this route that were parsed from the loader\n * tree.\n */\n fallbackRouteParams: readonly FallbackRouteParam[] | undefined\n\n /**\n * The source route that this fallback route is based on. This is a reference\n * so that we can associate this dynamic route with the correct source.\n */\n fallbackSourceRoute: string | undefined\n\n prefetchDataRoute: string | null | undefined\n prefetchDataRouteRegex: string | null | undefined\n routeRegex: string\n\n /**\n * @deprecated use `renderingMode` instead\n */\n experimentalPPR: boolean | undefined\n\n /**\n * The rendering mode for this route. Only `undefined` when not an app router\n * route.\n */\n renderingMode: RenderingMode | undefined\n\n /**\n * The headers that are allowed to be used when revalidating this route. These\n * are used internally by Next.js to revalidate routes.\n */\n allowHeader: string[]\n}\n\n/**\n * The headers that are allowed to be used when revalidating routes. Currently\n * this includes both headers used by the pages and app routers.\n */\nconst ALLOWED_HEADERS: string[] = [\n 'host',\n MATCHED_PATH_HEADER,\n PRERENDER_REVALIDATE_HEADER,\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER,\n NEXT_CACHE_REVALIDATED_TAGS_HEADER,\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER,\n]\n\nexport type PrerenderManifest = {\n version: 4\n routes: { [route: string]: PrerenderManifestRoute }\n dynamicRoutes: { [route: string]: DynamicPrerenderManifestRoute }\n notFoundRoutes: string[]\n preview: __ApiPreviewProps\n}\n\ntype ManifestBuiltRoute = {\n /**\n * The route pattern used to match requests for this route.\n */\n regex: string\n}\n\nexport type ManifestRewriteRoute = ManifestBuiltRoute & Rewrite\nexport type ManifestRedirectRoute = ManifestBuiltRoute & Redirect\nexport type ManifestHeaderRoute = ManifestBuiltRoute & Header\n\nexport type ManifestRoute = ManifestBuiltRoute & {\n page: string\n namedRegex: string\n routeKeys: { [key: string]: string }\n\n /**\n * If true, this indicates that the route has fallback root params. This is\n * used to simplify the route regex for matching.\n */\n hasFallbackRootParams?: boolean\n\n /**\n * The prefetch segment data routes for this route. This is used to rewrite\n * the prefetch segment data routes (or the inverse) to the correct\n * destination.\n */\n prefetchSegmentDataRoutes?: PrefetchSegmentDataRoute[]\n\n /**\n * If true, this indicates that the route should not be considered for routing\n * for the internal router, and instead has been added to support external\n * routers.\n */\n skipInternalRouting?: boolean\n}\n\ntype 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\ntype ManifestDataRoute = {\n page: string\n routeKeys?: { [key: string]: string }\n dataRouteRegex: string\n namedDataRouteRegex?: string\n}\n\nexport type RoutesManifest = {\n version: number\n pages404: boolean\n basePath: string\n redirects: Array<ManifestRedirectRoute>\n rewrites: {\n beforeFiles: Array<ManifestRewriteRoute>\n afterFiles: Array<ManifestRewriteRoute>\n fallback: Array<ManifestRewriteRoute>\n }\n headers: Array<ManifestHeaderRoute>\n staticRoutes: Array<ManifestRoute>\n dynamicRoutes: ReadonlyArray<DynamicManifestRoute>\n dataRoutes: Array<ManifestDataRoute>\n i18n?: {\n domains?: ReadonlyArray<{\n http?: true\n domain: string\n locales?: readonly string[]\n defaultLocale: string\n }>\n locales: readonly string[]\n defaultLocale: string\n localeDetection?: false\n }\n rsc: {\n header: typeof RSC_HEADER\n didPostponeHeader: typeof NEXT_DID_POSTPONE_HEADER\n contentTypeHeader: typeof RSC_CONTENT_TYPE_HEADER\n varyHeader: string\n prefetchHeader: typeof NEXT_ROUTER_PREFETCH_HEADER\n suffix: typeof RSC_SUFFIX\n prefetchSuffix: typeof RSC_PREFETCH_SUFFIX\n prefetchSegmentHeader: typeof NEXT_ROUTER_SEGMENT_PREFETCH_HEADER\n prefetchSegmentDirSuffix: typeof RSC_SEGMENTS_DIR_SUFFIX\n prefetchSegmentSuffix: typeof RSC_SEGMENT_SUFFIX\n\n /**\n * Whether the client param parsing is enabled. This is only relevant for\n * app pages when PPR is enabled.\n */\n clientParamParsing: boolean\n\n /**\n * The origins that are allowed to write the rewritten headers when\n * performing a non-relative rewrite. When undefined, no non-relative\n * rewrites will get the rewrite headers.\n */\n clientParamParsingOrigins: string[] | undefined\n dynamicRSCPrerender: boolean\n }\n rewriteHeaders: {\n pathHeader: typeof NEXT_REWRITTEN_PATH_HEADER\n queryHeader: typeof NEXT_REWRITTEN_QUERY_HEADER\n }\n skipMiddlewareUrlNormalize?: boolean\n caseSensitive?: boolean\n /**\n * Configuration related to Partial Prerendering.\n */\n ppr?: {\n /**\n * The chained response for the PPR resume.\n */\n chain: {\n /**\n * The headers that will indicate to Next.js that the request is for a PPR\n * resume.\n */\n headers: Record<string, string>\n }\n }\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 */\nfunction 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 */\nfunction pageToRoute(\n page: string,\n sourcePage: string | undefined\n): DynamicManifestRoute\nfunction 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\nfunction getCacheDir(distDir: string): string {\n const cacheDir = path.join(distDir, 'cache')\n if (ciEnvironment.isCI && !ciEnvironment.hasNextSupport) {\n const hasCache = existsSync(cacheDir)\n\n if (!hasCache) {\n // Intentionally not piping to stderr which is what `Log.warn` does in case people fail in CI when\n // stderr is detected.\n console.log(\n `${Log.prefixes.warn} No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache`\n )\n }\n }\n return cacheDir\n}\n\nasync function writeFileUtf8(filePath: string, content: string): Promise<void> {\n await fs.writeFile(filePath, content, 'utf-8')\n}\n\nfunction readFileUtf8(filePath: string): Promise<string> {\n return fs.readFile(filePath, 'utf8')\n}\n\nasync function writeManifest<T extends object>(\n filePath: string,\n manifest: T\n): Promise<void> {\n await writeFileUtf8(filePath, formatManifest(manifest))\n}\n\nasync function readManifest<T extends object>(filePath: string): Promise<T> {\n return JSON.parse(await readFileUtf8(filePath))\n}\n\nasync function writePrerenderManifest(\n distDir: string,\n manifest: DeepReadonly<PrerenderManifest>\n): Promise<void> {\n await writeManifest(path.join(distDir, PRERENDER_MANIFEST), manifest)\n}\n\nasync function writeClientSsgManifest(\n prerenderManifest: DeepReadonly<PrerenderManifest>,\n {\n buildId,\n distDir,\n locales,\n }: {\n buildId: string\n distDir: string\n locales: readonly string[] | undefined\n }\n) {\n const ssgPages = new Set<string>(\n [\n ...Object.entries(prerenderManifest.routes)\n // Filter out dynamic routes\n .filter(([, { srcRoute }]) => srcRoute == null)\n .map(([route]) => normalizeLocalePath(route, locales).pathname),\n ...Object.keys(prerenderManifest.dynamicRoutes),\n ].sort()\n )\n\n const clientSsgManifestContent = `self.__SSG_MANIFEST=${devalue(\n ssgPages\n )};self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()`\n\n await writeFileUtf8(\n path.join(distDir, CLIENT_STATIC_FILES_PATH, buildId, '_ssgManifest.js'),\n clientSsgManifestContent\n )\n}\n\nexport interface FunctionsConfigManifest {\n version: number\n functions: Record<\n string,\n {\n maxDuration?: number | undefined\n runtime?: 'nodejs'\n regions?: string[] | string\n matchers?: Array<{\n regexp: string\n originalSource: string\n has?: Rewrite['has']\n missing?: Rewrite['has']\n }>\n }\n >\n}\n\nasync function writeFunctionsConfigManifest(\n distDir: string,\n manifest: FunctionsConfigManifest\n): Promise<void> {\n await writeManifest(\n path.join(distDir, SERVER_DIRECTORY, FUNCTIONS_CONFIG_MANIFEST),\n manifest\n )\n}\n\nexport interface RequiredServerFilesManifest {\n version: number\n config: NextConfigComplete\n appDir: string\n relativeAppDir: string\n files: string[]\n ignore: string[]\n}\n\nasync function writeRequiredServerFilesManifest(\n distDir: string,\n requiredServerFiles: RequiredServerFilesManifest\n) {\n await writeManifest(\n path.join(distDir, SERVER_FILES_MANIFEST),\n requiredServerFiles\n )\n}\n\nasync function writeImagesManifest(\n distDir: string,\n config: NextConfigComplete\n): Promise<void> {\n const images = { ...config.images }\n const { deviceSizes, imageSizes } = images\n ;(images as any).sizes = [...deviceSizes, ...imageSizes]\n\n // By default, remotePatterns will allow no remote images ([])\n images.remotePatterns = (config?.images?.remotePatterns || []).map((p) => ({\n // Modifying the manifest should also modify matchRemotePattern()\n protocol: p.protocol?.replace(/:$/, '') as 'http' | 'https' | undefined,\n hostname: makeRe(p.hostname).source,\n port: p.port,\n pathname: makeRe(p.pathname ?? '**', { dot: true }).source,\n search: p.search,\n }))\n\n // By default, localPatterns will allow all local images (undefined)\n if (config?.images?.localPatterns) {\n images.localPatterns = config.images.localPatterns.map((p) => ({\n // Modifying the manifest should also modify matchLocalPattern()\n pathname: makeRe(p.pathname ?? '**', { dot: true }).source,\n search: p.search,\n }))\n }\n\n await writeManifest(path.join(distDir, IMAGES_MANIFEST), {\n version: 1,\n images,\n })\n}\n\nconst STANDALONE_DIRECTORY = 'standalone' as const\nasync function writeStandaloneDirectory(\n nextBuildSpan: Span,\n distDir: string,\n pageKeys: { pages: string[]; app: string[] | undefined },\n denormalizedAppPages: string[] | undefined,\n outputFileTracingRoot: string,\n requiredServerFiles: RequiredServerFilesManifest,\n middlewareManifest: MiddlewareManifest,\n hasNodeMiddleware: boolean,\n hasInstrumentationHook: boolean,\n staticPages: Set<string>,\n loadedEnvFiles: LoadedEnvFiles,\n appDir: string | undefined\n) {\n await nextBuildSpan\n .traceChild('write-standalone-directory')\n .traceAsyncFn(async () => {\n await copyTracedFiles(\n // requiredServerFiles.appDir Refers to the application directory, not App Router.\n requiredServerFiles.appDir,\n distDir,\n pageKeys.pages,\n denormalizedAppPages,\n outputFileTracingRoot,\n requiredServerFiles.config,\n middlewareManifest,\n hasNodeMiddleware,\n hasInstrumentationHook,\n staticPages\n )\n\n for (const file of [\n ...requiredServerFiles.files,\n path.join(requiredServerFiles.config.distDir, SERVER_FILES_MANIFEST),\n ...loadedEnvFiles.reduce<string[]>((acc, envFile) => {\n if (['.env', '.env.production'].includes(envFile.path)) {\n acc.push(envFile.path)\n }\n return acc\n }, []),\n ]) {\n // requiredServerFiles.appDir Refers to the application directory, not App Router.\n const filePath = path.join(requiredServerFiles.appDir, file)\n const outputPath = path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, filePath)\n )\n await fs.mkdir(path.dirname(outputPath), {\n recursive: true,\n })\n await fs.copyFile(filePath, outputPath)\n }\n\n if (hasNodeMiddleware) {\n const middlewareOutput = path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, distDir),\n SERVER_DIRECTORY,\n 'middleware.js'\n )\n\n await fs.mkdir(path.dirname(middlewareOutput), { recursive: true })\n await fs.copyFile(\n path.join(distDir, SERVER_DIRECTORY, 'middleware.js'),\n middlewareOutput\n )\n }\n\n await recursiveCopy(\n path.join(distDir, SERVER_DIRECTORY, 'pages'),\n path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, distDir),\n SERVER_DIRECTORY,\n 'pages'\n ),\n { overwrite: true }\n )\n if (appDir) {\n const originalServerApp = path.join(distDir, SERVER_DIRECTORY, 'app')\n if (existsSync(originalServerApp)) {\n await recursiveCopy(\n originalServerApp,\n path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, distDir),\n SERVER_DIRECTORY,\n 'app'\n ),\n { overwrite: true }\n )\n }\n }\n })\n}\n\nfunction getNumberOfWorkers(config: NextConfigComplete) {\n if (\n config.experimental.cpus &&\n config.experimental.cpus !== defaultConfig.experimental!.cpus\n ) {\n return config.experimental.cpus\n }\n\n if (config.experimental.memoryBasedWorkersCount) {\n return Math.max(\n Math.min(config.experimental.cpus || 1, Math.floor(os.freemem() / 1e9)),\n // enforce a minimum of 4 workers\n 4\n )\n }\n\n if (config.experimental.cpus) {\n return config.experimental.cpus\n }\n\n // Fall back to 4 workers if a count is not specified\n return 4\n}\n\nconst staticWorkerPath = require.resolve('./worker')\nconst staticWorkerExposedMethods = [\n 'hasCustomGetInitialProps',\n 'isPageStatic',\n 'getDefinedNamedExports',\n 'exportPages',\n] as const\nexport type StaticWorker = typeof import('./worker') & Worker\nexport function createStaticWorker(\n config: NextConfigComplete,\n options: {\n debuggerPortOffset: number\n progress?: {\n run: () => void\n clear: () => void\n }\n }\n): StaticWorker {\n const { debuggerPortOffset, progress } = options\n return new Worker(staticWorkerPath, {\n logger: Log,\n numWorkers: getNumberOfWorkers(config),\n onActivity: () => {\n progress?.run()\n },\n onActivityAbort: () => {\n progress?.clear()\n },\n debuggerPortOffset,\n enableSourceMaps: config.experimental.enablePrerenderSourceMaps,\n // remove --max-old-space-size flag as it can cause memory issues.\n isolatedMemory: true,\n enableWorkerThreads: config.experimental.workerThreads,\n exposedMethods: staticWorkerExposedMethods,\n }) as StaticWorker\n}\n\nasync function writeFullyStaticExport(\n config: NextConfigComplete,\n dir: string,\n enabledDirectories: NextEnabledDirectories,\n configOutDir: string,\n nextBuildSpan: Span,\n appDirOnly: boolean\n): Promise<void> {\n const exportApp = (require('../export') as typeof import('../export'))\n .default as typeof import('../export').default\n\n await exportApp(\n dir,\n {\n buildExport: false,\n nextConfig: config,\n enabledDirectories,\n silent: true,\n outdir: path.join(dir, configOutDir),\n numWorkers: getNumberOfWorkers(config),\n appDirOnly,\n },\n nextBuildSpan\n )\n}\n\nasync function getBuildId(\n isGenerateMode: boolean,\n distDir: string,\n nextBuildSpan: Span,\n config: NextConfigComplete\n) {\n if (isGenerateMode) {\n return await fs.readFile(path.join(distDir, 'BUILD_ID'), 'utf8')\n }\n return await nextBuildSpan\n .traceChild('generate-buildid')\n .traceAsyncFn(() => generateBuildId(config.generateBuildId, nanoid))\n}\n\nexport default async function build(\n dir: string,\n reactProductionProfiling = false,\n debugOutput = false,\n debugPrerender = false,\n runLint = true,\n noMangling = false,\n appDirOnly = false,\n isTurbopack = false,\n experimentalBuildMode: 'default' | 'compile' | 'generate' | 'generate-env',\n traceUploadUrl: string | undefined\n): Promise<void> {\n const isCompileMode = experimentalBuildMode === 'compile'\n const isGenerateMode = experimentalBuildMode === 'generate'\n NextBuildContext.isCompileMode = isCompileMode\n const buildStartTime = Date.now()\n\n let loadedConfig: NextConfigComplete | undefined\n try {\n const nextBuildSpan = trace('next-build', undefined, {\n buildMode: experimentalBuildMode,\n isTurboBuild: String(isTurbopack),\n version: process.env.__NEXT_VERSION as string,\n })\n\n NextBuildContext.nextBuildSpan = nextBuildSpan\n NextBuildContext.dir = dir\n NextBuildContext.appDirOnly = appDirOnly\n NextBuildContext.reactProductionProfiling = reactProductionProfiling\n NextBuildContext.noMangling = noMangling\n NextBuildContext.debugPrerender = debugPrerender\n\n await nextBuildSpan.traceAsyncFn(async () => {\n // attempt to load global env values so they are available in next.config.js\n const { loadedEnvFiles } = nextBuildSpan\n .traceChild('load-dotenv')\n .traceFn(() => loadEnvConfig(dir, false, Log))\n NextBuildContext.loadedEnvFiles = loadedEnvFiles\n\n const turborepoAccessTraceResult = new TurborepoAccessTraceResult()\n const config: NextConfigComplete = await nextBuildSpan\n .traceChild('load-next-config')\n .traceAsyncFn(() =>\n turborepoTraceAccess(\n () =>\n loadConfig(PHASE_PRODUCTION_BUILD, dir, {\n // Log for next.config loading process\n silent: false,\n reactProductionProfiling,\n debugPrerender,\n }),\n turborepoAccessTraceResult\n )\n )\n loadedConfig = config\n\n process.env.NEXT_DEPLOYMENT_ID = config.deploymentId || ''\n NextBuildContext.config = config\n\n let configOutDir = 'out'\n if (hasCustomExportOutput(config)) {\n configOutDir = config.distDir\n config.distDir = '.next'\n }\n const distDir = path.join(dir, config.distDir)\n NextBuildContext.distDir = distDir\n setGlobal('phase', PHASE_PRODUCTION_BUILD)\n setGlobal('distDir', distDir)\n\n const buildId = await getBuildId(\n isGenerateMode,\n distDir,\n nextBuildSpan,\n config\n )\n NextBuildContext.buildId = buildId\n\n if (experimentalBuildMode === 'generate-env') {\n if (isTurbopack) {\n Log.warn('generate-env is not needed with turbopack')\n process.exit(0)\n }\n Log.info('Inlining static env ...')\n await nextBuildSpan\n .traceChild('inline-static-env')\n .traceAsyncFn(async () => {\n await inlineStaticEnv({\n distDir,\n config,\n })\n })\n\n Log.info('Complete')\n await flushAllTraces()\n teardownTraceSubscriber()\n process.exit(0)\n }\n\n // when using compile mode static env isn't inlined so we\n // need to populate in normal runtime env\n if (isCompileMode || isGenerateMode) {\n populateStaticEnv(config)\n }\n\n const customRoutes: CustomRoutes = await nextBuildSpan\n .traceChild('load-custom-routes')\n .traceAsyncFn(() => loadCustomRoutes(config))\n\n const { headers, rewrites, redirects } = customRoutes\n const combinedRewrites: Rewrite[] = [\n ...rewrites.beforeFiles,\n ...rewrites.afterFiles,\n ...rewrites.fallback,\n ]\n const hasRewrites = combinedRewrites.length > 0\n NextBuildContext.hasRewrites = hasRewrites\n NextBuildContext.originalRewrites = config._originalRewrites\n NextBuildContext.originalRedirects = config._originalRedirects\n\n const cacheDir = getCacheDir(distDir)\n\n const telemetry = new Telemetry({ distDir })\n\n setGlobal('telemetry', telemetry)\n\n const publicDir = path.join(dir, 'public')\n const { pagesDir, appDir } = findPagesDir(dir)\n\n if (!appDirOnly && !pagesDir) {\n appDirOnly = true\n }\n\n NextBuildContext.pagesDir = pagesDir\n NextBuildContext.appDir = appDir\n\n const enabledDirectories: NextEnabledDirectories = {\n app: typeof appDir === 'string',\n pages: typeof pagesDir === 'string',\n }\n\n // Generate a random encryption key for this build.\n // This key is used to encrypt cross boundary values and can be used to generate hashes.\n const encryptionKey = await generateEncryptionKeyBase64({\n isBuild: true,\n distDir,\n })\n NextBuildContext.encryptionKey = encryptionKey\n\n const isSrcDir = path\n .relative(dir, pagesDir || appDir || '')\n .startsWith('src')\n const hasPublicDir = existsSync(publicDir)\n\n telemetry.record(\n eventCliSession(config, {\n webpackVersion: 5,\n cliCommand: 'build',\n isSrcDir,\n hasNowJson: !!(await findUp('now.json', { cwd: dir })),\n isCustomServer: null,\n turboFlag: false,\n pagesDir: !!pagesDir,\n appDir: !!appDir,\n })\n )\n\n eventNextPlugins(path.resolve(dir)).then((events) =>\n telemetry.record(events)\n )\n\n eventSwcPlugins(path.resolve(dir), config).then((events) =>\n telemetry.record(events)\n )\n\n // Always log next version first then start rest jobs\n const { envInfo, experimentalFeatures } = await getStartServerInfo({\n dir,\n dev: false,\n debugPrerender,\n })\n\n logStartInfo({\n networkUrl: null,\n appUrl: null,\n envInfo,\n experimentalFeatures,\n logBundler: true,\n })\n\n const ignoreESLint = Boolean(config.eslint.ignoreDuringBuilds)\n const shouldLint = !ignoreESLint && runLint\n\n const typeCheckingOptions: Parameters<typeof startTypeChecking>[0] = {\n dir,\n appDir,\n pagesDir,\n runLint,\n shouldLint,\n ignoreESLint,\n telemetry,\n nextBuildSpan,\n config,\n cacheDir,\n }\n\n const distDirCreated = await nextBuildSpan\n .traceChild('create-dist-dir')\n .traceAsyncFn(async () => {\n try {\n await fs.mkdir(distDir, { recursive: true })\n return true\n } catch (err) {\n if (isError(err) && err.code === 'EPERM') {\n return false\n }\n throw err\n }\n })\n\n if (!distDirCreated || !(await isWriteable(distDir))) {\n throw new Error(\n '> Build directory is not writeable. https://nextjs.org/docs/messages/build-dir-not-writeable'\n )\n }\n\n if (config.cleanDistDir && !isGenerateMode) {\n await recursiveDelete(distDir, /^cache/)\n }\n\n if (appDir && 'exportPathMap' in config) {\n Log.error(\n 'The \"exportPathMap\" configuration cannot be used with the \"app\" directory. Please use generateStaticParams() instead.'\n )\n await telemetry.flush()\n process.exit(1)\n }\n\n const buildLintEvent: EventBuildFeatureUsage = {\n featureName: 'build-lint',\n invocationCount: shouldLint ? 1 : 0,\n }\n telemetry.record({\n eventName: EVENT_BUILD_FEATURE_USAGE,\n payload: buildLintEvent,\n })\n\n const validFileMatcher = createValidFileMatcher(\n config.pageExtensions,\n appDir\n )\n\n const providedPagePaths: string[] = JSON.parse(\n process.env.NEXT_PRIVATE_PAGE_PATHS || '[]'\n )\n\n let pagesPaths = Boolean(process.env.NEXT_PRIVATE_PAGE_PATHS)\n ? providedPagePaths\n : !appDirOnly && pagesDir\n ? await nextBuildSpan\n .traceChild('collect-pages')\n .traceAsyncFn(() => collectPagesFiles(pagesDir, validFileMatcher))\n : []\n\n const middlewareDetectionRegExp = new RegExp(\n `^${MIDDLEWARE_FILENAME}\\\\.(?:${config.pageExtensions.join('|')})$`\n )\n\n const instrumentationHookDetectionRegExp = new RegExp(\n `^${INSTRUMENTATION_HOOK_FILENAME}\\\\.(?:${config.pageExtensions.join(\n '|'\n )})$`\n )\n\n const rootDir = path.join((pagesDir || appDir)!, '..')\n const includes = [\n middlewareDetectionRegExp,\n instrumentationHookDetectionRegExp,\n ]\n\n const rootPaths = Array.from(await getFilesInDir(rootDir))\n .filter((file) => includes.some((include) => include.test(file)))\n .sort(sortByPageExts(config.pageExtensions))\n .map((file) => path.join(rootDir, file).replace(dir, ''))\n\n const hasInstrumentationHook = rootPaths.some((p) =>\n p.includes(INSTRUMENTATION_HOOK_FILENAME)\n )\n const hasMiddlewareFile = rootPaths.some((p) =>\n p.includes(MIDDLEWARE_FILENAME)\n )\n\n NextBuildContext.hasInstrumentationHook = hasInstrumentationHook\n\n const previewProps: __ApiPreviewProps = await generatePreviewKeys({\n isBuild: true,\n distDir,\n })\n NextBuildContext.previewProps = previewProps\n\n const mappedPages = await nextBuildSpan\n .traceChild('create-pages-mapping')\n .traceAsyncFn(() =>\n createPagesMapping({\n isDev: false,\n pageExtensions: config.pageExtensions,\n pagesType: PAGE_TYPES.PAGES,\n pagePaths: pagesPaths,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n NextBuildContext.mappedPages = mappedPages\n\n let mappedAppPages: MappedPages | undefined\n let mappedAppLayouts: MappedPages | undefined\n let denormalizedAppPages: string[] | undefined\n\n if (appDir) {\n const providedAppPaths: string[] = JSON.parse(\n process.env.NEXT_PRIVATE_APP_PATHS || '[]'\n )\n\n let appPaths: string[]\n let layoutPaths: string[]\n\n if (Boolean(process.env.NEXT_PRIVATE_APP_PATHS)) {\n // used for testing?\n appPaths = providedAppPaths\n layoutPaths = []\n } else {\n // Collect app pages, layouts, and default files in a single directory traversal\n const result = await nextBuildSpan\n .traceChild('collect-app-files')\n .traceAsyncFn(() => collectAppFiles(appDir, validFileMatcher))\n\n appPaths = result.appPaths\n layoutPaths = result.layoutPaths\n // Note: defaultPaths are not used in the build process, only for slot detection in generating route types\n }\n\n mappedAppPages = await nextBuildSpan\n .traceChild('create-app-mapping')\n .traceAsyncFn(() =>\n createPagesMapping({\n pagePaths: appPaths,\n isDev: false,\n pagesType: PAGE_TYPES.APP,\n pageExtensions: config.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n\n mappedAppLayouts = await nextBuildSpan\n .traceChild('create-app-layouts')\n .traceAsyncFn(() =>\n createPagesMapping({\n pagePaths: layoutPaths,\n isDev: false,\n pagesType: PAGE_TYPES.APP,\n pageExtensions: config.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n\n NextBuildContext.mappedAppPages = mappedAppPages\n }\n\n const mappedRootPaths = await createPagesMapping({\n isDev: false,\n pageExtensions: config.pageExtensions,\n pagePaths: rootPaths,\n pagesType: PAGE_TYPES.ROOT,\n pagesDir: pagesDir,\n appDir,\n appDirOnly,\n })\n NextBuildContext.mappedRootPaths = mappedRootPaths\n\n const pagesPageKeys = Object.keys(mappedPages)\n\n const conflictingAppPagePaths: [pagePath: string, appPath: string][] = []\n const appPageKeys = new Set<string>()\n if (mappedAppPages) {\n denormalizedAppPages = Object.keys(mappedAppPages)\n for (const appKey of denormalizedAppPages) {\n const normalizedAppPageKey = normalizeAppPath(appKey)\n const pagePath = mappedPages[normalizedAppPageKey]\n if (pagePath) {\n const appPath = mappedAppPages[appKey]\n conflictingAppPagePaths.push([\n pagePath.replace(/^private-next-pages/, 'pages'),\n appPath.replace(/^private-next-app-dir/, 'app'),\n ])\n }\n appPageKeys.add(normalizedAppPageKey)\n }\n }\n\n const appPaths = Array.from(appPageKeys)\n // Interception routes are modelled as beforeFiles rewrites\n rewrites.beforeFiles.push(\n ...generateInterceptionRoutesRewrites(appPaths, config.basePath)\n )\n\n NextBuildContext.rewrites = rewrites\n\n const totalAppPagesCount = appPaths.length\n\n const pageKeys = {\n pages: pagesPageKeys,\n app: appPaths.length > 0 ? appPaths : undefined,\n }\n\n await nextBuildSpan\n .traceChild('generate-route-types')\n .traceAsyncFn(async () => {\n const routeTypesFilePath = path.join(distDir, 'types', 'routes.d.ts')\n const validatorFilePath = path.join(distDir, 'types', 'validator.ts')\n await mkdir(path.dirname(routeTypesFilePath), { recursive: true })\n\n let appRoutes: RouteInfo[] = []\n let appRouteHandlers: RouteInfo[] = []\n let layoutRoutes: RouteInfo[] = []\n let slots: SlotInfo[] = []\n\n const { pageRoutes, pageApiRoutes } = processPageRoutes(\n mappedPages,\n dir,\n isSrcDir\n )\n\n // Build app routes\n if (appDir && mappedAppPages) {\n // Extract slots from both pages and default files\n const slotsFromPages = extractSlotsFromAppRoutes(mappedAppPages)\n let slotsFromDefaults: SlotInfo[] = []\n\n // Collect and map default files for slot extraction\n const { defaultPaths } = await nextBuildSpan\n .traceChild('collect-default-files')\n .traceAsyncFn(() => collectAppFiles(appDir, validFileMatcher))\n\n if (defaultPaths.length > 0) {\n const mappedDefaultFiles = await nextBuildSpan\n .traceChild('create-default-mapping')\n .traceAsyncFn(() =>\n createPagesMapping({\n pagePaths: defaultPaths,\n isDev: false,\n pagesType: PAGE_TYPES.APP,\n pageExtensions: config.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n slotsFromDefaults =\n extractSlotsFromDefaultFiles(mappedDefaultFiles)\n }\n\n // Combine slots and deduplicate using Set\n slots = combineSlots(slotsFromPages, slotsFromDefaults)\n\n const result = processAppRoutes(\n mappedAppPages,\n validFileMatcher,\n dir,\n isSrcDir\n )\n appRoutes = result.appRoutes\n appRouteHandlers = result.appRouteHandlers\n }\n\n // Build app layouts\n if (appDir && mappedAppLayouts) {\n layoutRoutes = processLayoutRoutes(mappedAppLayouts, dir, isSrcDir)\n }\n\n const routeTypesManifest = await createRouteTypesManifest({\n dir,\n pageRoutes,\n appRoutes,\n appRouteHandlers,\n pageApiRoutes,\n layoutRoutes,\n slots,\n redirects: config.redirects,\n rewrites: config.rewrites,\n validatorFilePath,\n })\n\n await writeRouteTypesManifest(\n routeTypesManifest,\n routeTypesFilePath,\n config\n )\n await writeValidatorFile(routeTypesManifest, validatorFilePath)\n })\n\n // Turbopack already handles conflicting app and page routes.\n if (!isTurbopack) {\n const numConflictingAppPaths = conflictingAppPagePaths.length\n if (mappedAppPages && numConflictingAppPaths > 0) {\n Log.error(\n `Conflicting app and page file${\n numConflictingAppPaths === 1 ? ' was' : 's were'\n } found, please remove the conflicting files to continue:`\n )\n for (const [pagePath, appPath] of conflictingAppPagePaths) {\n Log.error(` \"${pagePath}\" - \"${appPath}\"`)\n }\n await telemetry.flush()\n process.exit(1)\n }\n }\n\n const conflictingPublicFiles: string[] = []\n const hasPages404 = mappedPages['/404']?.startsWith(PAGES_DIR_ALIAS)\n const hasApp404 = !!mappedAppPages?.[UNDERSCORE_NOT_FOUND_ROUTE_ENTRY]\n const hasAppGlobalError =\n !!mappedAppPages?.[UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY]\n const hasCustomErrorPage =\n mappedPages['/_error']?.startsWith(PAGES_DIR_ALIAS)\n\n // Check if there are any user pages (non-reserved pages) in the pages router\n const hasUserPagesRoutes = Object.keys(mappedPages).some(\n (route) => !isReservedPage(route)\n )\n\n if (hasPublicDir) {\n const hasPublicUnderScoreNextDir = existsSync(\n path.join(publicDir, '_next')\n )\n if (hasPublicUnderScoreNextDir) {\n throw new Error(PUBLIC_DIR_MIDDLEWARE_CONFLICT)\n }\n }\n\n await nextBuildSpan\n .traceChild('public-dir-conflict-check')\n .traceAsyncFn(async () => {\n // Check if pages conflict with files in `public`\n // Only a page of public file can be served, not both.\n for (const page in mappedPages) {\n const hasPublicPageFile = await fileExists(\n path.join(publicDir, page === '/' ? '/index' : page),\n FileType.File\n )\n if (hasPublicPageFile) {\n conflictingPublicFiles.push(page)\n }\n }\n\n const numConflicting = conflictingPublicFiles.length\n\n if (numConflicting) {\n throw new Error(\n `Conflicting public and page file${\n numConflicting === 1 ? ' was' : 's were'\n } found. https://nextjs.org/docs/messages/conflicting-public-file-page\\n${conflictingPublicFiles.join(\n '\\n'\n )}`\n )\n }\n })\n\n const nestedReservedPages = pageKeys.pages.filter((page) => {\n return (\n page.match(/\\/(_app|_document|_error)$/) && path.dirname(page) !== '/'\n )\n })\n\n if (nestedReservedPages.length) {\n Log.warn(\n `The following reserved Next.js pages were detected not directly under the pages directory:\\n` +\n nestedReservedPages.join('\\n') +\n `\\nSee more info here: https://nextjs.org/docs/messages/nested-reserved-page\\n`\n )\n }\n\n const restrictedRedirectPaths = ['/_next'].map((p) =>\n config.basePath ? `${config.basePath}${p}` : p\n )\n\n const isAppCacheComponentsEnabled = Boolean(\n config.experimental.cacheComponents\n )\n const isAuthInterruptsEnabled = Boolean(\n config.experimental.authInterrupts\n )\n const isAppPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n\n const routesManifestPath = path.join(distDir, ROUTES_MANIFEST)\n const dynamicRoutes: Array<DynamicManifestRoute> = []\n\n /**\n * A map of all the pages to their sourcePage value. This is only used for\n * routes that have PPR enabled and clientSegmentEnabled is true.\n */\n const sourcePages = new Map<string, string>()\n const routesManifest: RoutesManifest = nextBuildSpan\n .traceChild('generate-routes-manifest')\n .traceFn(() => {\n const sortedRoutes = sortPages([\n ...pageKeys.pages,\n ...(pageKeys.app ?? []),\n ])\n const staticRoutes: Array<ManifestRoute> = []\n\n for (const route of sortedRoutes) {\n if (isDynamicRoute(route)) {\n dynamicRoutes.push(\n pageToRoute(\n route,\n // This property is only relevant when PPR is enabled.\n undefined\n )\n )\n } else if (!isReservedPage(route)) {\n staticRoutes.push(pageToRoute(route))\n }\n }\n\n return {\n version: 3,\n pages404: true,\n caseSensitive: !!config.experimental.caseSensitiveRoutes,\n basePath: config.basePath,\n redirects: redirects.map((r) =>\n buildCustomRoute('redirect', r, restrictedRedirectPaths)\n ),\n headers: headers.map((r) => buildCustomRoute('header', r)),\n rewrites: {\n beforeFiles: rewrites.beforeFiles.map((r) =>\n buildCustomRoute('rewrite', r)\n ),\n afterFiles: rewrites.afterFiles.map((r) =>\n buildCustomRoute('rewrite', r)\n ),\n fallback: rewrites.fallback.map((r) =>\n buildCustomRoute('rewrite', r)\n ),\n },\n dynamicRoutes,\n staticRoutes,\n dataRoutes: [],\n i18n: config.i18n || undefined,\n rsc: {\n header: RSC_HEADER,\n // This vary header is used as a default. It is technically re-assigned in `base-server`,\n // and may include an additional Vary option for `Next-URL`.\n varyHeader: `${RSC_HEADER}, ${NEXT_ROUTER_STATE_TREE_HEADER}, ${NEXT_ROUTER_PREFETCH_HEADER}, ${NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}`,\n prefetchHeader: NEXT_ROUTER_PREFETCH_HEADER,\n didPostponeHeader: NEXT_DID_POSTPONE_HEADER,\n contentTypeHeader: RSC_CONTENT_TYPE_HEADER,\n suffix: RSC_SUFFIX,\n prefetchSuffix: RSC_PREFETCH_SUFFIX,\n prefetchSegmentHeader: NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n prefetchSegmentSuffix: RSC_SEGMENT_SUFFIX,\n prefetchSegmentDirSuffix: RSC_SEGMENTS_DIR_SUFFIX,\n clientParamParsing:\n // NOTE: once this is the default for `clientSegmentCache`, this\n // should exclusively be based on the `clientSegmentCache` flag.\n config.experimental.clientParamParsing ?? false,\n clientParamParsingOrigins: config.experimental.clientParamParsing\n ? config.experimental.clientParamParsingOrigins\n : undefined,\n dynamicRSCPrerender:\n // Only enable RDC for Navigations if the feature is enabled.\n // Once we've made RDC for Navigations the default for PPR, we\n // can remove the check for `config.experimental.rdcForNavigations`.\n isAppPPREnabled &&\n config.experimental.rdcForNavigations === true,\n },\n rewriteHeaders: {\n pathHeader: NEXT_REWRITTEN_PATH_HEADER,\n queryHeader: NEXT_REWRITTEN_QUERY_HEADER,\n },\n skipMiddlewareUrlNormalize: config.skipMiddlewareUrlNormalize,\n ppr: isAppPPREnabled\n ? {\n chain: {\n headers: {\n [NEXT_RESUME_HEADER]: '1',\n },\n },\n }\n : undefined,\n } satisfies RoutesManifest\n })\n\n // For pages directory, we run type checking after route collection but before build.\n if (!appDir && !isCompileMode) {\n await startTypeChecking(typeCheckingOptions)\n }\n\n let clientRouterFilters:\n | undefined\n | ReturnType<typeof createClientRouterFilter>\n\n if (config.experimental.clientRouterFilter) {\n const nonInternalRedirects = (config._originalRedirects || []).filter(\n (r: any) => !r.internal\n )\n clientRouterFilters = createClientRouterFilter(\n [...appPaths],\n config.experimental.clientRouterFilterRedirects\n ? nonInternalRedirects\n : [],\n config.experimental.clientRouterFilterAllowedRate\n )\n NextBuildContext.clientRouterFilters = clientRouterFilters\n }\n\n // Ensure commonjs handling is used for files in the distDir (generally .next)\n // Files outside of the distDir can be \"type\": \"module\"\n await writeFileUtf8(\n path.join(distDir, 'package.json'),\n '{\"type\": \"commonjs\"}'\n )\n\n // These are written to distDir, so they need to come after creating and cleaning distDr.\n await recordFrameworkVersion(process.env.__NEXT_VERSION as string)\n await updateBuildDiagnostics({\n buildStage: 'start',\n })\n\n const outputFileTracingRoot = config.outputFileTracingRoot || dir\n\n const pagesManifestPath = path.join(\n distDir,\n SERVER_DIRECTORY,\n PAGES_MANIFEST\n )\n\n let buildTraceContext: undefined | BuildTraceContext\n let buildTracesPromise: Promise<any> | undefined = undefined\n\n // If there's has a custom webpack config and disable the build worker.\n // Otherwise respect the option if it's set.\n const useBuildWorker =\n config.experimental.webpackBuildWorker ||\n (config.experimental.webpackBuildWorker === undefined &&\n !config.webpack)\n const runServerAndEdgeInParallel =\n config.experimental.parallelServerCompiles\n const collectServerBuildTracesInParallel =\n config.experimental.parallelServerBuildTraces ||\n (config.experimental.parallelServerBuildTraces === undefined &&\n isCompileMode)\n\n nextBuildSpan.setAttribute(\n 'has-custom-webpack-config',\n String(!!config.webpack)\n )\n nextBuildSpan.setAttribute('use-build-worker', String(useBuildWorker))\n\n if (\n !useBuildWorker &&\n (runServerAndEdgeInParallel || collectServerBuildTracesInParallel)\n ) {\n throw new Error(\n 'The \"parallelServerBuildTraces\" and \"parallelServerCompiles\" options may only be used when build workers can be used. Read more: https://nextjs.org/docs/messages/parallel-build-without-worker'\n )\n }\n\n Log.info('Creating an optimized production build ...')\n traceMemoryUsage('Starting build', nextBuildSpan)\n\n await updateBuildDiagnostics({\n buildStage: 'compile',\n buildOptions: {\n useBuildWorker: String(useBuildWorker),\n },\n })\n\n let shutdownPromise = Promise.resolve()\n if (!isGenerateMode) {\n if (isTurbopack) {\n const {\n duration: compilerDuration,\n shutdownPromise: p,\n ...rest\n } = await turbopackBuild(\n process.env.NEXT_TURBOPACK_USE_WORKER === undefined ||\n process.env.NEXT_TURBOPACK_USE_WORKER !== '0'\n )\n shutdownPromise = p\n traceMemoryUsage('Finished build', nextBuildSpan)\n\n buildTraceContext = rest.buildTraceContext\n\n const durationString = durationToString(compilerDuration)\n Log.event(`Compiled successfully in ${durationString}`)\n\n telemetry.record(\n eventBuildCompleted(pagesPaths, {\n bundler: 'turbopack',\n durationInSeconds: Math.round(compilerDuration),\n totalAppPagesCount,\n })\n )\n } else {\n if (\n runServerAndEdgeInParallel ||\n collectServerBuildTracesInParallel\n ) {\n let durationInSeconds = 0\n\n await updateBuildDiagnostics({\n buildStage: 'compile-server',\n })\n\n const serverBuildPromise = webpackBuild(useBuildWorker, [\n 'server',\n ]).then((res) => {\n traceMemoryUsage('Finished server compilation', nextBuildSpan)\n buildTraceContext = res.buildTraceContext\n durationInSeconds += res.duration\n\n if (collectServerBuildTracesInParallel) {\n const buildTraceWorker = new Worker(\n require.resolve('./collect-build-traces'),\n {\n debuggerPortOffset: -1,\n isolatedMemory: false,\n numWorkers: 1,\n exposedMethods: ['collectBuildTraces'],\n }\n ) as Worker & typeof import('./collect-build-traces')\n\n buildTracesPromise = buildTraceWorker\n .collectBuildTraces({\n dir,\n config,\n distDir,\n // Serialize Map as this is sent to the worker.\n edgeRuntimeRoutes: collectRoutesUsingEdgeRuntime(new Map()),\n staticPages: [],\n hasSsrAmpPages: false,\n buildTraceContext,\n outputFileTracingRoot,\n })\n .catch((err) => {\n console.error(err)\n process.exit(1)\n })\n }\n })\n if (!runServerAndEdgeInParallel) {\n await serverBuildPromise\n await updateBuildDiagnostics({\n buildStage: 'webpack-compile-edge-server',\n })\n }\n\n const edgeBuildPromise = webpackBuild(useBuildWorker, [\n 'edge-server',\n ]).then((res) => {\n durationInSeconds += res.duration\n traceMemoryUsage(\n 'Finished edge-server compilation',\n nextBuildSpan\n )\n })\n if (runServerAndEdgeInParallel) {\n await serverBuildPromise\n await updateBuildDiagnostics({\n buildStage: 'webpack-compile-edge-server',\n })\n }\n await edgeBuildPromise\n\n await updateBuildDiagnostics({\n buildStage: 'webpack-compile-client',\n })\n\n await webpackBuild(useBuildWorker, ['client']).then((res) => {\n durationInSeconds += res.duration\n traceMemoryUsage('Finished client compilation', nextBuildSpan)\n })\n\n const durationString = durationToString(durationInSeconds)\n Log.event(`Compiled successfully in ${durationString}`)\n\n telemetry.record(\n eventBuildCompleted(pagesPaths, {\n bundler: getBundlerForTelemetry(isTurbopack),\n durationInSeconds,\n totalAppPagesCount,\n })\n )\n } else {\n const { duration: compilerDuration, ...rest } = await webpackBuild(\n useBuildWorker,\n null\n )\n traceMemoryUsage('Finished build', nextBuildSpan)\n\n buildTraceContext = rest.buildTraceContext\n\n telemetry.record(\n eventBuildCompleted(pagesPaths, {\n bundler: getBundlerForTelemetry(isTurbopack),\n durationInSeconds: compilerDuration,\n totalAppPagesCount,\n })\n )\n }\n }\n await runAfterProductionCompile({\n config,\n buildSpan: nextBuildSpan,\n telemetry,\n metadata: {\n projectDir: dir,\n distDir,\n },\n })\n }\n\n // For app directory, we run type checking after build.\n if (appDir && !isCompileMode && !isGenerateMode) {\n await updateBuildDiagnostics({\n buildStage: 'type-checking',\n })\n await startTypeChecking(typeCheckingOptions)\n traceMemoryUsage('Finished type checking', nextBuildSpan)\n }\n\n const postCompileSpinner = createSpinner('Collecting page data')\n\n const buildManifestPath = path.join(distDir, BUILD_MANIFEST)\n const appBuildManifestPath = path.join(distDir, APP_BUILD_MANIFEST)\n\n let staticAppPagesCount = 0\n let serverAppPagesCount = 0\n let edgeRuntimeAppCount = 0\n let edgeRuntimePagesCount = 0\n const ssgPages = new Set<string>()\n const ssgStaticFallbackPages = new Set<string>()\n const ssgBlockingFallbackPages = new Set<string>()\n const staticPages = new Set<string>()\n const invalidPages = new Set<string>()\n const hybridAmpPages = new Set<string>()\n const serverPropsPages = new Set<string>()\n const additionalPaths = new Map<string, PrerenderedRoute[]>()\n const staticPaths = new Map<string, PrerenderedRoute[]>()\n const appNormalizedPaths = new Map<string, string>()\n const fallbackModes = new Map<string, FallbackMode>()\n const appDefaultConfigs = new Map<string, AppSegmentConfig>()\n const pageInfos: PageInfos = new Map<string, PageInfo>()\n let pagesManifest = await readManifest<PagesManifest>(pagesManifestPath)\n const buildManifest = await readManifest<BuildManifest>(buildManifestPath)\n const appBuildManifest = appDir\n ? await readManifest<AppBuildManifest>(appBuildManifestPath)\n : undefined\n\n const appPathRoutes: Record<string, string> = {}\n\n if (appDir) {\n const appPathsManifest = await readManifest<Record<string, string>>(\n path.join(distDir, SERVER_DIRECTORY, APP_PATHS_MANIFEST)\n )\n\n for (const key in appPathsManifest) {\n appPathRoutes[key] = normalizeAppPath(key)\n }\n\n await writeManifest(\n path.join(distDir, APP_PATH_ROUTES_MANIFEST),\n appPathRoutes\n )\n }\n\n process.env.NEXT_PHASE = PHASE_PRODUCTION_BUILD\n\n const worker = createStaticWorker(config, { debuggerPortOffset: -1 })\n\n const analysisBegin = process.hrtime()\n const staticCheckSpan = nextBuildSpan.traceChild('static-check')\n\n const functionsConfigManifest: FunctionsConfigManifest = {\n version: 1,\n functions: {},\n }\n\n const {\n customAppGetInitialProps,\n namedExports,\n isNextImageImported,\n hasSsrAmpPages,\n hasNonStaticErrorPage,\n } = await staticCheckSpan.traceAsyncFn(async () => {\n if (isCompileMode) {\n return {\n customAppGetInitialProps: false,\n namedExports: [],\n isNextImageImported: true,\n hasSsrAmpPages: !!pagesDir,\n hasNonStaticErrorPage: hasUserPagesRoutes,\n }\n }\n\n const { configFileName, publicRuntimeConfig, serverRuntimeConfig } =\n config\n const runtimeEnvConfig = { publicRuntimeConfig, serverRuntimeConfig }\n const sriEnabled = Boolean(config.experimental.sri?.algorithm)\n\n const nonStaticErrorPageSpan = staticCheckSpan.traceChild(\n 'check-static-error-page'\n )\n const errorPageHasCustomGetInitialProps =\n nonStaticErrorPageSpan.traceAsyncFn(\n async () =>\n hasCustomErrorPage &&\n (await worker.hasCustomGetInitialProps({\n page: '/_error',\n distDir,\n runtimeEnvConfig,\n checkingApp: false,\n sriEnabled,\n }))\n )\n\n const errorPageStaticResult = nonStaticErrorPageSpan.traceAsyncFn(\n async () =>\n hasCustomErrorPage &&\n worker.isPageStatic({\n dir,\n page: '/_error',\n distDir,\n configFileName,\n runtimeEnvConfig,\n cacheComponents: isAppCacheComponentsEnabled,\n authInterrupts: isAuthInterruptsEnabled,\n httpAgentOptions: config.httpAgentOptions,\n locales: config.i18n?.locales,\n defaultLocale: config.i18n?.defaultLocale,\n nextConfigOutput: config.output,\n pprConfig: config.experimental.ppr,\n cacheLifeProfiles: config.experimental.cacheLife,\n buildId,\n sriEnabled,\n })\n )\n\n const appPageToCheck = '/_app'\n\n const customAppGetInitialPropsPromise = hasUserPagesRoutes\n ? worker.hasCustomGetInitialProps({\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n checkingApp: true,\n sriEnabled,\n })\n : Promise.resolve(false)\n\n const namedExportsPromise = hasUserPagesRoutes\n ? worker.getDefinedNamedExports({\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n sriEnabled,\n })\n : Promise.resolve([])\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n let isNextImageImported: boolean | undefined\n // eslint-disable-next-line @typescript-eslint/no-shadow\n let hasSsrAmpPages = false\n\n const computedManifestData = await computeFromManifest(\n { build: buildManifest, app: appBuildManifest },\n distDir,\n config.experimental.gzipSize\n )\n\n const middlewareManifest: MiddlewareManifest = require(\n path.join(distDir, SERVER_DIRECTORY, MIDDLEWARE_MANIFEST)\n )\n\n const actionManifest = appDir\n ? (require(\n path.join(\n distDir,\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST + '.json'\n )\n ) as ActionManifest)\n : null\n const entriesWithAction = actionManifest ? new Set() : null\n if (actionManifest && entriesWithAction) {\n for (const id in actionManifest.node) {\n for (const entry in actionManifest.node[id].workers) {\n entriesWithAction.add(entry)\n }\n }\n for (const id in actionManifest.edge) {\n for (const entry in actionManifest.edge[id].workers) {\n entriesWithAction.add(entry)\n }\n }\n }\n\n for (const key of Object.keys(middlewareManifest?.functions)) {\n if (key.startsWith('/api')) {\n edgeRuntimePagesCount++\n }\n }\n\n await Promise.all(\n Object.entries(pageKeys)\n .reduce<Array<{ pageType: keyof typeof pageKeys; page: string }>>(\n (acc, [key, files]) => {\n if (!files) {\n return acc\n }\n\n const pageType = key as keyof typeof pageKeys\n\n for (const page of files) {\n acc.push({ pageType, page })\n }\n\n return acc\n },\n []\n )\n .map(({ pageType, page }) => {\n const checkPageSpan = staticCheckSpan.traceChild('check-page', {\n page,\n })\n return checkPageSpan.traceAsyncFn(async () => {\n const actualPage = normalizePagePath(page)\n const [size, totalSize] = await getJsPageSizeInKb(\n pageType,\n actualPage,\n distDir,\n buildManifest,\n appBuildManifest,\n config.experimental.gzipSize,\n computedManifestData\n )\n\n let isRoutePPREnabled = false\n let isSSG = false\n let isStatic = false\n let isServerComponent = false\n let isHybridAmp = false\n let ssgPageRoutes: string[] | null = null\n let pagePath = ''\n\n if (pageType === 'pages') {\n pagePath =\n pagesPaths.find((p) => {\n p = normalizePathSep(p)\n return (\n p.startsWith(actualPage + '.') ||\n p.startsWith(actualPage + '/index.')\n )\n }) || ''\n }\n let originalAppPath: string | undefined\n\n if (pageType === 'app' && mappedAppPages) {\n for (const [originalPath, normalizedPath] of Object.entries(\n appPathRoutes\n )) {\n if (normalizedPath === page) {\n pagePath = mappedAppPages[originalPath].replace(\n /^private-next-app-dir/,\n ''\n )\n originalAppPath = originalPath\n break\n }\n }\n }\n\n const pageFilePath = isAppBuiltinPage(pagePath)\n ? pagePath\n : path.join(\n (pageType === 'pages' ? pagesDir : appDir) || '',\n pagePath\n )\n\n const isInsideAppDir = pageType === 'app'\n const staticInfo = pagePath\n ? await getStaticInfoIncludingLayouts({\n isInsideAppDir,\n pageFilePath,\n pageExtensions: config.pageExtensions,\n appDir,\n config,\n isDev: false,\n // If this route is an App Router page route, inherit the\n // route segment configs (e.g. `runtime`) from the layout by\n // passing the `originalAppPath`, which should end with `/page`.\n page: isInsideAppDir ? originalAppPath! : page,\n })\n : undefined\n\n if (staticInfo?.hadUnsupportedValue) {\n errorFromUnsupportedSegmentConfig()\n }\n\n // If there's any thing that would contribute to the functions\n // configuration, we need to add it to the manifest.\n if (\n typeof staticInfo?.runtime !== 'undefined' ||\n typeof staticInfo?.maxDuration !== 'undefined' ||\n typeof staticInfo?.preferredRegion !== 'undefined'\n ) {\n const regions = staticInfo?.preferredRegion\n ? typeof staticInfo.preferredRegion === 'string'\n ? [staticInfo.preferredRegion]\n : staticInfo.preferredRegion\n : undefined\n\n functionsConfigManifest.functions[page] = {\n maxDuration: staticInfo?.maxDuration,\n ...(regions && { regions }),\n }\n }\n\n const pageRuntime = middlewareManifest.functions[\n originalAppPath || page\n ]\n ? 'edge'\n : staticInfo?.runtime\n\n if (!isCompileMode) {\n isServerComponent =\n pageType === 'app' &&\n staticInfo?.rsc !== RSC_MODULE_TYPES.client\n\n if (pageType === 'app' || !isReservedPage(page)) {\n try {\n let edgeInfo: any\n\n if (isEdgeRuntime(pageRuntime)) {\n if (pageType === 'app') {\n edgeRuntimeAppCount++\n } else {\n edgeRuntimePagesCount++\n }\n\n const manifestKey =\n pageType === 'pages' ? page : originalAppPath || ''\n\n edgeInfo = middlewareManifest.functions[manifestKey]\n }\n\n let isPageStaticSpan =\n checkPageSpan.traceChild('is-page-static')\n let workerResult = await isPageStaticSpan.traceAsyncFn(\n () => {\n return worker.isPageStatic({\n dir,\n page,\n originalAppPath,\n distDir,\n configFileName,\n runtimeEnvConfig,\n httpAgentOptions: config.httpAgentOptions,\n locales: config.i18n?.locales,\n defaultLocale: config.i18n?.defaultLocale,\n parentId: isPageStaticSpan.getId(),\n pageRuntime,\n edgeInfo,\n pageType,\n cacheComponents: isAppCacheComponentsEnabled,\n authInterrupts: isAuthInterruptsEnabled,\n cacheHandler: config.cacheHandler,\n cacheHandlers: config.experimental.cacheHandlers,\n isrFlushToDisk: ciEnvironment.hasNextSupport\n ? false\n : config.experimental.isrFlushToDisk,\n maxMemoryCacheSize: config.cacheMaxMemorySize,\n nextConfigOutput: config.output,\n pprConfig: config.experimental.ppr,\n cacheLifeProfiles: config.experimental.cacheLife,\n buildId,\n sriEnabled,\n })\n }\n )\n\n if (pageType === 'app' && originalAppPath) {\n appNormalizedPaths.set(originalAppPath, page)\n\n // Edge runtime doesn't support static generation.\n if (isEdgeRuntime(pageRuntime)) {\n isStatic = false\n isSSG = false\n\n Log.warnOnce(\n `Using edge runtime on a page currently disables static generation for that page`\n )\n } else {\n const isDynamic = isDynamicRoute(page)\n\n if (\n typeof workerResult.isRoutePPREnabled === 'boolean'\n ) {\n isRoutePPREnabled = workerResult.isRoutePPREnabled\n }\n\n // If this route can be partially pre-rendered, then\n // mark it as such and mark that it can be\n // generated server-side.\n if (workerResult.isRoutePPREnabled) {\n isSSG = true\n isStatic = true\n\n staticPaths.set(originalAppPath, [])\n }\n\n if (workerResult.prerenderedRoutes) {\n staticPaths.set(\n originalAppPath,\n workerResult.prerenderedRoutes\n )\n ssgPageRoutes = workerResult.prerenderedRoutes.map(\n (route) => route.pathname\n )\n isSSG = true\n }\n\n const appConfig = workerResult.appConfig || {}\n if (appConfig.revalidate !== 0) {\n const hasGenerateStaticParams =\n workerResult.prerenderedRoutes &&\n workerResult.prerenderedRoutes.length > 0\n\n if (\n config.output === 'export' &&\n isDynamic &&\n !hasGenerateStaticParams\n ) {\n throw new Error(\n `Page \"${page}\" is missing \"generateStaticParams()\" so it cannot be used with \"output: export\" config.`\n )\n }\n\n // Mark the app as static if:\n // - It has no dynamic param\n // - It doesn't have generateStaticParams but `dynamic` is set to\n // `error` or `force-static`\n if (!isDynamic) {\n staticPaths.set(originalAppPath, [\n {\n params: {},\n pathname: page,\n encodedPathname: page,\n fallbackRouteParams: [],\n fallbackMode:\n workerResult.prerenderFallbackMode,\n fallbackRootParams: [],\n throwOnEmptyStaticShell: true,\n },\n ])\n isStatic = true\n } else if (\n !hasGenerateStaticParams &&\n (appConfig.dynamic === 'error' ||\n appConfig.dynamic === 'force-static')\n ) {\n staticPaths.set(originalAppPath, [])\n isStatic = true\n isRoutePPREnabled = false\n }\n }\n\n if (workerResult.prerenderFallbackMode) {\n fallbackModes.set(\n originalAppPath,\n workerResult.prerenderFallbackMode\n )\n }\n\n appDefaultConfigs.set(originalAppPath, appConfig)\n }\n } else {\n if (isEdgeRuntime(pageRuntime)) {\n if (workerResult.hasStaticProps) {\n console.warn(\n `\"getStaticProps\" is not yet supported fully with \"experimental-edge\", detected on ${page}`\n )\n }\n workerResult.isStatic = false\n workerResult.hasStaticProps = false\n }\n\n if (\n workerResult.isStatic === false &&\n (workerResult.isHybridAmp || workerResult.isAmpOnly)\n ) {\n hasSsrAmpPages = true\n }\n\n if (workerResult.isHybridAmp) {\n isHybridAmp = true\n hybridAmpPages.add(page)\n }\n\n if (workerResult.isNextImageImported) {\n isNextImageImported = true\n }\n\n if (workerResult.hasStaticProps) {\n ssgPages.add(page)\n isSSG = true\n\n if (\n workerResult.prerenderedRoutes &&\n workerResult.prerenderedRoutes.length > 0\n ) {\n additionalPaths.set(\n page,\n workerResult.prerenderedRoutes\n )\n ssgPageRoutes = workerResult.prerenderedRoutes.map(\n (route) => route.pathname\n )\n }\n\n if (\n workerResult.prerenderFallbackMode ===\n FallbackMode.BLOCKING_STATIC_RENDER\n ) {\n ssgBlockingFallbackPages.add(page)\n } else if (\n workerResult.prerenderFallbackMode ===\n FallbackMode.PRERENDER\n ) {\n ssgStaticFallbackPages.add(page)\n }\n } else if (workerResult.hasServerProps) {\n serverPropsPages.add(page)\n } else if (\n workerResult.isStatic &&\n !isServerComponent &&\n (await customAppGetInitialPropsPromise) === false\n ) {\n staticPages.add(page)\n isStatic = true\n } else if (isServerComponent) {\n // This is a static server component page that doesn't have\n // gSP or gSSP. We still treat it as a SSG page.\n ssgPages.add(page)\n isSSG = true\n }\n\n if (hasPages404 && page === '/404') {\n if (\n !workerResult.isStatic &&\n !workerResult.hasStaticProps\n ) {\n throw new Error(\n `\\`pages/404\\` ${STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`\n )\n }\n // we need to ensure the 404 lambda is present since we use\n // it when _app has getInitialProps\n if (\n (await customAppGetInitialPropsPromise) &&\n !workerResult.hasStaticProps\n ) {\n staticPages.delete(page)\n }\n }\n\n if (\n STATIC_STATUS_PAGES.includes(page) &&\n !workerResult.isStatic &&\n !workerResult.hasStaticProps\n ) {\n throw new Error(\n `\\`pages${page}\\` ${STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`\n )\n }\n }\n } catch (err) {\n if (\n !isError(err) ||\n err.message !== 'INVALID_DEFAULT_EXPORT'\n )\n throw err\n invalidPages.add(page)\n }\n }\n\n if (pageType === 'app') {\n if (isSSG || isStatic) {\n staticAppPagesCount++\n } else {\n serverAppPagesCount++\n }\n }\n }\n\n pageInfos.set(page, {\n originalAppPath,\n size,\n totalSize,\n isStatic,\n isSSG,\n isRoutePPREnabled,\n isHybridAmp,\n ssgPageRoutes,\n initialCacheControl: undefined,\n runtime: pageRuntime,\n pageDuration: undefined,\n ssgPageDurations: undefined,\n hasEmptyStaticShell: undefined,\n })\n })\n })\n )\n\n const errorPageResult = await errorPageStaticResult\n const nonStaticErrorPage =\n (await errorPageHasCustomGetInitialProps) ||\n (errorPageResult && errorPageResult.hasServerProps)\n\n const returnValue = {\n customAppGetInitialProps: await customAppGetInitialPropsPromise,\n namedExports: await namedExportsPromise,\n isNextImageImported,\n hasSsrAmpPages,\n hasNonStaticErrorPage: nonStaticErrorPage,\n }\n\n return returnValue\n })\n\n if (postCompileSpinner) postCompileSpinner.stopAndPersist()\n traceMemoryUsage('Finished collecting page data', nextBuildSpan)\n\n if (customAppGetInitialProps) {\n console.warn(\n bold(yellow(`Warning: `)) +\n yellow(\n `You have opted-out of Automatic Static Optimization due to \\`getInitialProps\\` in \\`pages/_app\\`. This does not opt-out pages with \\`getStaticProps\\``\n )\n )\n console.warn(\n 'Read more: https://nextjs.org/docs/messages/opt-out-auto-static-optimization\\n'\n )\n }\n\n const { cacheHandler } = config\n\n const instrumentationHookEntryFiles: string[] = []\n if (hasInstrumentationHook) {\n instrumentationHookEntryFiles.push(\n path.join(SERVER_DIRECTORY, `${INSTRUMENTATION_HOOK_FILENAME}.js`)\n )\n // If there's edge routes, append the edge instrumentation hook\n // Turbopack generates this chunk with a hashed name and references it in middleware-manifest.\n if (!isTurbopack && (edgeRuntimeAppCount || edgeRuntimePagesCount)) {\n instrumentationHookEntryFiles.push(\n path.join(\n SERVER_DIRECTORY,\n `edge-${INSTRUMENTATION_HOOK_FILENAME}.js`\n )\n )\n }\n }\n\n const requiredServerFilesManifest = nextBuildSpan\n .traceChild('generate-required-server-files')\n .traceFn(() => {\n const normalizedCacheHandlers: Record<string, string> = {}\n\n for (const [key, value] of Object.entries(\n config.experimental.cacheHandlers || {}\n )) {\n if (key && value) {\n normalizedCacheHandlers[key] = path.relative(distDir, value)\n }\n }\n\n const serverFilesManifest: RequiredServerFilesManifest = {\n version: 1,\n config: {\n ...config,\n configFile: undefined,\n ...(ciEnvironment.hasNextSupport\n ? {\n compress: false,\n }\n : {}),\n cacheHandler: cacheHandler\n ? path.relative(distDir, cacheHandler)\n : config.cacheHandler,\n experimental: {\n ...config.experimental,\n cacheHandlers: normalizedCacheHandlers,\n trustHostHeader: ciEnvironment.hasNextSupport,\n isExperimentalCompile: isCompileMode,\n },\n },\n appDir: dir,\n relativeAppDir: path.relative(outputFileTracingRoot, dir),\n files: [\n ROUTES_MANIFEST,\n path.relative(distDir, pagesManifestPath),\n BUILD_MANIFEST,\n PRERENDER_MANIFEST,\n path.join(SERVER_DIRECTORY, FUNCTIONS_CONFIG_MANIFEST),\n path.join(SERVER_DIRECTORY, MIDDLEWARE_MANIFEST),\n path.join(SERVER_DIRECTORY, MIDDLEWARE_BUILD_MANIFEST + '.js'),\n ...(!isTurbopack\n ? [\n path.join(\n SERVER_DIRECTORY,\n MIDDLEWARE_REACT_LOADABLE_MANIFEST + '.js'\n ),\n REACT_LOADABLE_MANIFEST,\n ]\n : []),\n ...(appDir\n ? [\n ...(config.experimental.sri\n ? [\n path.join(\n SERVER_DIRECTORY,\n SUBRESOURCE_INTEGRITY_MANIFEST + '.js'\n ),\n path.join(\n SERVER_DIRECTORY,\n SUBRESOURCE_INTEGRITY_MANIFEST + '.json'\n ),\n ]\n : []),\n path.join(SERVER_DIRECTORY, APP_PATHS_MANIFEST),\n path.join(APP_PATH_ROUTES_MANIFEST),\n APP_BUILD_MANIFEST,\n path.join(\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST + '.js'\n ),\n path.join(\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST + '.json'\n ),\n ]\n : []),\n ...(pagesDir && !isTurbopack\n ? [\n DYNAMIC_CSS_MANIFEST + '.json',\n path.join(SERVER_DIRECTORY, DYNAMIC_CSS_MANIFEST + '.js'),\n ]\n : []),\n BUILD_ID_FILE,\n path.join(SERVER_DIRECTORY, NEXT_FONT_MANIFEST + '.js'),\n path.join(SERVER_DIRECTORY, NEXT_FONT_MANIFEST + '.json'),\n SERVER_FILES_MANIFEST,\n ...instrumentationHookEntryFiles,\n ]\n .filter(nonNullable)\n .map((file) => path.join(config.distDir, file)),\n ignore: [] as string[],\n }\n\n return serverFilesManifest\n })\n\n if (!hasSsrAmpPages) {\n requiredServerFilesManifest.ignore.push(\n path.relative(\n dir,\n path.join(\n path.dirname(\n require.resolve(\n 'next/dist/compiled/@ampproject/toolbox-optimizer'\n )\n ),\n '**/*'\n )\n )\n )\n }\n\n const middlewareFile = rootPaths.find((p) =>\n p.includes(MIDDLEWARE_FILENAME)\n )\n let hasNodeMiddleware = false\n\n if (middlewareFile) {\n const staticInfo = await getStaticInfoIncludingLayouts({\n isInsideAppDir: false,\n pageFilePath: path.join(dir, middlewareFile),\n config,\n appDir,\n pageExtensions: config.pageExtensions,\n isDev: false,\n page: 'middleware',\n })\n\n if (staticInfo.hadUnsupportedValue) {\n errorFromUnsupportedSegmentConfig()\n }\n\n if (staticInfo.runtime === 'nodejs') {\n hasNodeMiddleware = true\n functionsConfigManifest.functions['/_middleware'] = {\n runtime: staticInfo.runtime,\n matchers: staticInfo.middleware?.matchers ?? [\n {\n regexp: '^.*$',\n originalSource: '/:path*',\n },\n ],\n }\n\n if (isTurbopack) {\n await writeManifest(\n path.join(\n distDir,\n 'static',\n buildId,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST\n ),\n functionsConfigManifest.functions['/_middleware'].matchers || []\n )\n }\n }\n }\n\n await writeFunctionsConfigManifest(distDir, functionsConfigManifest)\n\n if (!isTurbopack && !isGenerateMode && !buildTracesPromise) {\n buildTracesPromise = collectBuildTraces({\n dir,\n config,\n distDir,\n edgeRuntimeRoutes: collectRoutesUsingEdgeRuntime(pageInfos),\n staticPages: [...staticPages],\n nextBuildSpan,\n hasSsrAmpPages,\n buildTraceContext,\n outputFileTracingRoot,\n }).catch((err) => {\n console.error(err)\n process.exit(1)\n })\n }\n\n if (serverPropsPages.size > 0 || ssgPages.size > 0) {\n // We update the routes manifest after the build with the\n // data routes since we can't determine these until after build\n routesManifest.dataRoutes = sortPages([\n ...serverPropsPages,\n ...ssgPages,\n ]).map((page) => {\n return buildDataRoute(page, buildId)\n })\n }\n\n // We need to write the manifest with rewrites before build\n await nextBuildSpan\n .traceChild('write-routes-manifest')\n .traceAsyncFn(() => writeManifest(routesManifestPath, routesManifest))\n\n // Since custom _app.js can wrap the 404 page we have to opt-out of static optimization if it has getInitialProps\n // Only export the static 404 when there is no /_error present\n const useStaticPages404 =\n !customAppGetInitialProps && (!hasNonStaticErrorPage || hasPages404)\n\n if (invalidPages.size > 0) {\n const err = new Error(\n `Build optimization failed: found page${\n invalidPages.size === 1 ? '' : 's'\n } without a React Component as default export in \\n${[...invalidPages]\n .map((pg) => `pages${pg}`)\n .join(\n '\\n'\n )}\\n\\nSee https://nextjs.org/docs/messages/page-without-valid-component for more info.\\n`\n ) as NextError\n err.code = 'BUILD_OPTIMIZATION_FAILED'\n throw err\n }\n\n await writeBuildId(distDir, buildId)\n\n if (config.experimental.optimizeCss) {\n const globOrig =\n require('next/dist/compiled/glob') as typeof import('next/dist/compiled/glob')\n\n const cssFilePaths = await new Promise<string[]>((resolve, reject) => {\n globOrig(\n '**/*.css',\n { cwd: path.join(distDir, 'static') },\n (err, files) => {\n if (err) {\n return reject(err)\n }\n resolve(files)\n }\n )\n })\n\n requiredServerFilesManifest.files.push(\n ...cssFilePaths.map((filePath) =>\n path.join(config.distDir, 'static', filePath)\n )\n )\n }\n\n const features: EventBuildFeatureUsage[] = [\n {\n featureName: 'experimental/cacheComponents',\n invocationCount: config.experimental.cacheComponents ? 1 : 0,\n },\n {\n featureName: 'experimental/optimizeCss',\n invocationCount: config.experimental.optimizeCss ? 1 : 0,\n },\n {\n featureName: 'experimental/nextScriptWorkers',\n invocationCount: config.experimental.nextScriptWorkers ? 1 : 0,\n },\n {\n featureName: 'experimental/ppr',\n invocationCount: config.experimental.ppr ? 1 : 0,\n },\n {\n featureName: 'turbopackPersistentCaching',\n invocationCount: isPersistentCachingEnabled(config) ? 1 : 0,\n },\n ]\n telemetry.record(\n features.map((feature) => {\n return {\n eventName: EVENT_BUILD_FEATURE_USAGE,\n payload: feature,\n }\n })\n )\n\n await writeRequiredServerFilesManifest(\n distDir,\n requiredServerFilesManifest\n )\n\n // we don't need to inline for turbopack build as\n // it will handle it's own caching separate of compile\n if (isGenerateMode && !isTurbopack) {\n Log.info('Inlining static env ...')\n\n await nextBuildSpan\n .traceChild('inline-static-env')\n .traceAsyncFn(async () => {\n await inlineStaticEnv({\n distDir,\n config,\n })\n })\n }\n\n const middlewareManifest: MiddlewareManifest = await readManifest(\n path.join(distDir, SERVER_DIRECTORY, MIDDLEWARE_MANIFEST)\n )\n\n const prerenderManifest: PrerenderManifest = {\n version: 4,\n routes: {},\n dynamicRoutes: {},\n notFoundRoutes: [],\n preview: previewProps,\n }\n\n const tbdPrerenderRoutes: string[] = []\n\n const { i18n } = config\n\n const usedStaticStatusPages = STATIC_STATUS_PAGES.filter(\n (page) =>\n mappedPages[page] &&\n mappedPages[page].startsWith('private-next-pages')\n )\n usedStaticStatusPages.forEach((page) => {\n if (!ssgPages.has(page) && !customAppGetInitialProps) {\n staticPages.add(page)\n }\n })\n\n const hasPages500 = !appDirOnly && usedStaticStatusPages.includes('/500')\n const useDefaultStatic500 =\n !hasPages500 && !hasNonStaticErrorPage && !customAppGetInitialProps\n\n const combinedPages = [...staticPages, ...ssgPages]\n const isApp404Static = staticPaths.has(UNDERSCORE_NOT_FOUND_ROUTE_ENTRY)\n const hasStaticApp404 = hasApp404 && isApp404Static\n const isAppGlobalErrorStatic = staticPaths.has(\n UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY\n )\n const hasStaticAppGlobalError =\n hasAppGlobalError && isAppGlobalErrorStatic\n\n await updateBuildDiagnostics({\n buildStage: 'static-generation',\n })\n\n // we need to trigger automatic exporting when we have\n // - static 404/500\n // - getStaticProps paths\n // - experimental app is enabled\n if (\n !isCompileMode &&\n (combinedPages.length > 0 ||\n useStaticPages404 ||\n useDefaultStatic500 ||\n appDir)\n ) {\n const staticGenerationSpan =\n nextBuildSpan.traceChild('static-generation')\n await staticGenerationSpan.traceAsyncFn(async () => {\n detectConflictingPaths(\n [\n ...combinedPages,\n ...pageKeys.pages.filter((page) => !combinedPages.includes(page)),\n ],\n ssgPages,\n new Map(\n Array.from(additionalPaths.entries()).map(\n ([page, routes]): [string, string[]] => {\n return [page, routes.map((route) => route.pathname)]\n }\n )\n )\n )\n\n const exportApp = (require('../export') as typeof import('../export'))\n .default as typeof import('../export').default\n\n const exportConfig: NextConfigComplete = {\n ...config,\n // Default map will be the collection of automatic statically exported\n // pages and incremental pages.\n // n.b. we cannot handle this above in combinedPages because the dynamic\n // page must be in the `pages` array, but not in the mapping.\n exportPathMap: (defaultMap: ExportPathMap) => {\n // Dynamically routed pages should be prerendered to be used as\n // a client-side skeleton (fallback) while data is being fetched.\n // This ensures the end-user never sees a 500 or slow response from the\n // server.\n //\n // Note: prerendering disables automatic static optimization.\n ssgPages.forEach((page) => {\n if (isDynamicRoute(page)) {\n tbdPrerenderRoutes.push(page)\n\n if (ssgStaticFallbackPages.has(page)) {\n // Override the rendering for the dynamic page to be treated as a\n // fallback render.\n if (i18n) {\n defaultMap[`/${i18n.defaultLocale}${page}`] = {\n page,\n _pagesFallback: true,\n }\n } else {\n defaultMap[page] = {\n page,\n _pagesFallback: true,\n }\n }\n } else {\n // Remove dynamically routed pages from the default path map when\n // fallback behavior is disabled.\n delete defaultMap[page]\n }\n }\n })\n\n // Append the \"well-known\" routes we should prerender for, e.g. blog\n // post slugs.\n additionalPaths.forEach((routes, page) => {\n routes.forEach((route) => {\n defaultMap[route.pathname] = {\n page,\n _ssgPath: route.encodedPathname,\n }\n })\n })\n\n if (useStaticPages404 && !appDirOnly) {\n defaultMap['/404'] = {\n page: hasPages404 ? '/404' : '/_error',\n }\n }\n\n if (useDefaultStatic500 && !appDirOnly) {\n defaultMap['/500'] = {\n page: '/_error',\n }\n }\n\n // TODO: output manifest specific to app paths and their\n // revalidate periods and dynamicParams settings\n staticPaths.forEach((routes, originalAppPath) => {\n const appConfig = appDefaultConfigs.get(originalAppPath)\n const isDynamicError = appConfig?.dynamic === 'error'\n\n const isRoutePPREnabled: boolean = appConfig\n ? checkIsRoutePPREnabled(config.experimental.ppr, appConfig)\n : false\n\n routes.forEach((route) => {\n // If the route has any dynamic root segments, we need to skip\n // rendering the route. This is because we don't support\n // revalidating the shells without the parameters present.\n // Note that we only have fallback root params if we also have\n // PPR enabled for this route/app already.\n if (\n route.fallbackRootParams &&\n route.fallbackRootParams.length > 0 &&\n // We don't skip rendering the route if we have the\n // following enabled. This is because the flight data now\n // does not contain any of the route params and is instead\n // completely static.\n !(\n config.experimental.clientSegmentCache &&\n config.experimental.clientParamParsing\n )\n ) {\n return\n }\n\n defaultMap[route.pathname] = {\n page: originalAppPath,\n _ssgPath: route.encodedPathname,\n _fallbackRouteParams: route.fallbackRouteParams,\n _isDynamicError: isDynamicError,\n _isAppDir: true,\n _isRoutePPREnabled: isRoutePPREnabled,\n _allowEmptyStaticShell: !route.throwOnEmptyStaticShell,\n }\n })\n })\n\n if (i18n) {\n for (const page of [\n ...staticPages,\n ...ssgPages,\n ...(useStaticPages404 ? ['/404'] : []),\n ...(useDefaultStatic500 ? ['/500'] : []),\n ]) {\n const isSsg = ssgPages.has(page)\n const isDynamic = isDynamicRoute(page)\n const isFallback = isSsg && ssgStaticFallbackPages.has(page)\n\n for (const locale of i18n.locales) {\n // skip fallback generation for SSG pages without fallback mode\n if (isSsg && isDynamic && !isFallback) continue\n const outputPath = `/${locale}${page === '/' ? '' : page}`\n\n defaultMap[outputPath] = {\n page: defaultMap[page]?.page || page,\n _locale: locale,\n _pagesFallback: isFallback,\n }\n }\n\n if (isSsg) {\n // remove non-locale prefixed variant from defaultMap\n delete defaultMap[page]\n }\n }\n }\n\n return defaultMap\n },\n }\n\n const outdir = path.join(distDir, 'export')\n const exportResult = await exportApp(\n dir,\n {\n nextConfig: exportConfig,\n enabledDirectories,\n silent: true,\n buildExport: true,\n debugOutput,\n debugPrerender,\n pages: combinedPages,\n outdir,\n statusMessage: 'Generating static pages',\n numWorkers: getNumberOfWorkers(exportConfig),\n appDirOnly,\n },\n nextBuildSpan\n )\n\n // If there was no result, there's nothing more to do.\n if (!exportResult) return\n\n const getFallbackMode = (route: PrerenderedRoute) => {\n const hasEmptyStaticShell = exportResult.byPath.get(\n route.pathname\n )?.hasEmptyStaticShell\n\n // If the route has an empty static shell and is not configured to\n // throw on empty static shell, then we should use the blocking\n // static render mode.\n if (\n hasEmptyStaticShell &&\n !route.throwOnEmptyStaticShell &&\n route.fallbackMode === FallbackMode.PRERENDER\n ) {\n return FallbackMode.BLOCKING_STATIC_RENDER\n }\n\n // If the route has no fallback mode, then we should use the\n // `NOT_FOUND` fallback mode.\n if (!route.fallbackMode) {\n return FallbackMode.NOT_FOUND\n }\n\n return route.fallbackMode\n }\n\n const getCacheControl = (\n exportPath: string,\n defaultRevalidate: Revalidate = false\n ): CacheControl => {\n const cacheControl =\n exportResult.byPath.get(exportPath)?.cacheControl\n\n if (!cacheControl) {\n return { revalidate: defaultRevalidate, expire: undefined }\n }\n\n if (\n cacheControl.revalidate !== false &&\n cacheControl.revalidate > 0 &&\n cacheControl.expire === undefined\n ) {\n return {\n revalidate: cacheControl.revalidate,\n expire: config.expireTime,\n }\n }\n\n return cacheControl\n }\n\n if (debugOutput || process.env.NEXT_SSG_FETCH_METRICS === '1') {\n recordFetchMetrics(exportResult)\n }\n\n writeTurborepoAccessTraceResult({\n distDir: config.distDir,\n traces: [\n turborepoAccessTraceResult,\n ...exportResult.turborepoAccessTraceResults.values(),\n ],\n })\n\n prerenderManifest.notFoundRoutes = Array.from(\n exportResult.ssgNotFoundPaths\n )\n\n // remove server bundles that were exported\n for (const page of staticPages) {\n const serverBundle = getPagePath(page, distDir, undefined, false)\n await fs.unlink(serverBundle)\n }\n\n staticPaths.forEach((prerenderedRoutes, originalAppPath) => {\n const page = appNormalizedPaths.get(originalAppPath)\n if (!page) throw new InvariantError('Page not found')\n\n const appConfig = appDefaultConfigs.get(originalAppPath)\n if (!appConfig) throw new InvariantError('App config not found')\n\n let hasRevalidateZero =\n appConfig.revalidate === 0 ||\n getCacheControl(page).revalidate === 0\n\n if (hasRevalidateZero && pageInfos.get(page)?.isStatic) {\n // if the page was marked as being static, but it contains dynamic data\n // (ie, in the case of a static generation bailout), then it should be marked dynamic\n pageInfos.set(page, {\n ...(pageInfos.get(page) as PageInfo),\n isStatic: false,\n isSSG: false,\n })\n }\n\n const isAppRouteHandler = isAppRouteRoute(originalAppPath)\n\n // When this is an app page and PPR is enabled, the route supports\n // partial pre-rendering.\n const isRoutePPREnabled: true | undefined =\n !isAppRouteHandler &&\n checkIsRoutePPREnabled(config.experimental.ppr, appConfig)\n ? true\n : undefined\n\n const htmlBotsRegexString =\n // The htmlLimitedBots has been converted to a string during loadConfig\n config.htmlLimitedBots || HTML_LIMITED_BOT_UA_RE_STRING\n\n // this flag is used to selectively bypass the static cache and invoke the lambda directly\n // to enable server actions on static routes\n const bypassFor: RouteHas[] = [\n { type: 'header', key: ACTION_HEADER },\n {\n type: 'header',\n key: 'content-type',\n value: 'multipart/form-data;.*',\n },\n // If it's PPR rendered non-static page, bypass the PPR cache when streaming metadata is enabled.\n // This will skip the postpone data for those bots requests and instead produce a dynamic render.\n ...(isRoutePPREnabled\n ? [\n {\n type: 'header',\n key: 'user-agent',\n value: htmlBotsRegexString,\n },\n ]\n : []),\n ]\n\n // We should collect all the dynamic routes into a single array for\n // this page. Including the full fallback route (the original\n // route), any routes that were generated with unknown route params\n // should be collected and included in the dynamic routes part\n // of the manifest instead.\n const staticPrerenderedRoutes: PrerenderedRoute[] = []\n const dynamicPrerenderedRoutes: PrerenderedRoute[] = []\n\n // Sort the outputted routes to ensure consistent output. Any route\n // though that has unknown route params will be pulled and sorted\n // independently. This is because the routes with unknown route\n // params will contain the dynamic path parameters, some of which\n // may conflict with the actual prerendered routes.\n const unsortedUnknownPrerenderRoutes: PrerenderedRoute[] = []\n const unsortedKnownPrerenderRoutes: PrerenderedRoute[] = []\n for (const prerenderedRoute of prerenderedRoutes) {\n if (\n prerenderedRoute.fallbackRouteParams &&\n prerenderedRoute.fallbackRouteParams.length > 0\n ) {\n unsortedUnknownPrerenderRoutes.push(prerenderedRoute)\n } else {\n unsortedKnownPrerenderRoutes.push(prerenderedRoute)\n }\n }\n\n const sortedUnknownPrerenderRoutes = sortPageObjects(\n unsortedUnknownPrerenderRoutes,\n (prerenderedRoute) => prerenderedRoute.pathname\n )\n const sortedKnownPrerenderRoutes = sortPageObjects(\n unsortedKnownPrerenderRoutes,\n (prerenderedRoute) => prerenderedRoute.pathname\n )\n\n prerenderedRoutes = [\n ...sortedKnownPrerenderRoutes,\n ...sortedUnknownPrerenderRoutes,\n ]\n\n for (const prerenderedRoute of prerenderedRoutes) {\n if (\n isRoutePPREnabled &&\n prerenderedRoute.fallbackRouteParams &&\n prerenderedRoute.fallbackRouteParams.length > 0\n ) {\n // If the route has unknown params, then we need to add it to\n // the list of dynamic routes.\n dynamicPrerenderedRoutes.push(prerenderedRoute)\n } else {\n // If the route doesn't have unknown params, then we need to\n // add it to the list of static routes.\n staticPrerenderedRoutes.push(prerenderedRoute)\n }\n }\n\n // Handle all the static routes.\n for (const route of staticPrerenderedRoutes) {\n if (isDynamicRoute(page) && route.pathname === page) continue\n\n const {\n metadata = {},\n hasEmptyStaticShell,\n hasPostponed,\n } = exportResult.byPath.get(route.pathname) ?? {}\n\n const cacheControl = getCacheControl(\n route.pathname,\n appConfig.revalidate\n )\n\n pageInfos.set(route.pathname, {\n ...(pageInfos.get(route.pathname) as PageInfo),\n hasPostponed,\n hasEmptyStaticShell,\n initialCacheControl: cacheControl,\n })\n\n // update the page (eg /blog/[slug]) to also have the postpone metadata\n pageInfos.set(page, {\n ...(pageInfos.get(page) as PageInfo),\n hasPostponed,\n hasEmptyStaticShell,\n initialCacheControl: cacheControl,\n })\n\n if (cacheControl.revalidate !== 0) {\n const normalizedRoute = normalizePagePath(route.pathname)\n\n let dataRoute: string | null\n if (isAppRouteHandler) {\n dataRoute = null\n } else {\n dataRoute = path.posix.join(`${normalizedRoute}${RSC_SUFFIX}`)\n }\n\n let prefetchDataRoute: string | null = null\n // While we may only write the `.rsc` when the route does not\n // have PPR enabled, we still want to generate the route when\n // deployed so it doesn't 404. If the app has PPR enabled, we\n // should add this key.\n if (\n !isAppRouteHandler &&\n isAppPPREnabled &&\n // Don't add a prefetch data route if we have both\n // clientSegmentCache and clientParamParsing enabled. This is\n // because we don't actually use the prefetch data route in\n // this case. This only applies if we have PPR enabled for\n // this route.\n !(\n config.experimental.clientSegmentCache &&\n config.experimental.clientParamParsing &&\n isRoutePPREnabled\n )\n ) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\n )\n }\n\n const meta = collectMeta(metadata)\n const status =\n route.pathname === UNDERSCORE_NOT_FOUND_ROUTE\n ? 404\n : meta.status\n\n prerenderManifest.routes[route.pathname] = {\n initialStatus: status,\n initialHeaders: meta.headers,\n renderingMode: isAppPPREnabled\n ? isRoutePPREnabled\n ? RenderingMode.PARTIALLY_STATIC\n : RenderingMode.STATIC\n : undefined,\n experimentalPPR: isRoutePPREnabled,\n experimentalBypassFor: bypassFor,\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n srcRoute: page,\n dataRoute,\n prefetchDataRoute,\n allowHeader: ALLOWED_HEADERS,\n }\n } else {\n hasRevalidateZero = true\n // we might have determined during prerendering that this page\n // used dynamic data\n pageInfos.set(route.pathname, {\n ...(pageInfos.get(route.pathname) as PageInfo),\n isSSG: false,\n isStatic: false,\n })\n }\n }\n\n if (!hasRevalidateZero && isDynamicRoute(page)) {\n // When PPR fallbacks aren't used, we need to include it here. If\n // they are enabled, then it'll already be included in the\n // prerendered routes.\n if (!isRoutePPREnabled) {\n dynamicPrerenderedRoutes.push({\n params: {},\n pathname: page,\n encodedPathname: page,\n fallbackRouteParams: [],\n fallbackMode:\n fallbackModes.get(originalAppPath) ??\n FallbackMode.NOT_FOUND,\n fallbackRootParams: [],\n throwOnEmptyStaticShell: true,\n })\n }\n\n for (const route of dynamicPrerenderedRoutes) {\n const normalizedRoute = normalizePagePath(route.pathname)\n\n const metadata = exportResult.byPath.get(\n route.pathname\n )?.metadata\n\n const cacheControl = getCacheControl(route.pathname)\n\n let dataRoute: string | null = null\n if (!isAppRouteHandler) {\n dataRoute = path.posix.join(`${normalizedRoute}${RSC_SUFFIX}`)\n }\n\n let prefetchDataRoute: string | null = null\n let dynamicRoute = routesManifest.dynamicRoutes.find(\n (r) => r.page === route.pathname\n )\n if (!isAppRouteHandler && isAppPPREnabled) {\n if (\n // Don't add a prefetch data route if we have both\n // clientSegmentCache and clientParamParsing enabled. This is\n // because we don't actually use the prefetch data route in\n // this case. This only applies if we have PPR enabled for\n // this route.\n !config.experimental.clientSegmentCache ||\n !config.experimental.clientParamParsing ||\n !isRoutePPREnabled\n ) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\n )\n }\n\n // If the dynamic route wasn't found, then we need to create\n // it. This ensures that for each fallback shell there's an\n // entry in the app routes manifest which enables routing for\n // this fallback shell.\n if (!dynamicRoute) {\n dynamicRoute = pageToRoute(route.pathname, page)\n sourcePages.set(route.pathname, page)\n\n // This route is not for the internal router, but instead\n // for external routers.\n dynamicRoute.skipInternalRouting = true\n\n // Push this to the end of the array. The dynamic routes are\n // sorted by page later.\n dynamicRoutes.push(dynamicRoute)\n }\n }\n\n if (\n !isAppRouteHandler &&\n (metadata?.segmentPaths ||\n (route.fallbackRootParams &&\n route.fallbackRootParams.length > 0))\n ) {\n // If PPR isn't enabled, then we might not find the dynamic\n // route by pathname. If that's the case, we need to find the\n // route by page.\n if (!dynamicRoute) {\n dynamicRoute = dynamicRoutes.find((r) => r.page === page)\n\n // If it can't be found by page, we must throw an error.\n if (!dynamicRoute) {\n throw new InvariantError('Dynamic route not found')\n }\n }\n\n if (metadata?.segmentPaths) {\n const pageSegmentPath = metadata.segmentPaths.find((item) =>\n item.endsWith('__PAGE__')\n )\n if (!pageSegmentPath) {\n throw new Error(`Invariant: missing __PAGE__ segmentPath`)\n }\n\n // We build a combined segment data route from the\n // page segment as we need to limit the number of\n // routes we output and they can be shared\n const builtSegmentDataRoute = buildPrefetchSegmentDataRoute(\n route.pathname,\n pageSegmentPath\n )\n\n builtSegmentDataRoute.source =\n builtSegmentDataRoute.source.replace(\n '/__PAGE__\\\\.segment\\\\.rsc$',\n `(?<segment>/__PAGE__\\\\.segment\\\\.rsc|\\\\.segment\\\\.rsc)(?:/)?$`\n )\n builtSegmentDataRoute.destination =\n builtSegmentDataRoute.destination.replace(\n '/__PAGE__.segment.rsc',\n '$segment'\n )\n dynamicRoute.prefetchSegmentDataRoutes ??= []\n dynamicRoute.prefetchSegmentDataRoutes.push(\n builtSegmentDataRoute\n )\n }\n // If the route has fallback root params, and we don't have\n // any segment paths, we need to write the inverse prefetch\n // segment data route so that it can first rewrite the /_tree\n // request to the prefetch RSC route. We also need to set the\n // `hasFallbackRootParams` flag so that we can simplify the\n // route regex for matching.\n else if (\n route.fallbackRootParams &&\n route.fallbackRootParams.length > 0\n ) {\n dynamicRoute.hasFallbackRootParams = true\n dynamicRoute.prefetchSegmentDataRoutes = [\n buildInversePrefetchSegmentDataRoute(\n dynamicRoute.page,\n // We use the special segment path of `/_tree` because it's\n // the first one sent by the client router so it's the only\n // one we need to rewrite to the regular prefetch RSC route.\n '/_tree'\n ),\n ]\n }\n }\n\n pageInfos.set(route.pathname, {\n ...(pageInfos.get(route.pathname) as PageInfo),\n isDynamicAppRoute: true,\n // if PPR is turned on and the route contains a dynamic segment,\n // we assume it'll be partially prerendered\n hasPostponed: isRoutePPREnabled,\n })\n\n const fallbackMode = getFallbackMode(route)\n\n // When the route is configured to serve a prerender, we should\n // use the cache control from the export result. If it can't be\n // found, mark that we should keep the shell forever\n // (revalidate: `false` via `getCacheControl()`).\n const fallbackCacheControl =\n isRoutePPREnabled && fallbackMode === FallbackMode.PRERENDER\n ? cacheControl\n : undefined\n\n const fallback: Fallback = fallbackModeToFallbackField(\n fallbackMode,\n route.pathname\n )\n\n const meta =\n metadata &&\n isRoutePPREnabled &&\n fallbackMode === FallbackMode.PRERENDER\n ? collectMeta(metadata)\n : {}\n\n prerenderManifest.dynamicRoutes[route.pathname] = {\n experimentalPPR: isRoutePPREnabled,\n renderingMode: isAppPPREnabled\n ? isRoutePPREnabled\n ? RenderingMode.PARTIALLY_STATIC\n : RenderingMode.STATIC\n : undefined,\n experimentalBypassFor: bypassFor,\n routeRegex: normalizeRouteRegex(\n getNamedRouteRegex(route.pathname, {\n prefixRouteKeys: false,\n }).re.source\n ),\n dataRoute,\n fallback,\n fallbackRevalidate: fallbackCacheControl?.revalidate,\n fallbackExpire: fallbackCacheControl?.expire,\n fallbackStatus: meta.status,\n fallbackHeaders: meta.headers,\n fallbackRootParams: fallback\n ? route.fallbackRootParams\n : undefined,\n fallbackSourceRoute:\n route.fallbackRouteParams &&\n route.fallbackRouteParams.length > 0\n ? page\n : undefined,\n fallbackRouteParams: route.fallbackRouteParams,\n dataRouteRegex: !dataRoute\n ? null\n : normalizeRouteRegex(\n getNamedRouteRegex(dataRoute, {\n prefixRouteKeys: false,\n includeSuffix: true,\n excludeOptionalTrailingSlash: true,\n }).re.source\n ),\n prefetchDataRoute,\n prefetchDataRouteRegex: !prefetchDataRoute\n ? undefined\n : normalizeRouteRegex(\n getNamedRouteRegex(prefetchDataRoute, {\n prefixRouteKeys: false,\n includeSuffix: true,\n excludeOptionalTrailingSlash: true,\n }).re.source\n ),\n allowHeader: ALLOWED_HEADERS,\n }\n }\n }\n })\n\n const moveExportedPage = async (\n originPage: string,\n page: string,\n file: string,\n isSsg: boolean,\n ext: 'html' | 'json',\n additionalSsgFile = false\n ) => {\n return staticGenerationSpan\n .traceChild('move-exported-page')\n .traceAsyncFn(async () => {\n file = `${file}.${ext}`\n const orig = path.join(outdir, file)\n const pagePath = getPagePath(\n originPage,\n distDir,\n undefined,\n false\n )\n\n const relativeDest = path\n .relative(\n path.join(distDir, SERVER_DIRECTORY),\n path.join(\n path.join(\n pagePath,\n // strip leading / and then recurse number of nested dirs\n // to place from base folder\n originPage\n .slice(1)\n .split('/')\n .map(() => '..')\n .join('/')\n ),\n file\n )\n )\n .replace(/\\\\/g, '/')\n\n if (\n !isSsg &&\n !(\n // don't add static status page to manifest if it's\n // the default generated version e.g. no pages/500\n (\n STATIC_STATUS_PAGES.includes(page) &&\n !usedStaticStatusPages.includes(page)\n )\n )\n ) {\n pagesManifest[page] = relativeDest\n }\n\n const dest = path.join(distDir, SERVER_DIRECTORY, relativeDest)\n const isNotFound =\n prerenderManifest.notFoundRoutes.includes(page)\n\n // for SSG files with i18n the non-prerendered variants are\n // output with the locale prefixed so don't attempt moving\n // without the prefix\n if ((!i18n || additionalSsgFile) && !isNotFound) {\n await fs.mkdir(path.dirname(dest), { recursive: true })\n await fs.rename(orig, dest)\n } else if (i18n && !isSsg) {\n // this will be updated with the locale prefixed variant\n // since all files are output with the locale prefix\n delete pagesManifest[page]\n }\n\n if (i18n) {\n if (additionalSsgFile) return\n\n const localeExt = page === '/' ? path.extname(file) : ''\n const relativeDestNoPages = relativeDest.slice(\n 'pages/'.length\n )\n\n for (const locale of i18n.locales) {\n const curPath = `/${locale}${page === '/' ? '' : page}`\n\n if (\n isSsg &&\n prerenderManifest.notFoundRoutes.includes(curPath)\n ) {\n continue\n }\n\n const updatedRelativeDest = path\n .join(\n 'pages',\n locale + localeExt,\n // if it's the top-most index page we want it to be locale.EXT\n // instead of locale/index.html\n page === '/' ? '' : relativeDestNoPages\n )\n .replace(/\\\\/g, '/')\n\n const updatedOrig = path.join(\n outdir,\n locale + localeExt,\n page === '/' ? '' : file\n )\n const updatedDest = path.join(\n distDir,\n SERVER_DIRECTORY,\n updatedRelativeDest\n )\n\n if (!isSsg) {\n pagesManifest[curPath] = updatedRelativeDest\n }\n await fs.mkdir(path.dirname(updatedDest), {\n recursive: true,\n })\n await fs.rename(updatedOrig, updatedDest)\n }\n }\n })\n }\n\n async function moveExportedAppNotFoundTo404() {\n return staticGenerationSpan\n .traceChild('move-exported-app-not-found-')\n .traceAsyncFn(async () => {\n const orig = path.join(\n distDir,\n 'server',\n 'app',\n '_not-found.html'\n )\n const updatedRelativeDest = path\n .join('pages', '404.html')\n .replace(/\\\\/g, '/')\n\n if (existsSync(orig)) {\n // if 404.html folder doesn't exist, create it\n await fs.mkdir(\n path.dirname(\n path.join(distDir, 'server', updatedRelativeDest)\n ),\n { recursive: true }\n )\n await fs.copyFile(\n orig,\n path.join(distDir, 'server', updatedRelativeDest)\n )\n\n // since the app router not found is prioritized over pages router,\n // we have to ensure the app router entries are available for all locales\n if (i18n) {\n for (const locale of i18n.locales) {\n const curPath = `/${locale}/404`\n pagesManifest[curPath] = updatedRelativeDest\n }\n }\n\n pagesManifest['/404'] = updatedRelativeDest\n }\n })\n }\n\n async function moveExportedAppGlobalErrorTo500() {\n return staticGenerationSpan\n .traceChild('move-exported-app-global-error-')\n .traceAsyncFn(async () => {\n // If static 500.html exists in pages router, don't move it\n if (\n existsSync(path.join(distDir, 'server', 'pages', '500.html'))\n ) {\n return\n }\n\n // Only handle 500.html generation for static export\n const orig = path.join(\n distDir,\n 'server',\n 'app',\n '_global-error.html'\n )\n if (existsSync(orig)) {\n const error500Html = path.join(\n distDir,\n 'server',\n 'pages',\n '500.html'\n )\n\n // if 500.html folder doesn't exist, create it\n await fs.mkdir(path.dirname(error500Html), {\n recursive: true,\n })\n await fs.copyFile(orig, error500Html)\n\n pagesManifest['/500'] = path\n .join('pages', '500.html')\n .replace(/\\\\/g, '/')\n }\n })\n }\n\n // If there's /not-found inside app, we prefer it over the pages 404\n if (hasStaticApp404) {\n await moveExportedAppNotFoundTo404()\n } else {\n // Only move /404 to /404 when there is no custom 404 as in that case we don't know about the 404 page\n if (\n !hasPages404 &&\n !hasApp404 &&\n useStaticPages404 &&\n !appDirOnly\n ) {\n await moveExportedPage('/_error', '/404', '/404', false, 'html')\n }\n }\n\n if (useDefaultStatic500 && !appDirOnly) {\n await moveExportedPage('/_error', '/500', '/500', false, 'html')\n }\n\n // If there's app router and no pages router, use app router built-in 500.html\n if (\n hasStaticAppGlobalError &&\n mappedAppPages &&\n Object.keys(mappedAppPages).length > 0\n ) {\n await moveExportedAppGlobalErrorTo500()\n }\n\n for (const page of combinedPages) {\n const isSsg = ssgPages.has(page)\n const isStaticSsgFallback = ssgStaticFallbackPages.has(page)\n const isDynamic = isDynamicRoute(page)\n const hasAmp = hybridAmpPages.has(page)\n const file = normalizePagePath(page)\n\n const pageInfo = pageInfos.get(page)\n const durationInfo = exportResult.byPage.get(page)\n if (pageInfo && durationInfo) {\n // Set Build Duration\n if (pageInfo.ssgPageRoutes) {\n pageInfo.ssgPageDurations = pageInfo.ssgPageRoutes.map(\n (pagePath) => {\n const duration = durationInfo.durationsByPath.get(pagePath)\n if (typeof duration === 'undefined') {\n throw new Error(\"Invariant: page wasn't built\")\n }\n\n return duration\n }\n )\n }\n pageInfo.pageDuration = durationInfo.durationsByPath.get(page)\n }\n\n // The dynamic version of SSG pages are only prerendered if the\n // fallback is enabled. Below, we handle the specific prerenders\n // of these.\n const hasHtmlOutput = !(isSsg && isDynamic && !isStaticSsgFallback)\n\n if (hasHtmlOutput) {\n await moveExportedPage(page, page, file, isSsg, 'html')\n }\n\n if (hasAmp && (!isSsg || (isSsg && !isDynamic))) {\n const ampPage = `${file}.amp`\n await moveExportedPage(page, ampPage, ampPage, isSsg, 'html')\n\n if (isSsg) {\n await moveExportedPage(page, ampPage, ampPage, isSsg, 'json')\n }\n }\n\n if (isSsg) {\n // For a non-dynamic SSG page, we must copy its data file\n // from export, we already moved the HTML file above\n if (!isDynamic) {\n await moveExportedPage(page, page, file, isSsg, 'json')\n\n if (i18n) {\n // TODO: do we want to show all locale variants in build output\n for (const locale of i18n.locales) {\n const localePage = `/${locale}${page === '/' ? '' : page}`\n\n const cacheControl = getCacheControl(localePage)\n\n prerenderManifest.routes[localePage] = {\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n experimentalPPR: undefined,\n renderingMode: undefined,\n srcRoute: null,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${file}.json`\n ),\n prefetchDataRoute: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n }\n } else {\n const cacheControl = getCacheControl(page)\n\n prerenderManifest.routes[page] = {\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n experimentalPPR: undefined,\n renderingMode: undefined,\n srcRoute: null,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${file}.json`\n ),\n // Pages does not have a prefetch data route.\n prefetchDataRoute: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n }\n if (pageInfo) {\n pageInfo.initialCacheControl = getCacheControl(page)\n }\n } else {\n // For a dynamic SSG page, we did not copy its data exports and only\n // copy the fallback HTML file (if present).\n // We must also copy specific versions of this page as defined by\n // `getStaticPaths` (additionalSsgPaths).\n for (const route of additionalPaths.get(page) ?? []) {\n const pageFile = normalizePagePath(route.pathname)\n await moveExportedPage(\n page,\n route.pathname,\n pageFile,\n isSsg,\n 'html',\n true\n )\n await moveExportedPage(\n page,\n route.pathname,\n pageFile,\n isSsg,\n 'json',\n true\n )\n\n if (hasAmp) {\n const ampPage = `${pageFile}.amp`\n await moveExportedPage(\n page,\n ampPage,\n ampPage,\n isSsg,\n 'html',\n true\n )\n await moveExportedPage(\n page,\n ampPage,\n ampPage,\n isSsg,\n 'json',\n true\n )\n }\n\n const cacheControl = getCacheControl(route.pathname)\n\n prerenderManifest.routes[route.pathname] = {\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n experimentalPPR: undefined,\n renderingMode: undefined,\n srcRoute: page,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${normalizePagePath(route.pathname)}.json`\n ),\n // Pages does not have a prefetch data route.\n prefetchDataRoute: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n\n if (pageInfo) {\n pageInfo.initialCacheControl = cacheControl\n }\n }\n }\n }\n }\n\n // remove temporary export folder\n await fs.rm(outdir, { recursive: true, force: true })\n await writeManifest(pagesManifestPath, pagesManifest)\n })\n\n // As we may have modified the dynamicRoutes, we need to sort the\n // dynamic routes by page.\n routesManifest.dynamicRoutes = sortSortableRouteObjects(\n dynamicRoutes,\n (route) => ({\n // If the route is PPR enabled, and has an associated source page,\n // use it. Otherwise fallback to the page which should be the same.\n sourcePage: sourcePages.get(route.page) ?? route.page,\n page: route.page,\n })\n )\n\n // Now write the routes manifest out.\n await nextBuildSpan\n .traceChild('write-routes-manifest')\n .traceAsyncFn(() => writeManifest(routesManifestPath, routesManifest))\n }\n\n const postBuildSpinner = createSpinner('Finalizing page optimization')\n let buildTracesSpinner\n if (buildTracesPromise) {\n buildTracesSpinner = createSpinner('Collecting build traces')\n }\n\n // ensure the worker is not left hanging\n worker.end()\n\n const analysisEnd = process.hrtime(analysisBegin)\n telemetry.record(\n eventBuildOptimize(pagesPaths, {\n durationInSeconds: analysisEnd[0],\n staticPageCount: staticPages.size,\n staticPropsPageCount: ssgPages.size,\n serverPropsPageCount: serverPropsPages.size,\n ssrPageCount:\n pagesPaths.length -\n (staticPages.size + ssgPages.size + serverPropsPages.size),\n hasStatic404: useStaticPages404,\n hasReportWebVitals:\n namedExports?.includes('reportWebVitals') ?? false,\n rewritesCount: combinedRewrites.length,\n headersCount: headers.length,\n redirectsCount: redirects.length - 1, // reduce one for trailing slash\n headersWithHasCount: headers.filter((r: any) => !!r.has).length,\n rewritesWithHasCount: combinedRewrites.filter((r: any) => !!r.has)\n .length,\n redirectsWithHasCount: redirects.filter((r: any) => !!r.has).length,\n middlewareCount: hasMiddlewareFile ? 1 : 0,\n totalAppPagesCount,\n staticAppPagesCount,\n serverAppPagesCount,\n edgeRuntimeAppCount,\n edgeRuntimePagesCount,\n })\n )\n\n if (NextBuildContext.telemetryState) {\n const events = eventBuildFeatureUsage(\n NextBuildContext.telemetryState.usages\n )\n telemetry.record(events)\n telemetry.record(\n eventPackageUsedInGetServerSideProps(\n NextBuildContext.telemetryState.packagesUsedInServerSideProps\n )\n )\n const useCacheTracker = NextBuildContext.telemetryState.useCacheTracker\n\n for (const [key, value] of Object.entries(useCacheTracker)) {\n telemetry.record(\n eventBuildFeatureUsage([\n {\n featureName: key as UseCacheTrackerKey,\n invocationCount: value,\n },\n ])\n )\n }\n }\n\n if (ssgPages.size > 0 || appDir) {\n tbdPrerenderRoutes.forEach((tbdRoute) => {\n const normalizedRoute = normalizePagePath(tbdRoute)\n const dataRoute = path.posix.join(\n '/_next/data',\n buildId,\n `${normalizedRoute}.json`\n )\n\n prerenderManifest.dynamicRoutes[tbdRoute] = {\n routeRegex: normalizeRouteRegex(\n getNamedRouteRegex(tbdRoute, {\n prefixRouteKeys: false,\n }).re.source\n ),\n experimentalPPR: undefined,\n renderingMode: undefined,\n dataRoute,\n fallback: ssgBlockingFallbackPages.has(tbdRoute)\n ? null\n : ssgStaticFallbackPages.has(tbdRoute)\n ? `${normalizedRoute}.html`\n : false,\n fallbackRevalidate: undefined,\n fallbackExpire: undefined,\n fallbackSourceRoute: undefined,\n fallbackRootParams: undefined,\n fallbackRouteParams: undefined,\n dataRouteRegex: normalizeRouteRegex(\n getNamedRouteRegex(dataRoute, {\n prefixRouteKeys: true,\n includeSuffix: true,\n excludeOptionalTrailingSlash: true,\n }).re.source\n ),\n // Pages does not have a prefetch data route.\n prefetchDataRoute: undefined,\n prefetchDataRouteRegex: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n })\n\n NextBuildContext.previewModeId = previewProps.previewModeId\n NextBuildContext.fetchCacheKeyPrefix =\n config.experimental.fetchCacheKeyPrefix\n NextBuildContext.allowedRevalidateHeaderKeys =\n config.experimental.allowedRevalidateHeaderKeys\n\n await writePrerenderManifest(distDir, prerenderManifest)\n await writeClientSsgManifest(prerenderManifest, {\n distDir,\n buildId,\n locales: config.i18n?.locales,\n })\n } else {\n await writePrerenderManifest(distDir, {\n version: 4,\n routes: {},\n dynamicRoutes: {},\n preview: previewProps,\n notFoundRoutes: [],\n })\n }\n\n await writeImagesManifest(distDir, config)\n await writeManifest(path.join(distDir, EXPORT_MARKER), {\n version: 1,\n hasExportPathMap: typeof config.exportPathMap === 'function',\n exportTrailingSlash: config.trailingSlash === true,\n isNextImageImported: isNextImageImported === true,\n })\n await fs.unlink(path.join(distDir, EXPORT_DETAIL)).catch((err) => {\n if (err.code === 'ENOENT') {\n return Promise.resolve()\n }\n return Promise.reject(err)\n })\n\n if (Boolean(config.experimental.nextScriptWorkers)) {\n await nextBuildSpan\n .traceChild('verify-partytown-setup')\n .traceAsyncFn(async () => {\n await verifyPartytownSetup(\n dir,\n path.join(distDir, CLIENT_STATIC_FILES_PATH)\n )\n })\n }\n\n await buildTracesPromise\n\n if (buildTracesSpinner) {\n buildTracesSpinner.stopAndPersist()\n buildTracesSpinner = undefined\n }\n\n if (isCompileMode) {\n Log.info(\n `Build ran with \"compile\" mode, to finalize the build run either \"generate\" or \"generate-env\" mode as well`\n )\n }\n\n if (config.output === 'export') {\n await writeFullyStaticExport(\n config,\n dir,\n enabledDirectories,\n configOutDir,\n nextBuildSpan,\n appDirOnly\n )\n }\n\n if (config.experimental.adapterPath) {\n await handleBuildComplete({\n dir,\n distDir,\n config,\n staticPages,\n nextVersion: process.env.__NEXT_VERSION as string,\n tracingRoot: outputFileTracingRoot,\n hasNodeMiddleware,\n hasInstrumentationHook,\n adapterPath: config.experimental.adapterPath,\n pageKeys: pageKeys.pages,\n appPageKeys: denormalizedAppPages,\n routesManifest,\n prerenderManifest,\n middlewareManifest,\n functionsConfigManifest,\n hasStatic404: useStaticPages404,\n requiredServerFiles: requiredServerFilesManifest.files,\n })\n }\n\n if (config.output === 'standalone') {\n await writeStandaloneDirectory(\n nextBuildSpan,\n distDir,\n pageKeys,\n denormalizedAppPages,\n outputFileTracingRoot,\n requiredServerFilesManifest,\n middlewareManifest,\n hasNodeMiddleware,\n hasInstrumentationHook,\n staticPages,\n loadedEnvFiles,\n appDir\n )\n }\n\n if (postBuildSpinner) postBuildSpinner.stopAndPersist()\n console.log()\n\n if (debugOutput) {\n nextBuildSpan\n .traceChild('print-custom-routes')\n .traceFn(() => printCustomRoutes({ redirects, rewrites, headers }))\n }\n\n await nextBuildSpan.traceChild('print-tree-view').traceAsyncFn(() =>\n printTreeView(pageKeys, pageInfos, {\n distPath: distDir,\n buildId: buildId,\n pagesDir,\n useStaticPages404,\n pageExtensions: config.pageExtensions,\n appBuildManifest,\n buildManifest,\n middlewareManifest,\n gzipSize: config.experimental.gzipSize,\n })\n )\n\n await nextBuildSpan\n .traceChild('telemetry-flush')\n .traceAsyncFn(() => telemetry.flush())\n\n await shutdownPromise\n })\n } catch (e) {\n const telemetry: Telemetry | undefined = traceGlobals.get('telemetry')\n if (telemetry) {\n telemetry.record(\n eventBuildFailed({\n bundler: getBundlerForTelemetry(isTurbopack),\n errorCode: getErrorCodeForTelemetry(e),\n durationInSeconds: Math.floor((Date.now() - buildStartTime) / 1000),\n })\n )\n }\n throw e\n } finally {\n // Ensure we wait for lockfile patching if present\n await lockfilePatchPromise.cur\n\n // Ensure all traces are flushed before finishing the command\n await flushAllTraces()\n teardownTraceSubscriber()\n\n if (traceUploadUrl && loadedConfig) {\n uploadTrace({\n traceUploadUrl,\n mode: 'build',\n projectDir: dir,\n distDir: loadedConfig.distDir,\n isTurboSession: isTurbopack,\n sync: true,\n })\n }\n }\n}\n\nfunction errorFromUnsupportedSegmentConfig(): never {\n Log.error(\n `Invalid segment configuration export detected. This can cause unexpected behavior from the configs not being applied. You should see the relevant failures in the logs above. Please fix them to continue.`\n )\n process.exit(1)\n}\n\nfunction getBundlerForTelemetry(isTurbopack: boolean) {\n if (isTurbopack) {\n return 'turbopack'\n }\n\n if (process.env.NEXT_RSPACK) {\n return 'rspack'\n }\n\n return 'webpack'\n}\n\nfunction getErrorCodeForTelemetry(err: unknown) {\n const code = extractNextErrorCode(err)\n if (code != null) {\n return code\n }\n\n if (err instanceof Error && 'code' in err && typeof err.code === 'string') {\n return err.code\n }\n\n if (err instanceof Error) {\n return err.name\n }\n\n return 'Unknown'\n}\n"],"names":["createStaticWorker","build","ALLOWED_HEADERS","MATCHED_PATH_HEADER","PRERENDER_REVALIDATE_HEADER","PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER","NEXT_CACHE_REVALIDATED_TAGS_HEADER","NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER","pageToRoute","page","sourcePage","routeRegex","getNamedRouteRegex","prefixRouteKeys","regex","normalizeRouteRegex","re","source","routeKeys","namedRegex","getCacheDir","distDir","cacheDir","path","join","ciEnvironment","isCI","hasNextSupport","hasCache","existsSync","console","log","Log","prefixes","warn","writeFileUtf8","filePath","content","fs","writeFile","readFileUtf8","readFile","writeManifest","manifest","formatManifest","readManifest","JSON","parse","writePrerenderManifest","PRERENDER_MANIFEST","writeClientSsgManifest","prerenderManifest","buildId","locales","ssgPages","Set","Object","entries","routes","filter","srcRoute","map","route","normalizeLocalePath","pathname","keys","dynamicRoutes","sort","clientSsgManifestContent","devalue","CLIENT_STATIC_FILES_PATH","writeFunctionsConfigManifest","SERVER_DIRECTORY","FUNCTIONS_CONFIG_MANIFEST","writeRequiredServerFilesManifest","requiredServerFiles","SERVER_FILES_MANIFEST","writeImagesManifest","config","images","deviceSizes","imageSizes","sizes","remotePatterns","p","protocol","replace","hostname","makeRe","port","dot","search","localPatterns","IMAGES_MANIFEST","version","STANDALONE_DIRECTORY","writeStandaloneDirectory","nextBuildSpan","pageKeys","denormalizedAppPages","outputFileTracingRoot","middlewareManifest","hasNodeMiddleware","hasInstrumentationHook","staticPages","loadedEnvFiles","appDir","traceChild","traceAsyncFn","copyTracedFiles","pages","file","files","reduce","acc","envFile","includes","push","outputPath","relative","mkdir","dirname","recursive","copyFile","middlewareOutput","recursiveCopy","overwrite","originalServerApp","getNumberOfWorkers","experimental","cpus","defaultConfig","memoryBasedWorkersCount","Math","max","min","floor","os","freemem","staticWorkerPath","require","resolve","staticWorkerExposedMethods","options","debuggerPortOffset","progress","Worker","logger","numWorkers","onActivity","run","onActivityAbort","clear","enableSourceMaps","enablePrerenderSourceMaps","isolatedMemory","enableWorkerThreads","workerThreads","exposedMethods","writeFullyStaticExport","dir","enabledDirectories","configOutDir","appDirOnly","exportApp","default","buildExport","nextConfig","silent","outdir","getBuildId","isGenerateMode","generateBuildId","nanoid","reactProductionProfiling","debugOutput","debugPrerender","runLint","noMangling","isTurbopack","experimentalBuildMode","traceUploadUrl","isCompileMode","NextBuildContext","buildStartTime","Date","now","loadedConfig","trace","undefined","buildMode","isTurboBuild","String","process","env","__NEXT_VERSION","mappedPages","traceFn","loadEnvConfig","turborepoAccessTraceResult","TurborepoAccessTraceResult","turborepoTraceAccess","loadConfig","PHASE_PRODUCTION_BUILD","NEXT_DEPLOYMENT_ID","deploymentId","hasCustomExportOutput","setGlobal","exit","info","inlineStaticEnv","flushAllTraces","teardownTraceSubscriber","populateStaticEnv","customRoutes","loadCustomRoutes","headers","rewrites","redirects","combinedRewrites","beforeFiles","afterFiles","fallback","hasRewrites","length","originalRewrites","_originalRewrites","originalRedirects","_originalRedirects","telemetry","Telemetry","publicDir","pagesDir","findPagesDir","app","encryptionKey","generateEncryptionKeyBase64","isBuild","isSrcDir","startsWith","hasPublicDir","record","eventCliSession","webpackVersion","cliCommand","hasNowJson","findUp","cwd","isCustomServer","turboFlag","eventNextPlugins","then","events","eventSwcPlugins","envInfo","experimentalFeatures","getStartServerInfo","dev","logStartInfo","networkUrl","appUrl","logBundler","ignoreESLint","Boolean","eslint","ignoreDuringBuilds","shouldLint","typeCheckingOptions","distDirCreated","err","isError","code","isWriteable","Error","cleanDistDir","recursiveDelete","error","flush","buildLintEvent","featureName","invocationCount","eventName","EVENT_BUILD_FEATURE_USAGE","payload","validFileMatcher","createValidFileMatcher","pageExtensions","providedPagePaths","NEXT_PRIVATE_PAGE_PATHS","pagesPaths","collectPagesFiles","middlewareDetectionRegExp","RegExp","MIDDLEWARE_FILENAME","instrumentationHookDetectionRegExp","INSTRUMENTATION_HOOK_FILENAME","rootDir","rootPaths","Array","from","getFilesInDir","some","include","test","sortByPageExts","hasMiddlewareFile","previewProps","generatePreviewKeys","createPagesMapping","isDev","pagesType","PAGE_TYPES","PAGES","pagePaths","mappedAppPages","mappedAppLayouts","providedAppPaths","NEXT_PRIVATE_APP_PATHS","appPaths","layoutPaths","result","collectAppFiles","APP","mappedRootPaths","ROOT","pagesPageKeys","conflictingAppPagePaths","appPageKeys","appKey","normalizedAppPageKey","normalizeAppPath","pagePath","appPath","add","generateInterceptionRoutesRewrites","basePath","totalAppPagesCount","routeTypesFilePath","validatorFilePath","appRoutes","appRouteHandlers","layoutRoutes","slots","pageRoutes","pageApiRoutes","processPageRoutes","slotsFromPages","extractSlotsFromAppRoutes","slotsFromDefaults","defaultPaths","mappedDefaultFiles","extractSlotsFromDefaultFiles","combineSlots","processAppRoutes","processLayoutRoutes","routeTypesManifest","createRouteTypesManifest","writeRouteTypesManifest","writeValidatorFile","numConflictingAppPaths","conflictingPublicFiles","hasPages404","PAGES_DIR_ALIAS","hasApp404","UNDERSCORE_NOT_FOUND_ROUTE_ENTRY","hasAppGlobalError","UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY","hasCustomErrorPage","hasUserPagesRoutes","isReservedPage","hasPublicUnderScoreNextDir","PUBLIC_DIR_MIDDLEWARE_CONFLICT","hasPublicPageFile","fileExists","FileType","File","numConflicting","nestedReservedPages","match","restrictedRedirectPaths","isAppCacheComponentsEnabled","cacheComponents","isAuthInterruptsEnabled","authInterrupts","isAppPPREnabled","checkIsAppPPREnabled","ppr","routesManifestPath","ROUTES_MANIFEST","sourcePages","Map","routesManifest","sortedRoutes","sortPages","staticRoutes","isDynamicRoute","pages404","caseSensitive","caseSensitiveRoutes","r","buildCustomRoute","dataRoutes","i18n","rsc","header","RSC_HEADER","varyHeader","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER","prefetchHeader","didPostponeHeader","NEXT_DID_POSTPONE_HEADER","contentTypeHeader","RSC_CONTENT_TYPE_HEADER","suffix","RSC_SUFFIX","prefetchSuffix","RSC_PREFETCH_SUFFIX","prefetchSegmentHeader","prefetchSegmentSuffix","RSC_SEGMENT_SUFFIX","prefetchSegmentDirSuffix","RSC_SEGMENTS_DIR_SUFFIX","clientParamParsing","clientParamParsingOrigins","dynamicRSCPrerender","rdcForNavigations","rewriteHeaders","pathHeader","NEXT_REWRITTEN_PATH_HEADER","queryHeader","NEXT_REWRITTEN_QUERY_HEADER","skipMiddlewareUrlNormalize","chain","NEXT_RESUME_HEADER","startTypeChecking","clientRouterFilters","clientRouterFilter","nonInternalRedirects","internal","createClientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","recordFrameworkVersion","updateBuildDiagnostics","buildStage","pagesManifestPath","PAGES_MANIFEST","buildTraceContext","buildTracesPromise","useBuildWorker","webpackBuildWorker","webpack","runServerAndEdgeInParallel","parallelServerCompiles","collectServerBuildTracesInParallel","parallelServerBuildTraces","setAttribute","traceMemoryUsage","buildOptions","shutdownPromise","Promise","duration","compilerDuration","rest","turbopackBuild","NEXT_TURBOPACK_USE_WORKER","durationString","durationToString","event","eventBuildCompleted","bundler","durationInSeconds","round","serverBuildPromise","webpackBuild","res","buildTraceWorker","collectBuildTraces","edgeRuntimeRoutes","collectRoutesUsingEdgeRuntime","hasSsrAmpPages","catch","edgeBuildPromise","getBundlerForTelemetry","runAfterProductionCompile","buildSpan","metadata","projectDir","postCompileSpinner","createSpinner","buildManifestPath","BUILD_MANIFEST","appBuildManifestPath","APP_BUILD_MANIFEST","staticAppPagesCount","serverAppPagesCount","edgeRuntimeAppCount","edgeRuntimePagesCount","ssgStaticFallbackPages","ssgBlockingFallbackPages","invalidPages","hybridAmpPages","serverPropsPages","additionalPaths","staticPaths","appNormalizedPaths","fallbackModes","appDefaultConfigs","pageInfos","pagesManifest","buildManifest","appBuildManifest","appPathRoutes","appPathsManifest","APP_PATHS_MANIFEST","key","APP_PATH_ROUTES_MANIFEST","NEXT_PHASE","worker","analysisBegin","hrtime","staticCheckSpan","functionsConfigManifest","functions","customAppGetInitialProps","namedExports","isNextImageImported","hasNonStaticErrorPage","configFileName","publicRuntimeConfig","serverRuntimeConfig","runtimeEnvConfig","sriEnabled","sri","algorithm","nonStaticErrorPageSpan","errorPageHasCustomGetInitialProps","hasCustomGetInitialProps","checkingApp","errorPageStaticResult","isPageStatic","httpAgentOptions","defaultLocale","nextConfigOutput","output","pprConfig","cacheLifeProfiles","cacheLife","appPageToCheck","customAppGetInitialPropsPromise","namedExportsPromise","getDefinedNamedExports","computedManifestData","computeFromManifest","gzipSize","MIDDLEWARE_MANIFEST","actionManifest","SERVER_REFERENCE_MANIFEST","entriesWithAction","id","node","entry","workers","edge","all","pageType","checkPageSpan","actualPage","normalizePagePath","size","totalSize","getJsPageSizeInKb","isRoutePPREnabled","isSSG","isStatic","isServerComponent","isHybridAmp","ssgPageRoutes","find","normalizePathSep","originalAppPath","originalPath","normalizedPath","pageFilePath","isAppBuiltinPage","isInsideAppDir","staticInfo","getStaticInfoIncludingLayouts","hadUnsupportedValue","errorFromUnsupportedSegmentConfig","runtime","maxDuration","preferredRegion","regions","pageRuntime","RSC_MODULE_TYPES","client","edgeInfo","isEdgeRuntime","manifestKey","isPageStaticSpan","workerResult","parentId","getId","cacheHandler","cacheHandlers","isrFlushToDisk","maxMemoryCacheSize","cacheMaxMemorySize","set","warnOnce","isDynamic","prerenderedRoutes","appConfig","revalidate","hasGenerateStaticParams","params","encodedPathname","fallbackRouteParams","fallbackMode","prerenderFallbackMode","fallbackRootParams","throwOnEmptyStaticShell","dynamic","hasStaticProps","isAmpOnly","FallbackMode","BLOCKING_STATIC_RENDER","PRERENDER","hasServerProps","STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR","delete","STATIC_STATUS_PAGES","message","initialCacheControl","pageDuration","ssgPageDurations","hasEmptyStaticShell","errorPageResult","nonStaticErrorPage","returnValue","stopAndPersist","bold","yellow","instrumentationHookEntryFiles","requiredServerFilesManifest","normalizedCacheHandlers","value","serverFilesManifest","configFile","compress","trustHostHeader","isExperimentalCompile","relativeAppDir","MIDDLEWARE_BUILD_MANIFEST","MIDDLEWARE_REACT_LOADABLE_MANIFEST","REACT_LOADABLE_MANIFEST","SUBRESOURCE_INTEGRITY_MANIFEST","DYNAMIC_CSS_MANIFEST","BUILD_ID_FILE","NEXT_FONT_MANIFEST","nonNullable","ignore","middlewareFile","matchers","middleware","regexp","originalSource","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","buildDataRoute","useStaticPages404","pg","writeBuildId","optimizeCss","globOrig","cssFilePaths","reject","features","nextScriptWorkers","isPersistentCachingEnabled","feature","notFoundRoutes","preview","tbdPrerenderRoutes","usedStaticStatusPages","forEach","has","hasPages500","useDefaultStatic500","combinedPages","isApp404Static","hasStaticApp404","isAppGlobalErrorStatic","hasStaticAppGlobalError","staticGenerationSpan","detectConflictingPaths","exportConfig","exportPathMap","defaultMap","_pagesFallback","_ssgPath","get","isDynamicError","checkIsRoutePPREnabled","clientSegmentCache","_fallbackRouteParams","_isDynamicError","_isAppDir","_isRoutePPREnabled","_allowEmptyStaticShell","isSsg","isFallback","locale","_locale","exportResult","statusMessage","getFallbackMode","byPath","NOT_FOUND","getCacheControl","exportPath","defaultRevalidate","cacheControl","expire","expireTime","NEXT_SSG_FETCH_METRICS","recordFetchMetrics","writeTurborepoAccessTraceResult","traces","turborepoAccessTraceResults","values","ssgNotFoundPaths","serverBundle","getPagePath","unlink","InvariantError","hasRevalidateZero","isAppRouteHandler","isAppRouteRoute","htmlBotsRegexString","htmlLimitedBots","HTML_LIMITED_BOT_UA_RE_STRING","bypassFor","type","ACTION_HEADER","staticPrerenderedRoutes","dynamicPrerenderedRoutes","unsortedUnknownPrerenderRoutes","unsortedKnownPrerenderRoutes","prerenderedRoute","sortedUnknownPrerenderRoutes","sortPageObjects","sortedKnownPrerenderRoutes","hasPostponed","normalizedRoute","dataRoute","posix","prefetchDataRoute","meta","collectMeta","status","UNDERSCORE_NOT_FOUND_ROUTE","initialStatus","initialHeaders","renderingMode","RenderingMode","PARTIALLY_STATIC","STATIC","experimentalPPR","experimentalBypassFor","initialRevalidateSeconds","initialExpireSeconds","allowHeader","dynamicRoute","skipInternalRouting","segmentPaths","pageSegmentPath","item","endsWith","builtSegmentDataRoute","buildPrefetchSegmentDataRoute","destination","prefetchSegmentDataRoutes","hasFallbackRootParams","buildInversePrefetchSegmentDataRoute","isDynamicAppRoute","fallbackCacheControl","fallbackModeToFallbackField","fallbackRevalidate","fallbackExpire","fallbackStatus","fallbackHeaders","fallbackSourceRoute","dataRouteRegex","includeSuffix","excludeOptionalTrailingSlash","prefetchDataRouteRegex","moveExportedPage","originPage","ext","additionalSsgFile","orig","relativeDest","slice","split","dest","isNotFound","rename","localeExt","extname","relativeDestNoPages","curPath","updatedRelativeDest","updatedOrig","updatedDest","moveExportedAppNotFoundTo404","moveExportedAppGlobalErrorTo500","error500Html","isStaticSsgFallback","hasAmp","pageInfo","durationInfo","byPage","durationsByPath","hasHtmlOutput","ampPage","localePage","pageFile","rm","force","sortSortableRouteObjects","postBuildSpinner","buildTracesSpinner","end","analysisEnd","eventBuildOptimize","staticPageCount","staticPropsPageCount","serverPropsPageCount","ssrPageCount","hasStatic404","hasReportWebVitals","rewritesCount","headersCount","redirectsCount","headersWithHasCount","rewritesWithHasCount","redirectsWithHasCount","middlewareCount","telemetryState","eventBuildFeatureUsage","usages","eventPackageUsedInGetServerSideProps","packagesUsedInServerSideProps","useCacheTracker","tbdRoute","previewModeId","fetchCacheKeyPrefix","allowedRevalidateHeaderKeys","EXPORT_MARKER","hasExportPathMap","exportTrailingSlash","trailingSlash","EXPORT_DETAIL","verifyPartytownSetup","adapterPath","handleBuildComplete","nextVersion","tracingRoot","printCustomRoutes","printTreeView","distPath","e","traceGlobals","eventBuildFailed","errorCode","getErrorCodeForTelemetry","lockfilePatchPromise","cur","uploadTrace","mode","isTurboSession","sync","NEXT_RSPACK","extractNextErrorCode","name"],"mappings":"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","ignoreList":[0]}
|
1
|
+
{"version":3,"sources":["../../src/build/index.ts"],"sourcesContent":["import type { AppBuildManifest } from './webpack/plugins/app-build-manifest-plugin'\nimport type { PagesManifest } from './webpack/plugins/pages-manifest-plugin'\nimport type { ExportPathMap, NextConfigComplete } from '../server/config-shared'\nimport type { MiddlewareManifest } from './webpack/plugins/middleware-plugin'\nimport type { ActionManifest } from './webpack/plugins/flight-client-entry-plugin'\nimport type { CacheControl, Revalidate } from '../server/lib/cache-control'\n\nimport '../lib/setup-exception-listeners'\n\nimport { loadEnvConfig, type LoadedEnvFiles } from '@next/env'\nimport { bold, yellow } from '../lib/picocolors'\nimport { makeRe } from 'next/dist/compiled/picomatch'\nimport { existsSync, promises as fs } from 'fs'\nimport os from 'os'\nimport { Worker } from '../lib/worker'\nimport { defaultConfig } from '../server/config-shared'\nimport devalue from 'next/dist/compiled/devalue'\nimport findUp from 'next/dist/compiled/find-up'\nimport { nanoid } from 'next/dist/compiled/nanoid/index.cjs'\nimport path from 'path'\nimport {\n STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR,\n PUBLIC_DIR_MIDDLEWARE_CONFLICT,\n MIDDLEWARE_FILENAME,\n PAGES_DIR_ALIAS,\n INSTRUMENTATION_HOOK_FILENAME,\n RSC_PREFETCH_SUFFIX,\n RSC_SUFFIX,\n NEXT_RESUME_HEADER,\n PRERENDER_REVALIDATE_HEADER,\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER,\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER,\n NEXT_CACHE_REVALIDATED_TAGS_HEADER,\n MATCHED_PATH_HEADER,\n RSC_SEGMENTS_DIR_SUFFIX,\n RSC_SEGMENT_SUFFIX,\n} from '../lib/constants'\nimport { FileType, fileExists } from '../lib/file-exists'\nimport { findPagesDir } from '../lib/find-pages-dir'\nimport loadCustomRoutes, {\n normalizeRouteRegex,\n} from '../lib/load-custom-routes'\nimport type {\n CustomRoutes,\n Header,\n Redirect,\n Rewrite,\n RouteHas,\n} from '../lib/load-custom-routes'\nimport { nonNullable } from '../lib/non-nullable'\nimport { recursiveDelete } from '../lib/recursive-delete'\nimport { verifyPartytownSetup } from '../lib/verify-partytown-setup'\nimport {\n BUILD_ID_FILE,\n BUILD_MANIFEST,\n CLIENT_STATIC_FILES_PATH,\n EXPORT_DETAIL,\n EXPORT_MARKER,\n IMAGES_MANIFEST,\n PAGES_MANIFEST,\n PHASE_PRODUCTION_BUILD,\n PRERENDER_MANIFEST,\n REACT_LOADABLE_MANIFEST,\n ROUTES_MANIFEST,\n SERVER_DIRECTORY,\n SERVER_FILES_MANIFEST,\n STATIC_STATUS_PAGES,\n MIDDLEWARE_MANIFEST,\n APP_PATHS_MANIFEST,\n APP_PATH_ROUTES_MANIFEST,\n APP_BUILD_MANIFEST,\n RSC_MODULE_TYPES,\n NEXT_FONT_MANIFEST,\n SUBRESOURCE_INTEGRITY_MANIFEST,\n MIDDLEWARE_BUILD_MANIFEST,\n MIDDLEWARE_REACT_LOADABLE_MANIFEST,\n SERVER_REFERENCE_MANIFEST,\n FUNCTIONS_CONFIG_MANIFEST,\n DYNAMIC_CSS_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n} from '../shared/lib/constants'\nimport {\n UNDERSCORE_NOT_FOUND_ROUTE,\n UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,\n UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY,\n} from '../shared/lib/entry-constants'\nimport { isDynamicRoute } from '../shared/lib/router/utils'\nimport type { __ApiPreviewProps } from '../server/api-utils'\nimport loadConfig from '../server/config'\nimport type { BuildManifest } from '../server/get-page-files'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\nimport { getPagePath } from '../server/require'\nimport * as ciEnvironment from '../server/ci-info'\nimport {\n turborepoTraceAccess,\n TurborepoAccessTraceResult,\n writeTurborepoAccessTraceResult,\n} from './turborepo-access-trace'\n\nimport {\n eventBuildOptimize,\n eventCliSession,\n eventBuildFeatureUsage,\n eventNextPlugins,\n EVENT_BUILD_FEATURE_USAGE,\n eventPackageUsedInGetServerSideProps,\n eventBuildCompleted,\n eventBuildFailed,\n} from '../telemetry/events'\nimport type { EventBuildFeatureUsage } from '../telemetry/events'\nimport { Telemetry } from '../telemetry/storage'\nimport {\n createPagesMapping,\n collectAppFiles,\n processPageRoutes,\n processAppRoutes,\n processLayoutRoutes,\n extractSlotsFromAppRoutes,\n extractSlotsFromDefaultFiles,\n combineSlots,\n type RouteInfo,\n type SlotInfo,\n collectPagesFiles,\n} from './entries'\nimport { sortByPageExts } from './sort-by-page-exts'\nimport { getStaticInfoIncludingLayouts } from './get-static-info-including-layouts'\nimport { PAGE_TYPES } from '../lib/page-types'\nimport { generateBuildId } from './generate-build-id'\nimport { isWriteable } from './is-writeable'\nimport * as Log from './output/log'\nimport createSpinner from './spinner'\nimport { trace, flushAllTraces, setGlobal, type Span } from '../trace'\nimport {\n detectConflictingPaths,\n computeFromManifest,\n getJsPageSizeInKb,\n printCustomRoutes,\n printTreeView,\n copyTracedFiles,\n isReservedPage,\n isAppBuiltinPage,\n collectRoutesUsingEdgeRuntime,\n collectMeta,\n} from './utils'\nimport type { PageInfo, PageInfos } from './utils'\nimport type { FallbackRouteParam, PrerenderedRoute } from './static-paths/types'\nimport type { AppSegmentConfig } from './segment-config/app/app-segment-config'\nimport { writeBuildId } from './write-build-id'\nimport { normalizeLocalePath } from '../shared/lib/i18n/normalize-locale-path'\nimport isError from '../lib/is-error'\nimport type { NextError } from '../lib/is-error'\nimport { isEdgeRuntime } from '../lib/is-edge-runtime'\nimport { recursiveCopy } from '../lib/recursive-copy'\nimport { lockfilePatchPromise, teardownTraceSubscriber } from './swc'\nimport { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex'\nimport { getFilesInDir } from '../lib/get-files-in-dir'\nimport { eventSwcPlugins } from '../telemetry/events/swc-plugins'\nimport { normalizeAppPath } from '../shared/lib/router/utils/app-paths'\nimport {\n ACTION_HEADER,\n NEXT_ROUTER_PREFETCH_HEADER,\n RSC_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n NEXT_REWRITTEN_PATH_HEADER,\n NEXT_REWRITTEN_QUERY_HEADER,\n} from '../client/components/app-router-headers'\nimport { webpackBuild } from './webpack-build'\nimport { NextBuildContext, type MappedPages } from './build-context'\nimport { normalizePathSep } from '../shared/lib/page-path/normalize-path-sep'\nimport { isAppRouteRoute } from '../lib/is-app-route-route'\nimport { createClientRouterFilter } from '../lib/create-client-router-filter'\nimport { createValidFileMatcher } from '../server/lib/find-page-file'\nimport { startTypeChecking } from './type-check'\nimport { generateInterceptionRoutesRewrites } from '../lib/generate-interception-routes-rewrites'\n\nimport { buildDataRoute } from '../server/lib/router-utils/build-data-route'\nimport { collectBuildTraces } from './collect-build-traces'\nimport type { BuildTraceContext } from './webpack/plugins/next-trace-entrypoints-plugin'\nimport { formatManifest } from './manifests/formatter/format-manifest'\nimport {\n recordFrameworkVersion,\n updateBuildDiagnostics,\n recordFetchMetrics,\n} from '../diagnostics/build-diagnostics'\nimport { getStartServerInfo, logStartInfo } from '../server/lib/app-info-log'\nimport type { NextEnabledDirectories } from '../server/base-server'\nimport { hasCustomExportOutput } from '../export/utils'\nimport { buildCustomRoute } from '../lib/build-custom-route'\nimport { traceMemoryUsage } from '../lib/memory/trace'\nimport { generateEncryptionKeyBase64 } from '../server/app-render/encryption-utils-server'\nimport type { DeepReadonly } from '../shared/lib/deep-readonly'\nimport uploadTrace from '../trace/upload-trace'\nimport {\n checkIsAppPPREnabled,\n checkIsRoutePPREnabled,\n} from '../server/lib/experimental/ppr'\nimport { FallbackMode, fallbackModeToFallbackField } from '../lib/fallback'\nimport { RenderingMode } from './rendering-mode'\nimport { InvariantError } from '../shared/lib/invariant-error'\nimport { HTML_LIMITED_BOT_UA_RE_STRING } from '../shared/lib/router/utils/is-bot'\nimport type { UseCacheTrackerKey } from './webpack/plugins/telemetry-plugin/use-cache-tracker-utils'\nimport {\n buildInversePrefetchSegmentDataRoute,\n buildPrefetchSegmentDataRoute,\n type PrefetchSegmentDataRoute,\n} from '../server/lib/router-utils/build-prefetch-segment-data-route'\n\nimport { turbopackBuild } from './turbopack-build'\nimport { isPersistentCachingEnabled } from '../shared/lib/turbopack/utils'\nimport { inlineStaticEnv } from '../lib/inline-static-env'\nimport { populateStaticEnv } from '../lib/static-env'\nimport { durationToString } from './duration-to-string'\nimport { traceGlobals } from '../trace/shared'\nimport { extractNextErrorCode } from '../lib/error-telemetry-utils'\nimport { runAfterProductionCompile } from './after-production-compile'\nimport { generatePreviewKeys } from './preview-key-utils'\nimport { handleBuildComplete } from './adapter/build-complete'\nimport {\n sortPageObjects,\n sortPages,\n sortSortableRouteObjects,\n} from '../shared/lib/router/utils/sortable-routes'\nimport { mkdir } from 'fs/promises'\nimport {\n createRouteTypesManifest,\n writeRouteTypesManifest,\n writeValidatorFile,\n} from '../server/lib/router-utils/route-types-utils'\n\ntype Fallback = null | boolean | string\n\nexport interface PrerenderManifestRoute {\n dataRoute: string | null\n experimentalBypassFor?: RouteHas[]\n\n /**\n * The headers that should be served along side this prerendered route.\n */\n initialHeaders?: Record<string, string>\n\n /**\n * The status code that should be served along side this prerendered route.\n */\n initialStatus?: number\n\n /**\n * The revalidate value for this route. This might be inferred from:\n * - route segment configs\n * - fetch calls\n * - unstable_cache\n * - \"use cache\"\n */\n initialRevalidateSeconds: Revalidate\n\n /**\n * The expire value for this route, which is inferred from the \"use cache\"\n * functions that are used by the route, or the expireTime config.\n */\n initialExpireSeconds: number | undefined\n\n /**\n * The prefetch data route associated with this page. If not defined, this\n * page does not support prefetching.\n */\n prefetchDataRoute: string | null | undefined\n\n /**\n * The dynamic route that this statically prerendered route is based on. If\n * this is null, then the route was not based on a dynamic route.\n */\n srcRoute: string | null\n\n /**\n * @deprecated use `renderingMode` instead\n */\n experimentalPPR: boolean | undefined\n\n /**\n * The rendering mode for this route. Only `undefined` when not an app router\n * route.\n */\n renderingMode: RenderingMode | undefined\n\n /**\n * The headers that are allowed to be used when revalidating this route. These\n * are used internally by Next.js to revalidate routes.\n */\n allowHeader: string[]\n}\n\nexport interface DynamicPrerenderManifestRoute {\n dataRoute: string | null\n dataRouteRegex: string | null\n experimentalBypassFor?: RouteHas[]\n fallback: Fallback\n\n /**\n * When defined, it describes the revalidation configuration for the fallback\n * route.\n */\n fallbackRevalidate: Revalidate | undefined\n\n /**\n * When defined, it describes the expire configuration for the fallback route.\n */\n fallbackExpire: number | undefined\n\n /**\n * The headers that should used when serving the fallback.\n */\n fallbackHeaders?: Record<string, string>\n\n /**\n * The status code that should be used when serving the fallback.\n */\n fallbackStatus?: number\n\n /**\n * The root params that are unknown for this fallback route.\n */\n fallbackRootParams: readonly string[] | undefined\n\n /**\n * The fallback route params for this route that were parsed from the loader\n * tree.\n */\n fallbackRouteParams: readonly FallbackRouteParam[] | undefined\n\n /**\n * The source route that this fallback route is based on. This is a reference\n * so that we can associate this dynamic route with the correct source.\n */\n fallbackSourceRoute: string | undefined\n\n prefetchDataRoute: string | null | undefined\n prefetchDataRouteRegex: string | null | undefined\n routeRegex: string\n\n /**\n * @deprecated use `renderingMode` instead\n */\n experimentalPPR: boolean | undefined\n\n /**\n * The rendering mode for this route. Only `undefined` when not an app router\n * route.\n */\n renderingMode: RenderingMode | undefined\n\n /**\n * The headers that are allowed to be used when revalidating this route. These\n * are used internally by Next.js to revalidate routes.\n */\n allowHeader: string[]\n}\n\n/**\n * The headers that are allowed to be used when revalidating routes. Currently\n * this includes both headers used by the pages and app routers.\n */\nconst ALLOWED_HEADERS: string[] = [\n 'host',\n MATCHED_PATH_HEADER,\n PRERENDER_REVALIDATE_HEADER,\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER,\n NEXT_CACHE_REVALIDATED_TAGS_HEADER,\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER,\n]\n\nexport type PrerenderManifest = {\n version: 4\n routes: { [route: string]: PrerenderManifestRoute }\n dynamicRoutes: { [route: string]: DynamicPrerenderManifestRoute }\n notFoundRoutes: string[]\n preview: __ApiPreviewProps\n}\n\ntype ManifestBuiltRoute = {\n /**\n * The route pattern used to match requests for this route.\n */\n regex: string\n}\n\nexport type ManifestRewriteRoute = ManifestBuiltRoute & Rewrite\nexport type ManifestRedirectRoute = ManifestBuiltRoute & Redirect\nexport type ManifestHeaderRoute = ManifestBuiltRoute & Header\n\nexport type ManifestRoute = ManifestBuiltRoute & {\n page: string\n namedRegex: string\n routeKeys: { [key: string]: string }\n\n /**\n * If true, this indicates that the route has fallback root params. This is\n * used to simplify the route regex for matching.\n */\n hasFallbackRootParams?: boolean\n\n /**\n * The prefetch segment data routes for this route. This is used to rewrite\n * the prefetch segment data routes (or the inverse) to the correct\n * destination.\n */\n prefetchSegmentDataRoutes?: PrefetchSegmentDataRoute[]\n\n /**\n * If true, this indicates that the route should not be considered for routing\n * for the internal router, and instead has been added to support external\n * routers.\n */\n skipInternalRouting?: boolean\n}\n\ntype 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\ntype ManifestDataRoute = {\n page: string\n routeKeys?: { [key: string]: string }\n dataRouteRegex: string\n namedDataRouteRegex?: string\n}\n\nexport type RoutesManifest = {\n version: number\n pages404: boolean\n basePath: string\n redirects: Array<ManifestRedirectRoute>\n rewrites: {\n beforeFiles: Array<ManifestRewriteRoute>\n afterFiles: Array<ManifestRewriteRoute>\n fallback: Array<ManifestRewriteRoute>\n }\n headers: Array<ManifestHeaderRoute>\n staticRoutes: Array<ManifestRoute>\n dynamicRoutes: ReadonlyArray<DynamicManifestRoute>\n dataRoutes: Array<ManifestDataRoute>\n i18n?: {\n domains?: ReadonlyArray<{\n http?: true\n domain: string\n locales?: readonly string[]\n defaultLocale: string\n }>\n locales: readonly string[]\n defaultLocale: string\n localeDetection?: false\n }\n rsc: {\n header: typeof RSC_HEADER\n didPostponeHeader: typeof NEXT_DID_POSTPONE_HEADER\n contentTypeHeader: typeof RSC_CONTENT_TYPE_HEADER\n varyHeader: string\n prefetchHeader: typeof NEXT_ROUTER_PREFETCH_HEADER\n suffix: typeof RSC_SUFFIX\n prefetchSuffix: typeof RSC_PREFETCH_SUFFIX\n prefetchSegmentHeader: typeof NEXT_ROUTER_SEGMENT_PREFETCH_HEADER\n prefetchSegmentDirSuffix: typeof RSC_SEGMENTS_DIR_SUFFIX\n prefetchSegmentSuffix: typeof RSC_SEGMENT_SUFFIX\n\n /**\n * Whether the client param parsing is enabled. This is only relevant for\n * app pages when PPR is enabled.\n */\n clientParamParsing: boolean\n\n /**\n * The origins that are allowed to write the rewritten headers when\n * performing a non-relative rewrite. When undefined, no non-relative\n * rewrites will get the rewrite headers.\n */\n clientParamParsingOrigins: string[] | undefined\n dynamicRSCPrerender: boolean\n }\n rewriteHeaders: {\n pathHeader: typeof NEXT_REWRITTEN_PATH_HEADER\n queryHeader: typeof NEXT_REWRITTEN_QUERY_HEADER\n }\n skipMiddlewareUrlNormalize?: boolean\n caseSensitive?: boolean\n /**\n * Configuration related to Partial Prerendering.\n */\n ppr?: {\n /**\n * The chained response for the PPR resume.\n */\n chain: {\n /**\n * The headers that will indicate to Next.js that the request is for a PPR\n * resume.\n */\n headers: Record<string, string>\n }\n }\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 */\nfunction 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 */\nfunction pageToRoute(\n page: string,\n sourcePage: string | undefined\n): DynamicManifestRoute\nfunction 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\nfunction getCacheDir(distDir: string): string {\n const cacheDir = path.join(distDir, 'cache')\n if (ciEnvironment.isCI && !ciEnvironment.hasNextSupport) {\n const hasCache = existsSync(cacheDir)\n\n if (!hasCache) {\n // Intentionally not piping to stderr which is what `Log.warn` does in case people fail in CI when\n // stderr is detected.\n console.log(\n `${Log.prefixes.warn} No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache`\n )\n }\n }\n return cacheDir\n}\n\nasync function writeFileUtf8(filePath: string, content: string): Promise<void> {\n await fs.writeFile(filePath, content, 'utf-8')\n}\n\nfunction readFileUtf8(filePath: string): Promise<string> {\n return fs.readFile(filePath, 'utf8')\n}\n\nasync function writeManifest<T extends object>(\n filePath: string,\n manifest: T\n): Promise<void> {\n await writeFileUtf8(filePath, formatManifest(manifest))\n}\n\nasync function readManifest<T extends object>(filePath: string): Promise<T> {\n return JSON.parse(await readFileUtf8(filePath))\n}\n\nasync function writePrerenderManifest(\n distDir: string,\n manifest: DeepReadonly<PrerenderManifest>\n): Promise<void> {\n await writeManifest(path.join(distDir, PRERENDER_MANIFEST), manifest)\n}\n\nasync function writeClientSsgManifest(\n prerenderManifest: DeepReadonly<PrerenderManifest>,\n {\n buildId,\n distDir,\n locales,\n }: {\n buildId: string\n distDir: string\n locales: readonly string[] | undefined\n }\n) {\n const ssgPages = new Set<string>(\n [\n ...Object.entries(prerenderManifest.routes)\n // Filter out dynamic routes\n .filter(([, { srcRoute }]) => srcRoute == null)\n .map(([route]) => normalizeLocalePath(route, locales).pathname),\n ...Object.keys(prerenderManifest.dynamicRoutes),\n ].sort()\n )\n\n const clientSsgManifestContent = `self.__SSG_MANIFEST=${devalue(\n ssgPages\n )};self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()`\n\n await writeFileUtf8(\n path.join(distDir, CLIENT_STATIC_FILES_PATH, buildId, '_ssgManifest.js'),\n clientSsgManifestContent\n )\n}\n\nexport interface FunctionsConfigManifest {\n version: number\n functions: Record<\n string,\n {\n maxDuration?: number | undefined\n runtime?: 'nodejs'\n regions?: string[] | string\n matchers?: Array<{\n regexp: string\n originalSource: string\n has?: Rewrite['has']\n missing?: Rewrite['has']\n }>\n }\n >\n}\n\nasync function writeFunctionsConfigManifest(\n distDir: string,\n manifest: FunctionsConfigManifest\n): Promise<void> {\n await writeManifest(\n path.join(distDir, SERVER_DIRECTORY, FUNCTIONS_CONFIG_MANIFEST),\n manifest\n )\n}\n\nexport interface RequiredServerFilesManifest {\n version: number\n config: NextConfigComplete\n appDir: string\n relativeAppDir: string\n files: string[]\n ignore: string[]\n}\n\nasync function writeRequiredServerFilesManifest(\n distDir: string,\n requiredServerFiles: RequiredServerFilesManifest\n) {\n await writeManifest(\n path.join(distDir, SERVER_FILES_MANIFEST),\n requiredServerFiles\n )\n}\n\nasync function writeImagesManifest(\n distDir: string,\n config: NextConfigComplete\n): Promise<void> {\n const images = { ...config.images }\n const { deviceSizes, imageSizes } = images\n ;(images as any).sizes = [...deviceSizes, ...imageSizes]\n\n // By default, remotePatterns will allow no remote images ([])\n images.remotePatterns = (config?.images?.remotePatterns || []).map((p) => ({\n // Modifying the manifest should also modify matchRemotePattern()\n protocol: p.protocol?.replace(/:$/, '') as 'http' | 'https' | undefined,\n hostname: makeRe(p.hostname).source,\n port: p.port,\n pathname: makeRe(p.pathname ?? '**', { dot: true }).source,\n search: p.search,\n }))\n\n // By default, localPatterns will allow all local images (undefined)\n if (config?.images?.localPatterns) {\n images.localPatterns = config.images.localPatterns.map((p) => ({\n // Modifying the manifest should also modify matchLocalPattern()\n pathname: makeRe(p.pathname ?? '**', { dot: true }).source,\n search: p.search,\n }))\n }\n\n await writeManifest(path.join(distDir, IMAGES_MANIFEST), {\n version: 1,\n images,\n })\n}\n\nconst STANDALONE_DIRECTORY = 'standalone' as const\nasync function writeStandaloneDirectory(\n nextBuildSpan: Span,\n distDir: string,\n pageKeys: { pages: string[]; app: string[] | undefined },\n denormalizedAppPages: string[] | undefined,\n outputFileTracingRoot: string,\n requiredServerFiles: RequiredServerFilesManifest,\n middlewareManifest: MiddlewareManifest,\n hasNodeMiddleware: boolean,\n hasInstrumentationHook: boolean,\n staticPages: Set<string>,\n loadedEnvFiles: LoadedEnvFiles,\n appDir: string | undefined\n) {\n await nextBuildSpan\n .traceChild('write-standalone-directory')\n .traceAsyncFn(async () => {\n await copyTracedFiles(\n // requiredServerFiles.appDir Refers to the application directory, not App Router.\n requiredServerFiles.appDir,\n distDir,\n pageKeys.pages,\n denormalizedAppPages,\n outputFileTracingRoot,\n requiredServerFiles.config,\n middlewareManifest,\n hasNodeMiddleware,\n hasInstrumentationHook,\n staticPages\n )\n\n for (const file of [\n ...requiredServerFiles.files,\n path.join(requiredServerFiles.config.distDir, SERVER_FILES_MANIFEST),\n ...loadedEnvFiles.reduce<string[]>((acc, envFile) => {\n if (['.env', '.env.production'].includes(envFile.path)) {\n acc.push(envFile.path)\n }\n return acc\n }, []),\n ]) {\n // requiredServerFiles.appDir Refers to the application directory, not App Router.\n const filePath = path.join(requiredServerFiles.appDir, file)\n const outputPath = path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, filePath)\n )\n await fs.mkdir(path.dirname(outputPath), {\n recursive: true,\n })\n await fs.copyFile(filePath, outputPath)\n }\n\n if (hasNodeMiddleware) {\n const middlewareOutput = path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, distDir),\n SERVER_DIRECTORY,\n 'middleware.js'\n )\n\n await fs.mkdir(path.dirname(middlewareOutput), { recursive: true })\n await fs.copyFile(\n path.join(distDir, SERVER_DIRECTORY, 'middleware.js'),\n middlewareOutput\n )\n }\n\n await recursiveCopy(\n path.join(distDir, SERVER_DIRECTORY, 'pages'),\n path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, distDir),\n SERVER_DIRECTORY,\n 'pages'\n ),\n { overwrite: true }\n )\n if (appDir) {\n const originalServerApp = path.join(distDir, SERVER_DIRECTORY, 'app')\n if (existsSync(originalServerApp)) {\n await recursiveCopy(\n originalServerApp,\n path.join(\n distDir,\n STANDALONE_DIRECTORY,\n path.relative(outputFileTracingRoot, distDir),\n SERVER_DIRECTORY,\n 'app'\n ),\n { overwrite: true }\n )\n }\n }\n })\n}\n\nfunction getNumberOfWorkers(config: NextConfigComplete) {\n if (\n config.experimental.cpus &&\n config.experimental.cpus !== defaultConfig.experimental!.cpus\n ) {\n return config.experimental.cpus\n }\n\n if (config.experimental.memoryBasedWorkersCount) {\n return Math.max(\n Math.min(config.experimental.cpus || 1, Math.floor(os.freemem() / 1e9)),\n // enforce a minimum of 4 workers\n 4\n )\n }\n\n if (config.experimental.cpus) {\n return config.experimental.cpus\n }\n\n // Fall back to 4 workers if a count is not specified\n return 4\n}\n\nconst staticWorkerPath = require.resolve('./worker')\nconst staticWorkerExposedMethods = [\n 'hasCustomGetInitialProps',\n 'isPageStatic',\n 'getDefinedNamedExports',\n 'exportPages',\n] as const\nexport type StaticWorker = typeof import('./worker') & Worker\nexport function createStaticWorker(\n config: NextConfigComplete,\n options: {\n debuggerPortOffset: number\n progress?: {\n run: () => void\n clear: () => void\n }\n }\n): StaticWorker {\n const { debuggerPortOffset, progress } = options\n return new Worker(staticWorkerPath, {\n logger: Log,\n numWorkers: getNumberOfWorkers(config),\n onActivity: () => {\n progress?.run()\n },\n onActivityAbort: () => {\n progress?.clear()\n },\n debuggerPortOffset,\n enableSourceMaps: config.experimental.enablePrerenderSourceMaps,\n // remove --max-old-space-size flag as it can cause memory issues.\n isolatedMemory: true,\n enableWorkerThreads: config.experimental.workerThreads,\n exposedMethods: staticWorkerExposedMethods,\n }) as StaticWorker\n}\n\nasync function writeFullyStaticExport(\n config: NextConfigComplete,\n dir: string,\n enabledDirectories: NextEnabledDirectories,\n configOutDir: string,\n nextBuildSpan: Span,\n appDirOnly: boolean\n): Promise<void> {\n const exportApp = (require('../export') as typeof import('../export'))\n .default as typeof import('../export').default\n\n await exportApp(\n dir,\n {\n buildExport: false,\n nextConfig: config,\n enabledDirectories,\n silent: true,\n outdir: path.join(dir, configOutDir),\n numWorkers: getNumberOfWorkers(config),\n appDirOnly,\n },\n nextBuildSpan\n )\n}\n\nasync function getBuildId(\n isGenerateMode: boolean,\n distDir: string,\n nextBuildSpan: Span,\n config: NextConfigComplete\n) {\n if (isGenerateMode) {\n return await fs.readFile(path.join(distDir, 'BUILD_ID'), 'utf8')\n }\n return await nextBuildSpan\n .traceChild('generate-buildid')\n .traceAsyncFn(() => generateBuildId(config.generateBuildId, nanoid))\n}\n\nexport default async function build(\n dir: string,\n reactProductionProfiling = false,\n debugOutput = false,\n debugPrerender = false,\n runLint = true,\n noMangling = false,\n appDirOnly = false,\n isTurbopack = false,\n experimentalBuildMode: 'default' | 'compile' | 'generate' | 'generate-env',\n traceUploadUrl: string | undefined\n): Promise<void> {\n const isCompileMode = experimentalBuildMode === 'compile'\n const isGenerateMode = experimentalBuildMode === 'generate'\n NextBuildContext.isCompileMode = isCompileMode\n const buildStartTime = Date.now()\n\n let loadedConfig: NextConfigComplete | undefined\n try {\n const nextBuildSpan = trace('next-build', undefined, {\n buildMode: experimentalBuildMode,\n isTurboBuild: String(isTurbopack),\n version: process.env.__NEXT_VERSION as string,\n })\n\n NextBuildContext.nextBuildSpan = nextBuildSpan\n NextBuildContext.dir = dir\n NextBuildContext.appDirOnly = appDirOnly\n NextBuildContext.reactProductionProfiling = reactProductionProfiling\n NextBuildContext.noMangling = noMangling\n NextBuildContext.debugPrerender = debugPrerender\n\n await nextBuildSpan.traceAsyncFn(async () => {\n // attempt to load global env values so they are available in next.config.js\n const { loadedEnvFiles } = nextBuildSpan\n .traceChild('load-dotenv')\n .traceFn(() => loadEnvConfig(dir, false, Log))\n NextBuildContext.loadedEnvFiles = loadedEnvFiles\n\n const turborepoAccessTraceResult = new TurborepoAccessTraceResult()\n const config: NextConfigComplete = await nextBuildSpan\n .traceChild('load-next-config')\n .traceAsyncFn(() =>\n turborepoTraceAccess(\n () =>\n loadConfig(PHASE_PRODUCTION_BUILD, dir, {\n // Log for next.config loading process\n silent: false,\n reactProductionProfiling,\n debugPrerender,\n }),\n turborepoAccessTraceResult\n )\n )\n loadedConfig = config\n\n process.env.NEXT_DEPLOYMENT_ID = config.deploymentId || ''\n NextBuildContext.config = config\n\n let configOutDir = 'out'\n if (hasCustomExportOutput(config)) {\n configOutDir = config.distDir\n config.distDir = '.next'\n }\n const distDir = path.join(dir, config.distDir)\n NextBuildContext.distDir = distDir\n setGlobal('phase', PHASE_PRODUCTION_BUILD)\n setGlobal('distDir', distDir)\n\n const buildId = await getBuildId(\n isGenerateMode,\n distDir,\n nextBuildSpan,\n config\n )\n NextBuildContext.buildId = buildId\n\n if (experimentalBuildMode === 'generate-env') {\n if (isTurbopack) {\n Log.warn('generate-env is not needed with turbopack')\n process.exit(0)\n }\n Log.info('Inlining static env ...')\n await nextBuildSpan\n .traceChild('inline-static-env')\n .traceAsyncFn(async () => {\n await inlineStaticEnv({\n distDir,\n config,\n })\n })\n\n Log.info('Complete')\n await flushAllTraces()\n teardownTraceSubscriber()\n process.exit(0)\n }\n\n // when using compile mode static env isn't inlined so we\n // need to populate in normal runtime env\n if (isCompileMode || isGenerateMode) {\n populateStaticEnv(config)\n }\n\n const customRoutes: CustomRoutes = await nextBuildSpan\n .traceChild('load-custom-routes')\n .traceAsyncFn(() => loadCustomRoutes(config))\n\n const { headers, rewrites, redirects } = customRoutes\n const combinedRewrites: Rewrite[] = [\n ...rewrites.beforeFiles,\n ...rewrites.afterFiles,\n ...rewrites.fallback,\n ]\n const hasRewrites = combinedRewrites.length > 0\n NextBuildContext.hasRewrites = hasRewrites\n NextBuildContext.originalRewrites = config._originalRewrites\n NextBuildContext.originalRedirects = config._originalRedirects\n\n const cacheDir = getCacheDir(distDir)\n\n const telemetry = new Telemetry({ distDir })\n\n setGlobal('telemetry', telemetry)\n\n const publicDir = path.join(dir, 'public')\n const { pagesDir, appDir } = findPagesDir(dir)\n\n if (!appDirOnly && !pagesDir) {\n appDirOnly = true\n }\n\n NextBuildContext.pagesDir = pagesDir\n NextBuildContext.appDir = appDir\n\n const enabledDirectories: NextEnabledDirectories = {\n app: typeof appDir === 'string',\n pages: typeof pagesDir === 'string',\n }\n\n // Generate a random encryption key for this build.\n // This key is used to encrypt cross boundary values and can be used to generate hashes.\n const encryptionKey = await generateEncryptionKeyBase64({\n isBuild: true,\n distDir,\n })\n NextBuildContext.encryptionKey = encryptionKey\n\n const isSrcDir = path\n .relative(dir, pagesDir || appDir || '')\n .startsWith('src')\n const hasPublicDir = existsSync(publicDir)\n\n telemetry.record(\n eventCliSession(config, {\n webpackVersion: 5,\n cliCommand: 'build',\n isSrcDir,\n hasNowJson: !!(await findUp('now.json', { cwd: dir })),\n isCustomServer: null,\n turboFlag: false,\n pagesDir: !!pagesDir,\n appDir: !!appDir,\n })\n )\n\n eventNextPlugins(path.resolve(dir)).then((events) =>\n telemetry.record(events)\n )\n\n eventSwcPlugins(path.resolve(dir), config).then((events) =>\n telemetry.record(events)\n )\n\n // Always log next version first then start rest jobs\n const { envInfo, experimentalFeatures } = await getStartServerInfo({\n dir,\n dev: false,\n debugPrerender,\n })\n\n logStartInfo({\n networkUrl: null,\n appUrl: null,\n envInfo,\n experimentalFeatures,\n logBundler: true,\n })\n\n const ignoreESLint = Boolean(config.eslint.ignoreDuringBuilds)\n const shouldLint = !ignoreESLint && runLint\n\n const typeCheckingOptions: Parameters<typeof startTypeChecking>[0] = {\n dir,\n appDir,\n pagesDir,\n runLint,\n shouldLint,\n ignoreESLint,\n telemetry,\n nextBuildSpan,\n config,\n cacheDir,\n }\n\n const distDirCreated = await nextBuildSpan\n .traceChild('create-dist-dir')\n .traceAsyncFn(async () => {\n try {\n await fs.mkdir(distDir, { recursive: true })\n return true\n } catch (err) {\n if (isError(err) && err.code === 'EPERM') {\n return false\n }\n throw err\n }\n })\n\n if (!distDirCreated || !(await isWriteable(distDir))) {\n throw new Error(\n '> Build directory is not writeable. https://nextjs.org/docs/messages/build-dir-not-writeable'\n )\n }\n\n if (config.cleanDistDir && !isGenerateMode) {\n await recursiveDelete(distDir, /^cache/)\n }\n\n if (appDir && 'exportPathMap' in config) {\n Log.error(\n 'The \"exportPathMap\" configuration cannot be used with the \"app\" directory. Please use generateStaticParams() instead.'\n )\n await telemetry.flush()\n process.exit(1)\n }\n\n const buildLintEvent: EventBuildFeatureUsage = {\n featureName: 'build-lint',\n invocationCount: shouldLint ? 1 : 0,\n }\n telemetry.record({\n eventName: EVENT_BUILD_FEATURE_USAGE,\n payload: buildLintEvent,\n })\n\n const validFileMatcher = createValidFileMatcher(\n config.pageExtensions,\n appDir\n )\n\n const providedPagePaths: string[] = JSON.parse(\n process.env.NEXT_PRIVATE_PAGE_PATHS || '[]'\n )\n\n let pagesPaths = Boolean(process.env.NEXT_PRIVATE_PAGE_PATHS)\n ? providedPagePaths\n : !appDirOnly && pagesDir\n ? await nextBuildSpan\n .traceChild('collect-pages')\n .traceAsyncFn(() => collectPagesFiles(pagesDir, validFileMatcher))\n : []\n\n const middlewareDetectionRegExp = new RegExp(\n `^${MIDDLEWARE_FILENAME}\\\\.(?:${config.pageExtensions.join('|')})$`\n )\n\n const instrumentationHookDetectionRegExp = new RegExp(\n `^${INSTRUMENTATION_HOOK_FILENAME}\\\\.(?:${config.pageExtensions.join(\n '|'\n )})$`\n )\n\n const rootDir = path.join((pagesDir || appDir)!, '..')\n const includes = [\n middlewareDetectionRegExp,\n instrumentationHookDetectionRegExp,\n ]\n\n const rootPaths = Array.from(await getFilesInDir(rootDir))\n .filter((file) => includes.some((include) => include.test(file)))\n .sort(sortByPageExts(config.pageExtensions))\n .map((file) => path.join(rootDir, file).replace(dir, ''))\n\n const hasInstrumentationHook = rootPaths.some((p) =>\n p.includes(INSTRUMENTATION_HOOK_FILENAME)\n )\n const hasMiddlewareFile = rootPaths.some((p) =>\n p.includes(MIDDLEWARE_FILENAME)\n )\n\n NextBuildContext.hasInstrumentationHook = hasInstrumentationHook\n\n const previewProps: __ApiPreviewProps = await generatePreviewKeys({\n isBuild: true,\n distDir,\n })\n NextBuildContext.previewProps = previewProps\n\n const mappedPages = await nextBuildSpan\n .traceChild('create-pages-mapping')\n .traceAsyncFn(() =>\n createPagesMapping({\n isDev: false,\n pageExtensions: config.pageExtensions,\n pagesType: PAGE_TYPES.PAGES,\n pagePaths: pagesPaths,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n NextBuildContext.mappedPages = mappedPages\n\n let mappedAppPages: MappedPages | undefined\n let mappedAppLayouts: MappedPages | undefined\n let denormalizedAppPages: string[] | undefined\n\n if (appDir) {\n const providedAppPaths: string[] = JSON.parse(\n process.env.NEXT_PRIVATE_APP_PATHS || '[]'\n )\n\n let appPaths: string[]\n let layoutPaths: string[]\n\n if (Boolean(process.env.NEXT_PRIVATE_APP_PATHS)) {\n // used for testing?\n appPaths = providedAppPaths\n layoutPaths = []\n } else {\n // Collect app pages, layouts, and default files in a single directory traversal\n const result = await nextBuildSpan\n .traceChild('collect-app-files')\n .traceAsyncFn(() => collectAppFiles(appDir, validFileMatcher))\n\n appPaths = result.appPaths\n layoutPaths = result.layoutPaths\n // Note: defaultPaths are not used in the build process, only for slot detection in generating route types\n }\n\n mappedAppPages = await nextBuildSpan\n .traceChild('create-app-mapping')\n .traceAsyncFn(() =>\n createPagesMapping({\n pagePaths: appPaths,\n isDev: false,\n pagesType: PAGE_TYPES.APP,\n pageExtensions: config.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n\n mappedAppLayouts = await nextBuildSpan\n .traceChild('create-app-layouts')\n .traceAsyncFn(() =>\n createPagesMapping({\n pagePaths: layoutPaths,\n isDev: false,\n pagesType: PAGE_TYPES.APP,\n pageExtensions: config.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n\n NextBuildContext.mappedAppPages = mappedAppPages\n }\n\n const mappedRootPaths = await createPagesMapping({\n isDev: false,\n pageExtensions: config.pageExtensions,\n pagePaths: rootPaths,\n pagesType: PAGE_TYPES.ROOT,\n pagesDir: pagesDir,\n appDir,\n appDirOnly,\n })\n NextBuildContext.mappedRootPaths = mappedRootPaths\n\n const pagesPageKeys = Object.keys(mappedPages)\n\n const conflictingAppPagePaths: [pagePath: string, appPath: string][] = []\n const appPageKeys = new Set<string>()\n if (mappedAppPages) {\n denormalizedAppPages = Object.keys(mappedAppPages)\n for (const appKey of denormalizedAppPages) {\n const normalizedAppPageKey = normalizeAppPath(appKey)\n const pagePath = mappedPages[normalizedAppPageKey]\n if (pagePath) {\n const appPath = mappedAppPages[appKey]\n conflictingAppPagePaths.push([\n pagePath.replace(/^private-next-pages/, 'pages'),\n appPath.replace(/^private-next-app-dir/, 'app'),\n ])\n }\n appPageKeys.add(normalizedAppPageKey)\n }\n }\n\n const appPaths = Array.from(appPageKeys)\n // Interception routes are modelled as beforeFiles rewrites\n rewrites.beforeFiles.push(\n ...generateInterceptionRoutesRewrites(appPaths, config.basePath)\n )\n\n NextBuildContext.rewrites = rewrites\n\n const totalAppPagesCount = appPaths.length\n\n const pageKeys = {\n pages: pagesPageKeys,\n app: appPaths.length > 0 ? appPaths : undefined,\n }\n\n await nextBuildSpan\n .traceChild('generate-route-types')\n .traceAsyncFn(async () => {\n const routeTypesFilePath = path.join(distDir, 'types', 'routes.d.ts')\n const validatorFilePath = path.join(distDir, 'types', 'validator.ts')\n await mkdir(path.dirname(routeTypesFilePath), { recursive: true })\n\n let appRoutes: RouteInfo[] = []\n let appRouteHandlers: RouteInfo[] = []\n let layoutRoutes: RouteInfo[] = []\n let slots: SlotInfo[] = []\n\n const { pageRoutes, pageApiRoutes } = processPageRoutes(\n mappedPages,\n dir,\n isSrcDir\n )\n\n // Build app routes\n if (appDir && mappedAppPages) {\n // Extract slots from both pages and default files\n const slotsFromPages = extractSlotsFromAppRoutes(mappedAppPages)\n let slotsFromDefaults: SlotInfo[] = []\n\n // Collect and map default files for slot extraction\n const { defaultPaths } = await nextBuildSpan\n .traceChild('collect-default-files')\n .traceAsyncFn(() => collectAppFiles(appDir, validFileMatcher))\n\n if (defaultPaths.length > 0) {\n const mappedDefaultFiles = await nextBuildSpan\n .traceChild('create-default-mapping')\n .traceAsyncFn(() =>\n createPagesMapping({\n pagePaths: defaultPaths,\n isDev: false,\n pagesType: PAGE_TYPES.APP,\n pageExtensions: config.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly,\n })\n )\n slotsFromDefaults =\n extractSlotsFromDefaultFiles(mappedDefaultFiles)\n }\n\n // Combine slots and deduplicate using Set\n slots = combineSlots(slotsFromPages, slotsFromDefaults)\n\n const result = processAppRoutes(\n mappedAppPages,\n validFileMatcher,\n dir,\n isSrcDir\n )\n appRoutes = result.appRoutes\n appRouteHandlers = result.appRouteHandlers\n }\n\n // Build app layouts\n if (appDir && mappedAppLayouts) {\n layoutRoutes = processLayoutRoutes(mappedAppLayouts, dir, isSrcDir)\n }\n\n const routeTypesManifest = await createRouteTypesManifest({\n dir,\n pageRoutes,\n appRoutes,\n appRouteHandlers,\n pageApiRoutes,\n layoutRoutes,\n slots,\n redirects: config.redirects,\n rewrites: config.rewrites,\n validatorFilePath,\n })\n\n await writeRouteTypesManifest(\n routeTypesManifest,\n routeTypesFilePath,\n config\n )\n await writeValidatorFile(routeTypesManifest, validatorFilePath)\n })\n\n // Turbopack already handles conflicting app and page routes.\n if (!isTurbopack) {\n const numConflictingAppPaths = conflictingAppPagePaths.length\n if (mappedAppPages && numConflictingAppPaths > 0) {\n Log.error(\n `Conflicting app and page file${\n numConflictingAppPaths === 1 ? ' was' : 's were'\n } found, please remove the conflicting files to continue:`\n )\n for (const [pagePath, appPath] of conflictingAppPagePaths) {\n Log.error(` \"${pagePath}\" - \"${appPath}\"`)\n }\n await telemetry.flush()\n process.exit(1)\n }\n }\n\n const conflictingPublicFiles: string[] = []\n const hasPages404 = mappedPages['/404']?.startsWith(PAGES_DIR_ALIAS)\n const hasApp404 = !!mappedAppPages?.[UNDERSCORE_NOT_FOUND_ROUTE_ENTRY]\n const hasAppGlobalError =\n !!mappedAppPages?.[UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY]\n const hasCustomErrorPage =\n mappedPages['/_error']?.startsWith(PAGES_DIR_ALIAS)\n\n // Check if there are any user pages (non-reserved pages) in the pages router\n const hasUserPagesRoutes = Object.keys(mappedPages).some(\n (route) => !isReservedPage(route)\n )\n\n if (hasPublicDir) {\n const hasPublicUnderScoreNextDir = existsSync(\n path.join(publicDir, '_next')\n )\n if (hasPublicUnderScoreNextDir) {\n throw new Error(PUBLIC_DIR_MIDDLEWARE_CONFLICT)\n }\n }\n\n await nextBuildSpan\n .traceChild('public-dir-conflict-check')\n .traceAsyncFn(async () => {\n // Check if pages conflict with files in `public`\n // Only a page of public file can be served, not both.\n for (const page in mappedPages) {\n const hasPublicPageFile = await fileExists(\n path.join(publicDir, page === '/' ? '/index' : page),\n FileType.File\n )\n if (hasPublicPageFile) {\n conflictingPublicFiles.push(page)\n }\n }\n\n const numConflicting = conflictingPublicFiles.length\n\n if (numConflicting) {\n throw new Error(\n `Conflicting public and page file${\n numConflicting === 1 ? ' was' : 's were'\n } found. https://nextjs.org/docs/messages/conflicting-public-file-page\\n${conflictingPublicFiles.join(\n '\\n'\n )}`\n )\n }\n })\n\n const nestedReservedPages = pageKeys.pages.filter((page) => {\n return (\n page.match(/\\/(_app|_document|_error)$/) && path.dirname(page) !== '/'\n )\n })\n\n if (nestedReservedPages.length) {\n Log.warn(\n `The following reserved Next.js pages were detected not directly under the pages directory:\\n` +\n nestedReservedPages.join('\\n') +\n `\\nSee more info here: https://nextjs.org/docs/messages/nested-reserved-page\\n`\n )\n }\n\n const restrictedRedirectPaths = ['/_next'].map((p) =>\n config.basePath ? `${config.basePath}${p}` : p\n )\n\n const isAppCacheComponentsEnabled = Boolean(\n config.experimental.cacheComponents\n )\n const isAuthInterruptsEnabled = Boolean(\n config.experimental.authInterrupts\n )\n const isAppPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n\n const routesManifestPath = path.join(distDir, ROUTES_MANIFEST)\n const dynamicRoutes: Array<DynamicManifestRoute> = []\n\n /**\n * A map of all the pages to their sourcePage value. This is only used for\n * routes that have PPR enabled and clientSegmentEnabled is true.\n */\n const sourcePages = new Map<string, string>()\n const routesManifest: RoutesManifest = nextBuildSpan\n .traceChild('generate-routes-manifest')\n .traceFn(() => {\n const sortedRoutes = sortPages([\n ...pageKeys.pages,\n ...(pageKeys.app ?? []),\n ])\n const staticRoutes: Array<ManifestRoute> = []\n\n for (const route of sortedRoutes) {\n if (isDynamicRoute(route)) {\n dynamicRoutes.push(\n pageToRoute(\n route,\n // This property is only relevant when PPR is enabled.\n undefined\n )\n )\n } else if (!isReservedPage(route)) {\n staticRoutes.push(pageToRoute(route))\n }\n }\n\n return {\n version: 3,\n pages404: true,\n caseSensitive: !!config.experimental.caseSensitiveRoutes,\n basePath: config.basePath,\n redirects: redirects.map((r) =>\n buildCustomRoute('redirect', r, restrictedRedirectPaths)\n ),\n headers: headers.map((r) => buildCustomRoute('header', r)),\n rewrites: {\n beforeFiles: rewrites.beforeFiles.map((r) =>\n buildCustomRoute('rewrite', r)\n ),\n afterFiles: rewrites.afterFiles.map((r) =>\n buildCustomRoute('rewrite', r)\n ),\n fallback: rewrites.fallback.map((r) =>\n buildCustomRoute('rewrite', r)\n ),\n },\n dynamicRoutes,\n staticRoutes,\n dataRoutes: [],\n i18n: config.i18n || undefined,\n rsc: {\n header: RSC_HEADER,\n // This vary header is used as a default. It is technically re-assigned in `base-server`,\n // and may include an additional Vary option for `Next-URL`.\n varyHeader: `${RSC_HEADER}, ${NEXT_ROUTER_STATE_TREE_HEADER}, ${NEXT_ROUTER_PREFETCH_HEADER}, ${NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}`,\n prefetchHeader: NEXT_ROUTER_PREFETCH_HEADER,\n didPostponeHeader: NEXT_DID_POSTPONE_HEADER,\n contentTypeHeader: RSC_CONTENT_TYPE_HEADER,\n suffix: RSC_SUFFIX,\n prefetchSuffix: RSC_PREFETCH_SUFFIX,\n prefetchSegmentHeader: NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n prefetchSegmentSuffix: RSC_SEGMENT_SUFFIX,\n prefetchSegmentDirSuffix: RSC_SEGMENTS_DIR_SUFFIX,\n clientParamParsing:\n // NOTE: once this is the default for `clientSegmentCache`, this\n // should exclusively be based on the `clientSegmentCache` flag.\n config.experimental.clientParamParsing ?? false,\n clientParamParsingOrigins: config.experimental.clientParamParsing\n ? config.experimental.clientParamParsingOrigins\n : undefined,\n dynamicRSCPrerender:\n // Only enable RDC for Navigations if the feature is enabled.\n // Once we've made RDC for Navigations the default for PPR, we\n // can remove the check for `config.experimental.rdcForNavigations`.\n isAppPPREnabled &&\n config.experimental.rdcForNavigations === true &&\n // Temporarily we require that clientParamParsing is enabled for\n // RDC for Navigations. This is due to a builder configuration\n // bug that manifests as invalid query params being passed to\n // the resume lambdas.\n config.experimental.clientParamParsing === true,\n },\n rewriteHeaders: {\n pathHeader: NEXT_REWRITTEN_PATH_HEADER,\n queryHeader: NEXT_REWRITTEN_QUERY_HEADER,\n },\n skipMiddlewareUrlNormalize: config.skipMiddlewareUrlNormalize,\n ppr: isAppPPREnabled\n ? {\n chain: {\n headers: {\n [NEXT_RESUME_HEADER]: '1',\n },\n },\n }\n : undefined,\n } satisfies RoutesManifest\n })\n\n // For pages directory, we run type checking after route collection but before build.\n if (!appDir && !isCompileMode) {\n await startTypeChecking(typeCheckingOptions)\n }\n\n let clientRouterFilters:\n | undefined\n | ReturnType<typeof createClientRouterFilter>\n\n if (config.experimental.clientRouterFilter) {\n const nonInternalRedirects = (config._originalRedirects || []).filter(\n (r: any) => !r.internal\n )\n clientRouterFilters = createClientRouterFilter(\n [...appPaths],\n config.experimental.clientRouterFilterRedirects\n ? nonInternalRedirects\n : [],\n config.experimental.clientRouterFilterAllowedRate\n )\n NextBuildContext.clientRouterFilters = clientRouterFilters\n }\n\n // Ensure commonjs handling is used for files in the distDir (generally .next)\n // Files outside of the distDir can be \"type\": \"module\"\n await writeFileUtf8(\n path.join(distDir, 'package.json'),\n '{\"type\": \"commonjs\"}'\n )\n\n // These are written to distDir, so they need to come after creating and cleaning distDr.\n await recordFrameworkVersion(process.env.__NEXT_VERSION as string)\n await updateBuildDiagnostics({\n buildStage: 'start',\n })\n\n const outputFileTracingRoot = config.outputFileTracingRoot || dir\n\n const pagesManifestPath = path.join(\n distDir,\n SERVER_DIRECTORY,\n PAGES_MANIFEST\n )\n\n let buildTraceContext: undefined | BuildTraceContext\n let buildTracesPromise: Promise<any> | undefined = undefined\n\n // If there's has a custom webpack config and disable the build worker.\n // Otherwise respect the option if it's set.\n const useBuildWorker =\n config.experimental.webpackBuildWorker ||\n (config.experimental.webpackBuildWorker === undefined &&\n !config.webpack)\n const runServerAndEdgeInParallel =\n config.experimental.parallelServerCompiles\n const collectServerBuildTracesInParallel =\n config.experimental.parallelServerBuildTraces ||\n (config.experimental.parallelServerBuildTraces === undefined &&\n isCompileMode)\n\n nextBuildSpan.setAttribute(\n 'has-custom-webpack-config',\n String(!!config.webpack)\n )\n nextBuildSpan.setAttribute('use-build-worker', String(useBuildWorker))\n\n if (\n !useBuildWorker &&\n (runServerAndEdgeInParallel || collectServerBuildTracesInParallel)\n ) {\n throw new Error(\n 'The \"parallelServerBuildTraces\" and \"parallelServerCompiles\" options may only be used when build workers can be used. Read more: https://nextjs.org/docs/messages/parallel-build-without-worker'\n )\n }\n\n Log.info('Creating an optimized production build ...')\n traceMemoryUsage('Starting build', nextBuildSpan)\n\n await updateBuildDiagnostics({\n buildStage: 'compile',\n buildOptions: {\n useBuildWorker: String(useBuildWorker),\n },\n })\n\n let shutdownPromise = Promise.resolve()\n if (!isGenerateMode) {\n if (isTurbopack) {\n const {\n duration: compilerDuration,\n shutdownPromise: p,\n ...rest\n } = await turbopackBuild(\n process.env.NEXT_TURBOPACK_USE_WORKER === undefined ||\n process.env.NEXT_TURBOPACK_USE_WORKER !== '0'\n )\n shutdownPromise = p\n traceMemoryUsage('Finished build', nextBuildSpan)\n\n buildTraceContext = rest.buildTraceContext\n\n const durationString = durationToString(compilerDuration)\n Log.event(`Compiled successfully in ${durationString}`)\n\n telemetry.record(\n eventBuildCompleted(pagesPaths, {\n bundler: 'turbopack',\n durationInSeconds: Math.round(compilerDuration),\n totalAppPagesCount,\n })\n )\n } else {\n if (\n runServerAndEdgeInParallel ||\n collectServerBuildTracesInParallel\n ) {\n let durationInSeconds = 0\n\n await updateBuildDiagnostics({\n buildStage: 'compile-server',\n })\n\n const serverBuildPromise = webpackBuild(useBuildWorker, [\n 'server',\n ]).then((res) => {\n traceMemoryUsage('Finished server compilation', nextBuildSpan)\n buildTraceContext = res.buildTraceContext\n durationInSeconds += res.duration\n\n if (collectServerBuildTracesInParallel) {\n const buildTraceWorker = new Worker(\n require.resolve('./collect-build-traces'),\n {\n debuggerPortOffset: -1,\n isolatedMemory: false,\n numWorkers: 1,\n exposedMethods: ['collectBuildTraces'],\n }\n ) as Worker & typeof import('./collect-build-traces')\n\n buildTracesPromise = buildTraceWorker\n .collectBuildTraces({\n dir,\n config,\n distDir,\n // Serialize Map as this is sent to the worker.\n edgeRuntimeRoutes: collectRoutesUsingEdgeRuntime(new Map()),\n staticPages: [],\n hasSsrAmpPages: false,\n buildTraceContext,\n outputFileTracingRoot,\n })\n .catch((err) => {\n console.error(err)\n process.exit(1)\n })\n }\n })\n if (!runServerAndEdgeInParallel) {\n await serverBuildPromise\n await updateBuildDiagnostics({\n buildStage: 'webpack-compile-edge-server',\n })\n }\n\n const edgeBuildPromise = webpackBuild(useBuildWorker, [\n 'edge-server',\n ]).then((res) => {\n durationInSeconds += res.duration\n traceMemoryUsage(\n 'Finished edge-server compilation',\n nextBuildSpan\n )\n })\n if (runServerAndEdgeInParallel) {\n await serverBuildPromise\n await updateBuildDiagnostics({\n buildStage: 'webpack-compile-edge-server',\n })\n }\n await edgeBuildPromise\n\n await updateBuildDiagnostics({\n buildStage: 'webpack-compile-client',\n })\n\n await webpackBuild(useBuildWorker, ['client']).then((res) => {\n durationInSeconds += res.duration\n traceMemoryUsage('Finished client compilation', nextBuildSpan)\n })\n\n const durationString = durationToString(durationInSeconds)\n Log.event(`Compiled successfully in ${durationString}`)\n\n telemetry.record(\n eventBuildCompleted(pagesPaths, {\n bundler: getBundlerForTelemetry(isTurbopack),\n durationInSeconds,\n totalAppPagesCount,\n })\n )\n } else {\n const { duration: compilerDuration, ...rest } = await webpackBuild(\n useBuildWorker,\n null\n )\n traceMemoryUsage('Finished build', nextBuildSpan)\n\n buildTraceContext = rest.buildTraceContext\n\n telemetry.record(\n eventBuildCompleted(pagesPaths, {\n bundler: getBundlerForTelemetry(isTurbopack),\n durationInSeconds: compilerDuration,\n totalAppPagesCount,\n })\n )\n }\n }\n await runAfterProductionCompile({\n config,\n buildSpan: nextBuildSpan,\n telemetry,\n metadata: {\n projectDir: dir,\n distDir,\n },\n })\n }\n\n // For app directory, we run type checking after build.\n if (appDir && !isCompileMode && !isGenerateMode) {\n await updateBuildDiagnostics({\n buildStage: 'type-checking',\n })\n await startTypeChecking(typeCheckingOptions)\n traceMemoryUsage('Finished type checking', nextBuildSpan)\n }\n\n const postCompileSpinner = createSpinner('Collecting page data')\n\n const buildManifestPath = path.join(distDir, BUILD_MANIFEST)\n const appBuildManifestPath = path.join(distDir, APP_BUILD_MANIFEST)\n\n let staticAppPagesCount = 0\n let serverAppPagesCount = 0\n let edgeRuntimeAppCount = 0\n let edgeRuntimePagesCount = 0\n const ssgPages = new Set<string>()\n const ssgStaticFallbackPages = new Set<string>()\n const ssgBlockingFallbackPages = new Set<string>()\n const staticPages = new Set<string>()\n const invalidPages = new Set<string>()\n const hybridAmpPages = new Set<string>()\n const serverPropsPages = new Set<string>()\n const additionalPaths = new Map<string, PrerenderedRoute[]>()\n const staticPaths = new Map<string, PrerenderedRoute[]>()\n const appNormalizedPaths = new Map<string, string>()\n const fallbackModes = new Map<string, FallbackMode>()\n const appDefaultConfigs = new Map<string, AppSegmentConfig>()\n const pageInfos: PageInfos = new Map<string, PageInfo>()\n let pagesManifest = await readManifest<PagesManifest>(pagesManifestPath)\n const buildManifest = await readManifest<BuildManifest>(buildManifestPath)\n const appBuildManifest = appDir\n ? await readManifest<AppBuildManifest>(appBuildManifestPath)\n : undefined\n\n const appPathRoutes: Record<string, string> = {}\n\n if (appDir) {\n const appPathsManifest = await readManifest<Record<string, string>>(\n path.join(distDir, SERVER_DIRECTORY, APP_PATHS_MANIFEST)\n )\n\n for (const key in appPathsManifest) {\n appPathRoutes[key] = normalizeAppPath(key)\n }\n\n await writeManifest(\n path.join(distDir, APP_PATH_ROUTES_MANIFEST),\n appPathRoutes\n )\n }\n\n process.env.NEXT_PHASE = PHASE_PRODUCTION_BUILD\n\n const worker = createStaticWorker(config, { debuggerPortOffset: -1 })\n\n const analysisBegin = process.hrtime()\n const staticCheckSpan = nextBuildSpan.traceChild('static-check')\n\n const functionsConfigManifest: FunctionsConfigManifest = {\n version: 1,\n functions: {},\n }\n\n const {\n customAppGetInitialProps,\n namedExports,\n isNextImageImported,\n hasSsrAmpPages,\n hasNonStaticErrorPage,\n } = await staticCheckSpan.traceAsyncFn(async () => {\n if (isCompileMode) {\n return {\n customAppGetInitialProps: false,\n namedExports: [],\n isNextImageImported: true,\n hasSsrAmpPages: !!pagesDir,\n hasNonStaticErrorPage: hasUserPagesRoutes,\n }\n }\n\n const { configFileName, publicRuntimeConfig, serverRuntimeConfig } =\n config\n const runtimeEnvConfig = { publicRuntimeConfig, serverRuntimeConfig }\n const sriEnabled = Boolean(config.experimental.sri?.algorithm)\n\n const nonStaticErrorPageSpan = staticCheckSpan.traceChild(\n 'check-static-error-page'\n )\n const errorPageHasCustomGetInitialProps =\n nonStaticErrorPageSpan.traceAsyncFn(\n async () =>\n hasCustomErrorPage &&\n (await worker.hasCustomGetInitialProps({\n page: '/_error',\n distDir,\n runtimeEnvConfig,\n checkingApp: false,\n sriEnabled,\n }))\n )\n\n const errorPageStaticResult = nonStaticErrorPageSpan.traceAsyncFn(\n async () =>\n hasCustomErrorPage &&\n worker.isPageStatic({\n dir,\n page: '/_error',\n distDir,\n configFileName,\n runtimeEnvConfig,\n cacheComponents: isAppCacheComponentsEnabled,\n authInterrupts: isAuthInterruptsEnabled,\n httpAgentOptions: config.httpAgentOptions,\n locales: config.i18n?.locales,\n defaultLocale: config.i18n?.defaultLocale,\n nextConfigOutput: config.output,\n pprConfig: config.experimental.ppr,\n cacheLifeProfiles: config.experimental.cacheLife,\n buildId,\n sriEnabled,\n })\n )\n\n const appPageToCheck = '/_app'\n\n const customAppGetInitialPropsPromise = hasUserPagesRoutes\n ? worker.hasCustomGetInitialProps({\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n checkingApp: true,\n sriEnabled,\n })\n : Promise.resolve(false)\n\n const namedExportsPromise = hasUserPagesRoutes\n ? worker.getDefinedNamedExports({\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n sriEnabled,\n })\n : Promise.resolve([])\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n let isNextImageImported: boolean | undefined\n // eslint-disable-next-line @typescript-eslint/no-shadow\n let hasSsrAmpPages = false\n\n const computedManifestData = await computeFromManifest(\n { build: buildManifest, app: appBuildManifest },\n distDir,\n config.experimental.gzipSize\n )\n\n const middlewareManifest: MiddlewareManifest = require(\n path.join(distDir, SERVER_DIRECTORY, MIDDLEWARE_MANIFEST)\n )\n\n const actionManifest = appDir\n ? (require(\n path.join(\n distDir,\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST + '.json'\n )\n ) as ActionManifest)\n : null\n const entriesWithAction = actionManifest ? new Set() : null\n if (actionManifest && entriesWithAction) {\n for (const id in actionManifest.node) {\n for (const entry in actionManifest.node[id].workers) {\n entriesWithAction.add(entry)\n }\n }\n for (const id in actionManifest.edge) {\n for (const entry in actionManifest.edge[id].workers) {\n entriesWithAction.add(entry)\n }\n }\n }\n\n for (const key of Object.keys(middlewareManifest?.functions)) {\n if (key.startsWith('/api')) {\n edgeRuntimePagesCount++\n }\n }\n\n await Promise.all(\n Object.entries(pageKeys)\n .reduce<Array<{ pageType: keyof typeof pageKeys; page: string }>>(\n (acc, [key, files]) => {\n if (!files) {\n return acc\n }\n\n const pageType = key as keyof typeof pageKeys\n\n for (const page of files) {\n acc.push({ pageType, page })\n }\n\n return acc\n },\n []\n )\n .map(({ pageType, page }) => {\n const checkPageSpan = staticCheckSpan.traceChild('check-page', {\n page,\n })\n return checkPageSpan.traceAsyncFn(async () => {\n const actualPage = normalizePagePath(page)\n const [size, totalSize] = await getJsPageSizeInKb(\n pageType,\n actualPage,\n distDir,\n buildManifest,\n appBuildManifest,\n config.experimental.gzipSize,\n computedManifestData\n )\n\n let isRoutePPREnabled = false\n let isSSG = false\n let isStatic = false\n let isServerComponent = false\n let isHybridAmp = false\n let ssgPageRoutes: string[] | null = null\n let pagePath = ''\n\n if (pageType === 'pages') {\n pagePath =\n pagesPaths.find((p) => {\n p = normalizePathSep(p)\n return (\n p.startsWith(actualPage + '.') ||\n p.startsWith(actualPage + '/index.')\n )\n }) || ''\n }\n let originalAppPath: string | undefined\n\n if (pageType === 'app' && mappedAppPages) {\n for (const [originalPath, normalizedPath] of Object.entries(\n appPathRoutes\n )) {\n if (normalizedPath === page) {\n pagePath = mappedAppPages[originalPath].replace(\n /^private-next-app-dir/,\n ''\n )\n originalAppPath = originalPath\n break\n }\n }\n }\n\n const pageFilePath = isAppBuiltinPage(pagePath)\n ? pagePath\n : path.join(\n (pageType === 'pages' ? pagesDir : appDir) || '',\n pagePath\n )\n\n const isInsideAppDir = pageType === 'app'\n const staticInfo = pagePath\n ? await getStaticInfoIncludingLayouts({\n isInsideAppDir,\n pageFilePath,\n pageExtensions: config.pageExtensions,\n appDir,\n config,\n isDev: false,\n // If this route is an App Router page route, inherit the\n // route segment configs (e.g. `runtime`) from the layout by\n // passing the `originalAppPath`, which should end with `/page`.\n page: isInsideAppDir ? originalAppPath! : page,\n })\n : undefined\n\n if (staticInfo?.hadUnsupportedValue) {\n errorFromUnsupportedSegmentConfig()\n }\n\n // If there's any thing that would contribute to the functions\n // configuration, we need to add it to the manifest.\n if (\n typeof staticInfo?.runtime !== 'undefined' ||\n typeof staticInfo?.maxDuration !== 'undefined' ||\n typeof staticInfo?.preferredRegion !== 'undefined'\n ) {\n const regions = staticInfo?.preferredRegion\n ? typeof staticInfo.preferredRegion === 'string'\n ? [staticInfo.preferredRegion]\n : staticInfo.preferredRegion\n : undefined\n\n functionsConfigManifest.functions[page] = {\n maxDuration: staticInfo?.maxDuration,\n ...(regions && { regions }),\n }\n }\n\n const pageRuntime = middlewareManifest.functions[\n originalAppPath || page\n ]\n ? 'edge'\n : staticInfo?.runtime\n\n if (!isCompileMode) {\n isServerComponent =\n pageType === 'app' &&\n staticInfo?.rsc !== RSC_MODULE_TYPES.client\n\n if (pageType === 'app' || !isReservedPage(page)) {\n try {\n let edgeInfo: any\n\n if (isEdgeRuntime(pageRuntime)) {\n if (pageType === 'app') {\n edgeRuntimeAppCount++\n } else {\n edgeRuntimePagesCount++\n }\n\n const manifestKey =\n pageType === 'pages' ? page : originalAppPath || ''\n\n edgeInfo = middlewareManifest.functions[manifestKey]\n }\n\n let isPageStaticSpan =\n checkPageSpan.traceChild('is-page-static')\n let workerResult = await isPageStaticSpan.traceAsyncFn(\n () => {\n return worker.isPageStatic({\n dir,\n page,\n originalAppPath,\n distDir,\n configFileName,\n runtimeEnvConfig,\n httpAgentOptions: config.httpAgentOptions,\n locales: config.i18n?.locales,\n defaultLocale: config.i18n?.defaultLocale,\n parentId: isPageStaticSpan.getId(),\n pageRuntime,\n edgeInfo,\n pageType,\n cacheComponents: isAppCacheComponentsEnabled,\n authInterrupts: isAuthInterruptsEnabled,\n cacheHandler: config.cacheHandler,\n cacheHandlers: config.experimental.cacheHandlers,\n isrFlushToDisk: ciEnvironment.hasNextSupport\n ? false\n : config.experimental.isrFlushToDisk,\n maxMemoryCacheSize: config.cacheMaxMemorySize,\n nextConfigOutput: config.output,\n pprConfig: config.experimental.ppr,\n cacheLifeProfiles: config.experimental.cacheLife,\n buildId,\n sriEnabled,\n })\n }\n )\n\n if (pageType === 'app' && originalAppPath) {\n appNormalizedPaths.set(originalAppPath, page)\n // TODO-APP: handle prerendering with edge\n if (isEdgeRuntime(pageRuntime)) {\n isStatic = false\n isSSG = false\n\n Log.warnOnce(\n `Using edge runtime on a page currently disables static generation for that page`\n )\n } else {\n const isDynamic = isDynamicRoute(page)\n\n if (\n typeof workerResult.isRoutePPREnabled === 'boolean'\n ) {\n isRoutePPREnabled = workerResult.isRoutePPREnabled\n }\n\n // If this route can be partially pre-rendered, then\n // mark it as such and mark that it can be\n // generated server-side.\n if (workerResult.isRoutePPREnabled) {\n isSSG = true\n isStatic = true\n\n staticPaths.set(originalAppPath, [])\n }\n\n if (workerResult.prerenderedRoutes) {\n staticPaths.set(\n originalAppPath,\n workerResult.prerenderedRoutes\n )\n ssgPageRoutes = workerResult.prerenderedRoutes.map(\n (route) => route.pathname\n )\n isSSG = true\n }\n\n const appConfig = workerResult.appConfig || {}\n if (appConfig.revalidate !== 0) {\n const hasGenerateStaticParams =\n workerResult.prerenderedRoutes &&\n workerResult.prerenderedRoutes.length > 0\n\n if (\n config.output === 'export' &&\n isDynamic &&\n !hasGenerateStaticParams\n ) {\n throw new Error(\n `Page \"${page}\" is missing \"generateStaticParams()\" so it cannot be used with \"output: export\" config.`\n )\n }\n\n // Mark the app as static if:\n // - It has no dynamic param\n // - It doesn't have generateStaticParams but `dynamic` is set to\n // `error` or `force-static`\n if (!isDynamic) {\n staticPaths.set(originalAppPath, [\n {\n params: {},\n pathname: page,\n encodedPathname: page,\n fallbackRouteParams: [],\n fallbackMode:\n workerResult.prerenderFallbackMode,\n fallbackRootParams: [],\n throwOnEmptyStaticShell: true,\n },\n ])\n isStatic = true\n } else if (\n !hasGenerateStaticParams &&\n (appConfig.dynamic === 'error' ||\n appConfig.dynamic === 'force-static')\n ) {\n staticPaths.set(originalAppPath, [])\n isStatic = true\n isRoutePPREnabled = false\n }\n }\n\n if (workerResult.prerenderFallbackMode) {\n fallbackModes.set(\n originalAppPath,\n workerResult.prerenderFallbackMode\n )\n }\n\n appDefaultConfigs.set(originalAppPath, appConfig)\n }\n } else {\n if (isEdgeRuntime(pageRuntime)) {\n if (workerResult.hasStaticProps) {\n console.warn(\n `\"getStaticProps\" is not yet supported fully with \"experimental-edge\", detected on ${page}`\n )\n }\n workerResult.isStatic = false\n workerResult.hasStaticProps = false\n }\n\n if (\n workerResult.isStatic === false &&\n (workerResult.isHybridAmp || workerResult.isAmpOnly)\n ) {\n hasSsrAmpPages = true\n }\n\n if (workerResult.isHybridAmp) {\n isHybridAmp = true\n hybridAmpPages.add(page)\n }\n\n if (workerResult.isNextImageImported) {\n isNextImageImported = true\n }\n\n if (workerResult.hasStaticProps) {\n ssgPages.add(page)\n isSSG = true\n\n if (\n workerResult.prerenderedRoutes &&\n workerResult.prerenderedRoutes.length > 0\n ) {\n additionalPaths.set(\n page,\n workerResult.prerenderedRoutes\n )\n ssgPageRoutes = workerResult.prerenderedRoutes.map(\n (route) => route.pathname\n )\n }\n\n if (\n workerResult.prerenderFallbackMode ===\n FallbackMode.BLOCKING_STATIC_RENDER\n ) {\n ssgBlockingFallbackPages.add(page)\n } else if (\n workerResult.prerenderFallbackMode ===\n FallbackMode.PRERENDER\n ) {\n ssgStaticFallbackPages.add(page)\n }\n } else if (workerResult.hasServerProps) {\n serverPropsPages.add(page)\n } else if (\n workerResult.isStatic &&\n !isServerComponent &&\n (await customAppGetInitialPropsPromise) === false\n ) {\n staticPages.add(page)\n isStatic = true\n } else if (isServerComponent) {\n // This is a static server component page that doesn't have\n // gSP or gSSP. We still treat it as a SSG page.\n ssgPages.add(page)\n isSSG = true\n }\n\n if (hasPages404 && page === '/404') {\n if (\n !workerResult.isStatic &&\n !workerResult.hasStaticProps\n ) {\n throw new Error(\n `\\`pages/404\\` ${STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`\n )\n }\n // we need to ensure the 404 lambda is present since we use\n // it when _app has getInitialProps\n if (\n (await customAppGetInitialPropsPromise) &&\n !workerResult.hasStaticProps\n ) {\n staticPages.delete(page)\n }\n }\n\n if (\n STATIC_STATUS_PAGES.includes(page) &&\n !workerResult.isStatic &&\n !workerResult.hasStaticProps\n ) {\n throw new Error(\n `\\`pages${page}\\` ${STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`\n )\n }\n }\n } catch (err) {\n if (\n !isError(err) ||\n err.message !== 'INVALID_DEFAULT_EXPORT'\n )\n throw err\n invalidPages.add(page)\n }\n }\n\n if (pageType === 'app') {\n if (isSSG || isStatic) {\n staticAppPagesCount++\n } else {\n serverAppPagesCount++\n }\n }\n }\n\n pageInfos.set(page, {\n originalAppPath,\n size,\n totalSize,\n isStatic,\n isSSG,\n isRoutePPREnabled,\n isHybridAmp,\n ssgPageRoutes,\n initialCacheControl: undefined,\n runtime: pageRuntime,\n pageDuration: undefined,\n ssgPageDurations: undefined,\n hasEmptyStaticShell: undefined,\n })\n })\n })\n )\n\n const errorPageResult = await errorPageStaticResult\n const nonStaticErrorPage =\n (await errorPageHasCustomGetInitialProps) ||\n (errorPageResult && errorPageResult.hasServerProps)\n\n const returnValue = {\n customAppGetInitialProps: await customAppGetInitialPropsPromise,\n namedExports: await namedExportsPromise,\n isNextImageImported,\n hasSsrAmpPages,\n hasNonStaticErrorPage: nonStaticErrorPage,\n }\n\n return returnValue\n })\n\n if (postCompileSpinner) postCompileSpinner.stopAndPersist()\n traceMemoryUsage('Finished collecting page data', nextBuildSpan)\n\n if (customAppGetInitialProps) {\n console.warn(\n bold(yellow(`Warning: `)) +\n yellow(\n `You have opted-out of Automatic Static Optimization due to \\`getInitialProps\\` in \\`pages/_app\\`. This does not opt-out pages with \\`getStaticProps\\``\n )\n )\n console.warn(\n 'Read more: https://nextjs.org/docs/messages/opt-out-auto-static-optimization\\n'\n )\n }\n\n const { cacheHandler } = config\n\n const instrumentationHookEntryFiles: string[] = []\n if (hasInstrumentationHook) {\n instrumentationHookEntryFiles.push(\n path.join(SERVER_DIRECTORY, `${INSTRUMENTATION_HOOK_FILENAME}.js`)\n )\n // If there's edge routes, append the edge instrumentation hook\n // Turbopack generates this chunk with a hashed name and references it in middleware-manifest.\n if (!isTurbopack && (edgeRuntimeAppCount || edgeRuntimePagesCount)) {\n instrumentationHookEntryFiles.push(\n path.join(\n SERVER_DIRECTORY,\n `edge-${INSTRUMENTATION_HOOK_FILENAME}.js`\n )\n )\n }\n }\n\n const requiredServerFilesManifest = nextBuildSpan\n .traceChild('generate-required-server-files')\n .traceFn(() => {\n const normalizedCacheHandlers: Record<string, string> = {}\n\n for (const [key, value] of Object.entries(\n config.experimental.cacheHandlers || {}\n )) {\n if (key && value) {\n normalizedCacheHandlers[key] = path.relative(distDir, value)\n }\n }\n\n const serverFilesManifest: RequiredServerFilesManifest = {\n version: 1,\n config: {\n ...config,\n configFile: undefined,\n ...(ciEnvironment.hasNextSupport\n ? {\n compress: false,\n }\n : {}),\n cacheHandler: cacheHandler\n ? path.relative(distDir, cacheHandler)\n : config.cacheHandler,\n experimental: {\n ...config.experimental,\n cacheHandlers: normalizedCacheHandlers,\n trustHostHeader: ciEnvironment.hasNextSupport,\n isExperimentalCompile: isCompileMode,\n },\n },\n appDir: dir,\n relativeAppDir: path.relative(outputFileTracingRoot, dir),\n files: [\n ROUTES_MANIFEST,\n path.relative(distDir, pagesManifestPath),\n BUILD_MANIFEST,\n PRERENDER_MANIFEST,\n path.join(SERVER_DIRECTORY, FUNCTIONS_CONFIG_MANIFEST),\n path.join(SERVER_DIRECTORY, MIDDLEWARE_MANIFEST),\n path.join(SERVER_DIRECTORY, MIDDLEWARE_BUILD_MANIFEST + '.js'),\n ...(!isTurbopack\n ? [\n path.join(\n SERVER_DIRECTORY,\n MIDDLEWARE_REACT_LOADABLE_MANIFEST + '.js'\n ),\n REACT_LOADABLE_MANIFEST,\n ]\n : []),\n ...(appDir\n ? [\n ...(config.experimental.sri\n ? [\n path.join(\n SERVER_DIRECTORY,\n SUBRESOURCE_INTEGRITY_MANIFEST + '.js'\n ),\n path.join(\n SERVER_DIRECTORY,\n SUBRESOURCE_INTEGRITY_MANIFEST + '.json'\n ),\n ]\n : []),\n path.join(SERVER_DIRECTORY, APP_PATHS_MANIFEST),\n path.join(APP_PATH_ROUTES_MANIFEST),\n APP_BUILD_MANIFEST,\n path.join(\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST + '.js'\n ),\n path.join(\n SERVER_DIRECTORY,\n SERVER_REFERENCE_MANIFEST + '.json'\n ),\n ]\n : []),\n ...(pagesDir && !isTurbopack\n ? [\n DYNAMIC_CSS_MANIFEST + '.json',\n path.join(SERVER_DIRECTORY, DYNAMIC_CSS_MANIFEST + '.js'),\n ]\n : []),\n BUILD_ID_FILE,\n path.join(SERVER_DIRECTORY, NEXT_FONT_MANIFEST + '.js'),\n path.join(SERVER_DIRECTORY, NEXT_FONT_MANIFEST + '.json'),\n SERVER_FILES_MANIFEST,\n ...instrumentationHookEntryFiles,\n ]\n .filter(nonNullable)\n .map((file) => path.join(config.distDir, file)),\n ignore: [] as string[],\n }\n\n return serverFilesManifest\n })\n\n if (!hasSsrAmpPages) {\n requiredServerFilesManifest.ignore.push(\n path.relative(\n dir,\n path.join(\n path.dirname(\n require.resolve(\n 'next/dist/compiled/@ampproject/toolbox-optimizer'\n )\n ),\n '**/*'\n )\n )\n )\n }\n\n const middlewareFile = rootPaths.find((p) =>\n p.includes(MIDDLEWARE_FILENAME)\n )\n let hasNodeMiddleware = false\n\n if (middlewareFile) {\n const staticInfo = await getStaticInfoIncludingLayouts({\n isInsideAppDir: false,\n pageFilePath: path.join(dir, middlewareFile),\n config,\n appDir,\n pageExtensions: config.pageExtensions,\n isDev: false,\n page: 'middleware',\n })\n\n if (staticInfo.hadUnsupportedValue) {\n errorFromUnsupportedSegmentConfig()\n }\n\n if (staticInfo.runtime === 'nodejs') {\n hasNodeMiddleware = true\n functionsConfigManifest.functions['/_middleware'] = {\n runtime: staticInfo.runtime,\n matchers: staticInfo.middleware?.matchers ?? [\n {\n regexp: '^.*$',\n originalSource: '/:path*',\n },\n ],\n }\n\n if (isTurbopack) {\n await writeManifest(\n path.join(\n distDir,\n 'static',\n buildId,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST\n ),\n functionsConfigManifest.functions['/_middleware'].matchers || []\n )\n }\n }\n }\n\n await writeFunctionsConfigManifest(distDir, functionsConfigManifest)\n\n if (!isTurbopack && !isGenerateMode && !buildTracesPromise) {\n buildTracesPromise = collectBuildTraces({\n dir,\n config,\n distDir,\n edgeRuntimeRoutes: collectRoutesUsingEdgeRuntime(pageInfos),\n staticPages: [...staticPages],\n nextBuildSpan,\n hasSsrAmpPages,\n buildTraceContext,\n outputFileTracingRoot,\n }).catch((err) => {\n console.error(err)\n process.exit(1)\n })\n }\n\n if (serverPropsPages.size > 0 || ssgPages.size > 0) {\n // We update the routes manifest after the build with the\n // data routes since we can't determine these until after build\n routesManifest.dataRoutes = sortPages([\n ...serverPropsPages,\n ...ssgPages,\n ]).map((page) => {\n return buildDataRoute(page, buildId)\n })\n }\n\n // We need to write the manifest with rewrites before build\n await nextBuildSpan\n .traceChild('write-routes-manifest')\n .traceAsyncFn(() => writeManifest(routesManifestPath, routesManifest))\n\n // Since custom _app.js can wrap the 404 page we have to opt-out of static optimization if it has getInitialProps\n // Only export the static 404 when there is no /_error present\n const useStaticPages404 =\n !customAppGetInitialProps && (!hasNonStaticErrorPage || hasPages404)\n\n if (invalidPages.size > 0) {\n const err = new Error(\n `Build optimization failed: found page${\n invalidPages.size === 1 ? '' : 's'\n } without a React Component as default export in \\n${[...invalidPages]\n .map((pg) => `pages${pg}`)\n .join(\n '\\n'\n )}\\n\\nSee https://nextjs.org/docs/messages/page-without-valid-component for more info.\\n`\n ) as NextError\n err.code = 'BUILD_OPTIMIZATION_FAILED'\n throw err\n }\n\n await writeBuildId(distDir, buildId)\n\n if (config.experimental.optimizeCss) {\n const globOrig =\n require('next/dist/compiled/glob') as typeof import('next/dist/compiled/glob')\n\n const cssFilePaths = await new Promise<string[]>((resolve, reject) => {\n globOrig(\n '**/*.css',\n { cwd: path.join(distDir, 'static') },\n (err, files) => {\n if (err) {\n return reject(err)\n }\n resolve(files)\n }\n )\n })\n\n requiredServerFilesManifest.files.push(\n ...cssFilePaths.map((filePath) =>\n path.join(config.distDir, 'static', filePath)\n )\n )\n }\n\n const features: EventBuildFeatureUsage[] = [\n {\n featureName: 'experimental/cacheComponents',\n invocationCount: config.experimental.cacheComponents ? 1 : 0,\n },\n {\n featureName: 'experimental/optimizeCss',\n invocationCount: config.experimental.optimizeCss ? 1 : 0,\n },\n {\n featureName: 'experimental/nextScriptWorkers',\n invocationCount: config.experimental.nextScriptWorkers ? 1 : 0,\n },\n {\n featureName: 'experimental/ppr',\n invocationCount: config.experimental.ppr ? 1 : 0,\n },\n {\n featureName: 'turbopackPersistentCaching',\n invocationCount: isPersistentCachingEnabled(config) ? 1 : 0,\n },\n ]\n telemetry.record(\n features.map((feature) => {\n return {\n eventName: EVENT_BUILD_FEATURE_USAGE,\n payload: feature,\n }\n })\n )\n\n await writeRequiredServerFilesManifest(\n distDir,\n requiredServerFilesManifest\n )\n\n // we don't need to inline for turbopack build as\n // it will handle it's own caching separate of compile\n if (isGenerateMode && !isTurbopack) {\n Log.info('Inlining static env ...')\n\n await nextBuildSpan\n .traceChild('inline-static-env')\n .traceAsyncFn(async () => {\n await inlineStaticEnv({\n distDir,\n config,\n })\n })\n }\n\n const middlewareManifest: MiddlewareManifest = await readManifest(\n path.join(distDir, SERVER_DIRECTORY, MIDDLEWARE_MANIFEST)\n )\n\n const prerenderManifest: PrerenderManifest = {\n version: 4,\n routes: {},\n dynamicRoutes: {},\n notFoundRoutes: [],\n preview: previewProps,\n }\n\n const tbdPrerenderRoutes: string[] = []\n\n const { i18n } = config\n\n const usedStaticStatusPages = STATIC_STATUS_PAGES.filter(\n (page) =>\n mappedPages[page] &&\n mappedPages[page].startsWith('private-next-pages')\n )\n usedStaticStatusPages.forEach((page) => {\n if (!ssgPages.has(page) && !customAppGetInitialProps) {\n staticPages.add(page)\n }\n })\n\n const hasPages500 = !appDirOnly && usedStaticStatusPages.includes('/500')\n const useDefaultStatic500 =\n !hasPages500 && !hasNonStaticErrorPage && !customAppGetInitialProps\n\n const combinedPages = [...staticPages, ...ssgPages]\n const isApp404Static = staticPaths.has(UNDERSCORE_NOT_FOUND_ROUTE_ENTRY)\n const hasStaticApp404 = hasApp404 && isApp404Static\n const isAppGlobalErrorStatic = staticPaths.has(\n UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY\n )\n const hasStaticAppGlobalError =\n hasAppGlobalError && isAppGlobalErrorStatic\n\n await updateBuildDiagnostics({\n buildStage: 'static-generation',\n })\n\n // we need to trigger automatic exporting when we have\n // - static 404/500\n // - getStaticProps paths\n // - experimental app is enabled\n if (\n !isCompileMode &&\n (combinedPages.length > 0 ||\n useStaticPages404 ||\n useDefaultStatic500 ||\n appDir)\n ) {\n const staticGenerationSpan =\n nextBuildSpan.traceChild('static-generation')\n await staticGenerationSpan.traceAsyncFn(async () => {\n detectConflictingPaths(\n [\n ...combinedPages,\n ...pageKeys.pages.filter((page) => !combinedPages.includes(page)),\n ],\n ssgPages,\n new Map(\n Array.from(additionalPaths.entries()).map(\n ([page, routes]): [string, string[]] => {\n return [page, routes.map((route) => route.pathname)]\n }\n )\n )\n )\n\n const exportApp = (require('../export') as typeof import('../export'))\n .default as typeof import('../export').default\n\n const exportConfig: NextConfigComplete = {\n ...config,\n // Default map will be the collection of automatic statically exported\n // pages and incremental pages.\n // n.b. we cannot handle this above in combinedPages because the dynamic\n // page must be in the `pages` array, but not in the mapping.\n exportPathMap: (defaultMap: ExportPathMap) => {\n // Dynamically routed pages should be prerendered to be used as\n // a client-side skeleton (fallback) while data is being fetched.\n // This ensures the end-user never sees a 500 or slow response from the\n // server.\n //\n // Note: prerendering disables automatic static optimization.\n ssgPages.forEach((page) => {\n if (isDynamicRoute(page)) {\n tbdPrerenderRoutes.push(page)\n\n if (ssgStaticFallbackPages.has(page)) {\n // Override the rendering for the dynamic page to be treated as a\n // fallback render.\n if (i18n) {\n defaultMap[`/${i18n.defaultLocale}${page}`] = {\n page,\n _pagesFallback: true,\n }\n } else {\n defaultMap[page] = {\n page,\n _pagesFallback: true,\n }\n }\n } else {\n // Remove dynamically routed pages from the default path map when\n // fallback behavior is disabled.\n delete defaultMap[page]\n }\n }\n })\n\n // Append the \"well-known\" routes we should prerender for, e.g. blog\n // post slugs.\n additionalPaths.forEach((routes, page) => {\n routes.forEach((route) => {\n defaultMap[route.pathname] = {\n page,\n _ssgPath: route.encodedPathname,\n }\n })\n })\n\n if (useStaticPages404 && !appDirOnly) {\n defaultMap['/404'] = {\n page: hasPages404 ? '/404' : '/_error',\n }\n }\n\n if (useDefaultStatic500 && !appDirOnly) {\n defaultMap['/500'] = {\n page: '/_error',\n }\n }\n\n // TODO: output manifest specific to app paths and their\n // revalidate periods and dynamicParams settings\n staticPaths.forEach((routes, originalAppPath) => {\n const appConfig = appDefaultConfigs.get(originalAppPath)\n const isDynamicError = appConfig?.dynamic === 'error'\n\n const isRoutePPREnabled: boolean = appConfig\n ? checkIsRoutePPREnabled(config.experimental.ppr, appConfig)\n : false\n\n routes.forEach((route) => {\n // If the route has any dynamic root segments, we need to skip\n // rendering the route. This is because we don't support\n // revalidating the shells without the parameters present.\n // Note that we only have fallback root params if we also have\n // PPR enabled for this route/app already.\n if (\n route.fallbackRootParams &&\n route.fallbackRootParams.length > 0 &&\n // We don't skip rendering the route if we have the\n // following enabled. This is because the flight data now\n // does not contain any of the route params and is instead\n // completely static.\n !(\n config.experimental.clientSegmentCache &&\n config.experimental.clientParamParsing\n )\n ) {\n return\n }\n\n defaultMap[route.pathname] = {\n page: originalAppPath,\n _ssgPath: route.encodedPathname,\n _fallbackRouteParams: route.fallbackRouteParams,\n _isDynamicError: isDynamicError,\n _isAppDir: true,\n _isRoutePPREnabled: isRoutePPREnabled,\n _allowEmptyStaticShell: !route.throwOnEmptyStaticShell,\n }\n })\n })\n\n if (i18n) {\n for (const page of [\n ...staticPages,\n ...ssgPages,\n ...(useStaticPages404 ? ['/404'] : []),\n ...(useDefaultStatic500 ? ['/500'] : []),\n ]) {\n const isSsg = ssgPages.has(page)\n const isDynamic = isDynamicRoute(page)\n const isFallback = isSsg && ssgStaticFallbackPages.has(page)\n\n for (const locale of i18n.locales) {\n // skip fallback generation for SSG pages without fallback mode\n if (isSsg && isDynamic && !isFallback) continue\n const outputPath = `/${locale}${page === '/' ? '' : page}`\n\n defaultMap[outputPath] = {\n page: defaultMap[page]?.page || page,\n _locale: locale,\n _pagesFallback: isFallback,\n }\n }\n\n if (isSsg) {\n // remove non-locale prefixed variant from defaultMap\n delete defaultMap[page]\n }\n }\n }\n\n return defaultMap\n },\n }\n\n const outdir = path.join(distDir, 'export')\n const exportResult = await exportApp(\n dir,\n {\n nextConfig: exportConfig,\n enabledDirectories,\n silent: true,\n buildExport: true,\n debugOutput,\n debugPrerender,\n pages: combinedPages,\n outdir,\n statusMessage: 'Generating static pages',\n numWorkers: getNumberOfWorkers(exportConfig),\n appDirOnly,\n },\n nextBuildSpan\n )\n\n // If there was no result, there's nothing more to do.\n if (!exportResult) return\n\n const getFallbackMode = (route: PrerenderedRoute) => {\n const hasEmptyStaticShell = exportResult.byPath.get(\n route.pathname\n )?.hasEmptyStaticShell\n\n // If the route has an empty static shell and is not configured to\n // throw on empty static shell, then we should use the blocking\n // static render mode.\n if (\n hasEmptyStaticShell &&\n !route.throwOnEmptyStaticShell &&\n route.fallbackMode === FallbackMode.PRERENDER\n ) {\n return FallbackMode.BLOCKING_STATIC_RENDER\n }\n\n // If the route has no fallback mode, then we should use the\n // `NOT_FOUND` fallback mode.\n if (!route.fallbackMode) {\n return FallbackMode.NOT_FOUND\n }\n\n return route.fallbackMode\n }\n\n const getCacheControl = (\n exportPath: string,\n defaultRevalidate: Revalidate = false\n ): CacheControl => {\n const cacheControl =\n exportResult.byPath.get(exportPath)?.cacheControl\n\n if (!cacheControl) {\n return { revalidate: defaultRevalidate, expire: undefined }\n }\n\n if (\n cacheControl.revalidate !== false &&\n cacheControl.revalidate > 0 &&\n cacheControl.expire === undefined\n ) {\n return {\n revalidate: cacheControl.revalidate,\n expire: config.expireTime,\n }\n }\n\n return cacheControl\n }\n\n if (debugOutput || process.env.NEXT_SSG_FETCH_METRICS === '1') {\n recordFetchMetrics(exportResult)\n }\n\n writeTurborepoAccessTraceResult({\n distDir: config.distDir,\n traces: [\n turborepoAccessTraceResult,\n ...exportResult.turborepoAccessTraceResults.values(),\n ],\n })\n\n prerenderManifest.notFoundRoutes = Array.from(\n exportResult.ssgNotFoundPaths\n )\n\n // remove server bundles that were exported\n for (const page of staticPages) {\n const serverBundle = getPagePath(page, distDir, undefined, false)\n await fs.unlink(serverBundle)\n }\n\n staticPaths.forEach((prerenderedRoutes, originalAppPath) => {\n const page = appNormalizedPaths.get(originalAppPath)\n if (!page) throw new InvariantError('Page not found')\n\n const appConfig = appDefaultConfigs.get(originalAppPath)\n if (!appConfig) throw new InvariantError('App config not found')\n\n let hasRevalidateZero =\n appConfig.revalidate === 0 ||\n getCacheControl(page).revalidate === 0\n\n if (hasRevalidateZero && pageInfos.get(page)?.isStatic) {\n // if the page was marked as being static, but it contains dynamic data\n // (ie, in the case of a static generation bailout), then it should be marked dynamic\n pageInfos.set(page, {\n ...(pageInfos.get(page) as PageInfo),\n isStatic: false,\n isSSG: false,\n })\n }\n\n const isAppRouteHandler = isAppRouteRoute(originalAppPath)\n\n // When this is an app page and PPR is enabled, the route supports\n // partial pre-rendering.\n const isRoutePPREnabled: true | undefined =\n !isAppRouteHandler &&\n checkIsRoutePPREnabled(config.experimental.ppr, appConfig)\n ? true\n : undefined\n\n const htmlBotsRegexString =\n // The htmlLimitedBots has been converted to a string during loadConfig\n config.htmlLimitedBots || HTML_LIMITED_BOT_UA_RE_STRING\n\n // this flag is used to selectively bypass the static cache and invoke the lambda directly\n // to enable server actions on static routes\n const bypassFor: RouteHas[] = [\n { type: 'header', key: ACTION_HEADER },\n {\n type: 'header',\n key: 'content-type',\n value: 'multipart/form-data;.*',\n },\n // If it's PPR rendered non-static page, bypass the PPR cache when streaming metadata is enabled.\n // This will skip the postpone data for those bots requests and instead produce a dynamic render.\n ...(isRoutePPREnabled\n ? [\n {\n type: 'header',\n key: 'user-agent',\n value: htmlBotsRegexString,\n },\n ]\n : []),\n ]\n\n // We should collect all the dynamic routes into a single array for\n // this page. Including the full fallback route (the original\n // route), any routes that were generated with unknown route params\n // should be collected and included in the dynamic routes part\n // of the manifest instead.\n const staticPrerenderedRoutes: PrerenderedRoute[] = []\n const dynamicPrerenderedRoutes: PrerenderedRoute[] = []\n\n // Sort the outputted routes to ensure consistent output. Any route\n // though that has unknown route params will be pulled and sorted\n // independently. This is because the routes with unknown route\n // params will contain the dynamic path parameters, some of which\n // may conflict with the actual prerendered routes.\n const unsortedUnknownPrerenderRoutes: PrerenderedRoute[] = []\n const unsortedKnownPrerenderRoutes: PrerenderedRoute[] = []\n for (const prerenderedRoute of prerenderedRoutes) {\n if (\n prerenderedRoute.fallbackRouteParams &&\n prerenderedRoute.fallbackRouteParams.length > 0\n ) {\n unsortedUnknownPrerenderRoutes.push(prerenderedRoute)\n } else {\n unsortedKnownPrerenderRoutes.push(prerenderedRoute)\n }\n }\n\n const sortedUnknownPrerenderRoutes = sortPageObjects(\n unsortedUnknownPrerenderRoutes,\n (prerenderedRoute) => prerenderedRoute.pathname\n )\n const sortedKnownPrerenderRoutes = sortPageObjects(\n unsortedKnownPrerenderRoutes,\n (prerenderedRoute) => prerenderedRoute.pathname\n )\n\n prerenderedRoutes = [\n ...sortedKnownPrerenderRoutes,\n ...sortedUnknownPrerenderRoutes,\n ]\n\n for (const prerenderedRoute of prerenderedRoutes) {\n if (\n isRoutePPREnabled &&\n prerenderedRoute.fallbackRouteParams &&\n prerenderedRoute.fallbackRouteParams.length > 0\n ) {\n // If the route has unknown params, then we need to add it to\n // the list of dynamic routes.\n dynamicPrerenderedRoutes.push(prerenderedRoute)\n } else {\n // If the route doesn't have unknown params, then we need to\n // add it to the list of static routes.\n staticPrerenderedRoutes.push(prerenderedRoute)\n }\n }\n\n // Handle all the static routes.\n for (const route of staticPrerenderedRoutes) {\n if (isDynamicRoute(page) && route.pathname === page) continue\n\n const {\n metadata = {},\n hasEmptyStaticShell,\n hasPostponed,\n } = exportResult.byPath.get(route.pathname) ?? {}\n\n const cacheControl = getCacheControl(\n route.pathname,\n appConfig.revalidate\n )\n\n pageInfos.set(route.pathname, {\n ...(pageInfos.get(route.pathname) as PageInfo),\n hasPostponed,\n hasEmptyStaticShell,\n initialCacheControl: cacheControl,\n })\n\n // update the page (eg /blog/[slug]) to also have the postpone metadata\n pageInfos.set(page, {\n ...(pageInfos.get(page) as PageInfo),\n hasPostponed,\n hasEmptyStaticShell,\n initialCacheControl: cacheControl,\n })\n\n if (cacheControl.revalidate !== 0) {\n const normalizedRoute = normalizePagePath(route.pathname)\n\n let dataRoute: string | null\n if (isAppRouteHandler) {\n dataRoute = null\n } else {\n dataRoute = path.posix.join(`${normalizedRoute}${RSC_SUFFIX}`)\n }\n\n let prefetchDataRoute: string | null = null\n // While we may only write the `.rsc` when the route does not\n // have PPR enabled, we still want to generate the route when\n // deployed so it doesn't 404. If the app has PPR enabled, we\n // should add this key.\n if (\n !isAppRouteHandler &&\n isAppPPREnabled &&\n // Don't add a prefetch data route if we have both\n // clientSegmentCache and clientParamParsing enabled. This is\n // because we don't actually use the prefetch data route in\n // this case. This only applies if we have PPR enabled for\n // this route.\n !(\n config.experimental.clientSegmentCache &&\n config.experimental.clientParamParsing &&\n isRoutePPREnabled\n )\n ) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\n )\n }\n\n const meta = collectMeta(metadata)\n const status =\n route.pathname === UNDERSCORE_NOT_FOUND_ROUTE\n ? 404\n : meta.status\n\n prerenderManifest.routes[route.pathname] = {\n initialStatus: status,\n initialHeaders: meta.headers,\n renderingMode: isAppPPREnabled\n ? isRoutePPREnabled\n ? RenderingMode.PARTIALLY_STATIC\n : RenderingMode.STATIC\n : undefined,\n experimentalPPR: isRoutePPREnabled,\n experimentalBypassFor: bypassFor,\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n srcRoute: page,\n dataRoute,\n prefetchDataRoute,\n allowHeader: ALLOWED_HEADERS,\n }\n } else {\n hasRevalidateZero = true\n // we might have determined during prerendering that this page\n // used dynamic data\n pageInfos.set(route.pathname, {\n ...(pageInfos.get(route.pathname) as PageInfo),\n isSSG: false,\n isStatic: false,\n })\n }\n }\n\n if (!hasRevalidateZero && isDynamicRoute(page)) {\n // When PPR fallbacks aren't used, we need to include it here. If\n // they are enabled, then it'll already be included in the\n // prerendered routes.\n if (!isRoutePPREnabled) {\n dynamicPrerenderedRoutes.push({\n params: {},\n pathname: page,\n encodedPathname: page,\n fallbackRouteParams: [],\n fallbackMode:\n fallbackModes.get(originalAppPath) ??\n FallbackMode.NOT_FOUND,\n fallbackRootParams: [],\n throwOnEmptyStaticShell: true,\n })\n }\n\n for (const route of dynamicPrerenderedRoutes) {\n const normalizedRoute = normalizePagePath(route.pathname)\n\n const metadata = exportResult.byPath.get(\n route.pathname\n )?.metadata\n\n const cacheControl = getCacheControl(route.pathname)\n\n let dataRoute: string | null = null\n if (!isAppRouteHandler) {\n dataRoute = path.posix.join(`${normalizedRoute}${RSC_SUFFIX}`)\n }\n\n let prefetchDataRoute: string | null = null\n let dynamicRoute = routesManifest.dynamicRoutes.find(\n (r) => r.page === route.pathname\n )\n if (!isAppRouteHandler && isAppPPREnabled) {\n if (\n // Don't add a prefetch data route if we have both\n // clientSegmentCache and clientParamParsing enabled. This is\n // because we don't actually use the prefetch data route in\n // this case. This only applies if we have PPR enabled for\n // this route.\n !config.experimental.clientSegmentCache ||\n !config.experimental.clientParamParsing ||\n !isRoutePPREnabled\n ) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\n )\n }\n\n // If the dynamic route wasn't found, then we need to create\n // it. This ensures that for each fallback shell there's an\n // entry in the app routes manifest which enables routing for\n // this fallback shell.\n if (!dynamicRoute) {\n dynamicRoute = pageToRoute(route.pathname, page)\n sourcePages.set(route.pathname, page)\n\n // This route is not for the internal router, but instead\n // for external routers.\n dynamicRoute.skipInternalRouting = true\n\n // Push this to the end of the array. The dynamic routes are\n // sorted by page later.\n dynamicRoutes.push(dynamicRoute)\n }\n }\n\n if (\n !isAppRouteHandler &&\n (metadata?.segmentPaths ||\n (route.fallbackRootParams &&\n route.fallbackRootParams.length > 0))\n ) {\n // If PPR isn't enabled, then we might not find the dynamic\n // route by pathname. If that's the case, we need to find the\n // route by page.\n if (!dynamicRoute) {\n dynamicRoute = dynamicRoutes.find((r) => r.page === page)\n\n // If it can't be found by page, we must throw an error.\n if (!dynamicRoute) {\n throw new InvariantError('Dynamic route not found')\n }\n }\n\n if (metadata?.segmentPaths) {\n const pageSegmentPath = metadata.segmentPaths.find((item) =>\n item.endsWith('__PAGE__')\n )\n if (!pageSegmentPath) {\n throw new Error(`Invariant: missing __PAGE__ segmentPath`)\n }\n\n // We build a combined segment data route from the\n // page segment as we need to limit the number of\n // routes we output and they can be shared\n const builtSegmentDataRoute = buildPrefetchSegmentDataRoute(\n route.pathname,\n pageSegmentPath\n )\n\n builtSegmentDataRoute.source =\n builtSegmentDataRoute.source.replace(\n '/__PAGE__\\\\.segment\\\\.rsc$',\n `(?<segment>/__PAGE__\\\\.segment\\\\.rsc|\\\\.segment\\\\.rsc)(?:/)?$`\n )\n builtSegmentDataRoute.destination =\n builtSegmentDataRoute.destination.replace(\n '/__PAGE__.segment.rsc',\n '$segment'\n )\n dynamicRoute.prefetchSegmentDataRoutes ??= []\n dynamicRoute.prefetchSegmentDataRoutes.push(\n builtSegmentDataRoute\n )\n }\n // If the route has fallback root params, and we don't have\n // any segment paths, we need to write the inverse prefetch\n // segment data route so that it can first rewrite the /_tree\n // request to the prefetch RSC route. We also need to set the\n // `hasFallbackRootParams` flag so that we can simplify the\n // route regex for matching.\n else if (\n route.fallbackRootParams &&\n route.fallbackRootParams.length > 0\n ) {\n dynamicRoute.hasFallbackRootParams = true\n dynamicRoute.prefetchSegmentDataRoutes = [\n buildInversePrefetchSegmentDataRoute(\n dynamicRoute.page,\n // We use the special segment path of `/_tree` because it's\n // the first one sent by the client router so it's the only\n // one we need to rewrite to the regular prefetch RSC route.\n '/_tree'\n ),\n ]\n }\n }\n\n pageInfos.set(route.pathname, {\n ...(pageInfos.get(route.pathname) as PageInfo),\n isDynamicAppRoute: true,\n // if PPR is turned on and the route contains a dynamic segment,\n // we assume it'll be partially prerendered\n hasPostponed: isRoutePPREnabled,\n })\n\n const fallbackMode = getFallbackMode(route)\n\n // When the route is configured to serve a prerender, we should\n // use the cache control from the export result. If it can't be\n // found, mark that we should keep the shell forever\n // (revalidate: `false` via `getCacheControl()`).\n const fallbackCacheControl =\n isRoutePPREnabled && fallbackMode === FallbackMode.PRERENDER\n ? cacheControl\n : undefined\n\n const fallback: Fallback = fallbackModeToFallbackField(\n fallbackMode,\n route.pathname\n )\n\n const meta =\n metadata &&\n isRoutePPREnabled &&\n fallbackMode === FallbackMode.PRERENDER\n ? collectMeta(metadata)\n : {}\n\n prerenderManifest.dynamicRoutes[route.pathname] = {\n experimentalPPR: isRoutePPREnabled,\n renderingMode: isAppPPREnabled\n ? isRoutePPREnabled\n ? RenderingMode.PARTIALLY_STATIC\n : RenderingMode.STATIC\n : undefined,\n experimentalBypassFor: bypassFor,\n routeRegex: normalizeRouteRegex(\n getNamedRouteRegex(route.pathname, {\n prefixRouteKeys: false,\n }).re.source\n ),\n dataRoute,\n fallback,\n fallbackRevalidate: fallbackCacheControl?.revalidate,\n fallbackExpire: fallbackCacheControl?.expire,\n fallbackStatus: meta.status,\n fallbackHeaders: meta.headers,\n fallbackRootParams: fallback\n ? route.fallbackRootParams\n : undefined,\n fallbackSourceRoute:\n route.fallbackRouteParams &&\n route.fallbackRouteParams.length > 0\n ? page\n : undefined,\n fallbackRouteParams: route.fallbackRouteParams,\n dataRouteRegex: !dataRoute\n ? null\n : normalizeRouteRegex(\n getNamedRouteRegex(dataRoute, {\n prefixRouteKeys: false,\n includeSuffix: true,\n excludeOptionalTrailingSlash: true,\n }).re.source\n ),\n prefetchDataRoute,\n prefetchDataRouteRegex: !prefetchDataRoute\n ? undefined\n : normalizeRouteRegex(\n getNamedRouteRegex(prefetchDataRoute, {\n prefixRouteKeys: false,\n includeSuffix: true,\n excludeOptionalTrailingSlash: true,\n }).re.source\n ),\n allowHeader: ALLOWED_HEADERS,\n }\n }\n }\n })\n\n const moveExportedPage = async (\n originPage: string,\n page: string,\n file: string,\n isSsg: boolean,\n ext: 'html' | 'json',\n additionalSsgFile = false\n ) => {\n return staticGenerationSpan\n .traceChild('move-exported-page')\n .traceAsyncFn(async () => {\n file = `${file}.${ext}`\n const orig = path.join(outdir, file)\n const pagePath = getPagePath(\n originPage,\n distDir,\n undefined,\n false\n )\n\n const relativeDest = path\n .relative(\n path.join(distDir, SERVER_DIRECTORY),\n path.join(\n path.join(\n pagePath,\n // strip leading / and then recurse number of nested dirs\n // to place from base folder\n originPage\n .slice(1)\n .split('/')\n .map(() => '..')\n .join('/')\n ),\n file\n )\n )\n .replace(/\\\\/g, '/')\n\n if (\n !isSsg &&\n !(\n // don't add static status page to manifest if it's\n // the default generated version e.g. no pages/500\n (\n STATIC_STATUS_PAGES.includes(page) &&\n !usedStaticStatusPages.includes(page)\n )\n )\n ) {\n pagesManifest[page] = relativeDest\n }\n\n const dest = path.join(distDir, SERVER_DIRECTORY, relativeDest)\n const isNotFound =\n prerenderManifest.notFoundRoutes.includes(page)\n\n // for SSG files with i18n the non-prerendered variants are\n // output with the locale prefixed so don't attempt moving\n // without the prefix\n if ((!i18n || additionalSsgFile) && !isNotFound) {\n await fs.mkdir(path.dirname(dest), { recursive: true })\n await fs.rename(orig, dest)\n } else if (i18n && !isSsg) {\n // this will be updated with the locale prefixed variant\n // since all files are output with the locale prefix\n delete pagesManifest[page]\n }\n\n if (i18n) {\n if (additionalSsgFile) return\n\n const localeExt = page === '/' ? path.extname(file) : ''\n const relativeDestNoPages = relativeDest.slice(\n 'pages/'.length\n )\n\n for (const locale of i18n.locales) {\n const curPath = `/${locale}${page === '/' ? '' : page}`\n\n if (\n isSsg &&\n prerenderManifest.notFoundRoutes.includes(curPath)\n ) {\n continue\n }\n\n const updatedRelativeDest = path\n .join(\n 'pages',\n locale + localeExt,\n // if it's the top-most index page we want it to be locale.EXT\n // instead of locale/index.html\n page === '/' ? '' : relativeDestNoPages\n )\n .replace(/\\\\/g, '/')\n\n const updatedOrig = path.join(\n outdir,\n locale + localeExt,\n page === '/' ? '' : file\n )\n const updatedDest = path.join(\n distDir,\n SERVER_DIRECTORY,\n updatedRelativeDest\n )\n\n if (!isSsg) {\n pagesManifest[curPath] = updatedRelativeDest\n }\n await fs.mkdir(path.dirname(updatedDest), {\n recursive: true,\n })\n await fs.rename(updatedOrig, updatedDest)\n }\n }\n })\n }\n\n async function moveExportedAppNotFoundTo404() {\n return staticGenerationSpan\n .traceChild('move-exported-app-not-found-')\n .traceAsyncFn(async () => {\n const orig = path.join(\n distDir,\n 'server',\n 'app',\n '_not-found.html'\n )\n const updatedRelativeDest = path\n .join('pages', '404.html')\n .replace(/\\\\/g, '/')\n\n if (existsSync(orig)) {\n // if 404.html folder doesn't exist, create it\n await fs.mkdir(\n path.dirname(\n path.join(distDir, 'server', updatedRelativeDest)\n ),\n { recursive: true }\n )\n await fs.copyFile(\n orig,\n path.join(distDir, 'server', updatedRelativeDest)\n )\n\n // since the app router not found is prioritized over pages router,\n // we have to ensure the app router entries are available for all locales\n if (i18n) {\n for (const locale of i18n.locales) {\n const curPath = `/${locale}/404`\n pagesManifest[curPath] = updatedRelativeDest\n }\n }\n\n pagesManifest['/404'] = updatedRelativeDest\n }\n })\n }\n\n async function moveExportedAppGlobalErrorTo500() {\n return staticGenerationSpan\n .traceChild('move-exported-app-global-error-')\n .traceAsyncFn(async () => {\n // If static 500.html exists in pages router, don't move it\n if (\n existsSync(path.join(distDir, 'server', 'pages', '500.html'))\n ) {\n return\n }\n\n // Only handle 500.html generation for static export\n const orig = path.join(\n distDir,\n 'server',\n 'app',\n '_global-error.html'\n )\n if (existsSync(orig)) {\n const error500Html = path.join(\n distDir,\n 'server',\n 'pages',\n '500.html'\n )\n\n // if 500.html folder doesn't exist, create it\n await fs.mkdir(path.dirname(error500Html), {\n recursive: true,\n })\n await fs.copyFile(orig, error500Html)\n\n pagesManifest['/500'] = path\n .join('pages', '500.html')\n .replace(/\\\\/g, '/')\n }\n })\n }\n\n // If there's /not-found inside app, we prefer it over the pages 404\n if (hasStaticApp404) {\n await moveExportedAppNotFoundTo404()\n } else {\n // Only move /404 to /404 when there is no custom 404 as in that case we don't know about the 404 page\n if (\n !hasPages404 &&\n !hasApp404 &&\n useStaticPages404 &&\n !appDirOnly\n ) {\n await moveExportedPage('/_error', '/404', '/404', false, 'html')\n }\n }\n\n if (useDefaultStatic500 && !appDirOnly) {\n await moveExportedPage('/_error', '/500', '/500', false, 'html')\n }\n\n // If there's app router and no pages router, use app router built-in 500.html\n if (\n hasStaticAppGlobalError &&\n mappedAppPages &&\n Object.keys(mappedAppPages).length > 0\n ) {\n await moveExportedAppGlobalErrorTo500()\n }\n\n for (const page of combinedPages) {\n const isSsg = ssgPages.has(page)\n const isStaticSsgFallback = ssgStaticFallbackPages.has(page)\n const isDynamic = isDynamicRoute(page)\n const hasAmp = hybridAmpPages.has(page)\n const file = normalizePagePath(page)\n\n const pageInfo = pageInfos.get(page)\n const durationInfo = exportResult.byPage.get(page)\n if (pageInfo && durationInfo) {\n // Set Build Duration\n if (pageInfo.ssgPageRoutes) {\n pageInfo.ssgPageDurations = pageInfo.ssgPageRoutes.map(\n (pagePath) => {\n const duration = durationInfo.durationsByPath.get(pagePath)\n if (typeof duration === 'undefined') {\n throw new Error(\"Invariant: page wasn't built\")\n }\n\n return duration\n }\n )\n }\n pageInfo.pageDuration = durationInfo.durationsByPath.get(page)\n }\n\n // The dynamic version of SSG pages are only prerendered if the\n // fallback is enabled. Below, we handle the specific prerenders\n // of these.\n const hasHtmlOutput = !(isSsg && isDynamic && !isStaticSsgFallback)\n\n if (hasHtmlOutput) {\n await moveExportedPage(page, page, file, isSsg, 'html')\n }\n\n if (hasAmp && (!isSsg || (isSsg && !isDynamic))) {\n const ampPage = `${file}.amp`\n await moveExportedPage(page, ampPage, ampPage, isSsg, 'html')\n\n if (isSsg) {\n await moveExportedPage(page, ampPage, ampPage, isSsg, 'json')\n }\n }\n\n if (isSsg) {\n // For a non-dynamic SSG page, we must copy its data file\n // from export, we already moved the HTML file above\n if (!isDynamic) {\n await moveExportedPage(page, page, file, isSsg, 'json')\n\n if (i18n) {\n // TODO: do we want to show all locale variants in build output\n for (const locale of i18n.locales) {\n const localePage = `/${locale}${page === '/' ? '' : page}`\n\n const cacheControl = getCacheControl(localePage)\n\n prerenderManifest.routes[localePage] = {\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n experimentalPPR: undefined,\n renderingMode: undefined,\n srcRoute: null,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${file}.json`\n ),\n prefetchDataRoute: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n }\n } else {\n const cacheControl = getCacheControl(page)\n\n prerenderManifest.routes[page] = {\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n experimentalPPR: undefined,\n renderingMode: undefined,\n srcRoute: null,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${file}.json`\n ),\n // Pages does not have a prefetch data route.\n prefetchDataRoute: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n }\n if (pageInfo) {\n pageInfo.initialCacheControl = getCacheControl(page)\n }\n } else {\n // For a dynamic SSG page, we did not copy its data exports and only\n // copy the fallback HTML file (if present).\n // We must also copy specific versions of this page as defined by\n // `getStaticPaths` (additionalSsgPaths).\n for (const route of additionalPaths.get(page) ?? []) {\n const pageFile = normalizePagePath(route.pathname)\n await moveExportedPage(\n page,\n route.pathname,\n pageFile,\n isSsg,\n 'html',\n true\n )\n await moveExportedPage(\n page,\n route.pathname,\n pageFile,\n isSsg,\n 'json',\n true\n )\n\n if (hasAmp) {\n const ampPage = `${pageFile}.amp`\n await moveExportedPage(\n page,\n ampPage,\n ampPage,\n isSsg,\n 'html',\n true\n )\n await moveExportedPage(\n page,\n ampPage,\n ampPage,\n isSsg,\n 'json',\n true\n )\n }\n\n const cacheControl = getCacheControl(route.pathname)\n\n prerenderManifest.routes[route.pathname] = {\n initialRevalidateSeconds: cacheControl.revalidate,\n initialExpireSeconds: cacheControl.expire,\n experimentalPPR: undefined,\n renderingMode: undefined,\n srcRoute: page,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${normalizePagePath(route.pathname)}.json`\n ),\n // Pages does not have a prefetch data route.\n prefetchDataRoute: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n\n if (pageInfo) {\n pageInfo.initialCacheControl = cacheControl\n }\n }\n }\n }\n }\n\n // remove temporary export folder\n await fs.rm(outdir, { recursive: true, force: true })\n await writeManifest(pagesManifestPath, pagesManifest)\n })\n\n // As we may have modified the dynamicRoutes, we need to sort the\n // dynamic routes by page.\n routesManifest.dynamicRoutes = sortSortableRouteObjects(\n dynamicRoutes,\n (route) => ({\n // If the route is PPR enabled, and has an associated source page,\n // use it. Otherwise fallback to the page which should be the same.\n sourcePage: sourcePages.get(route.page) ?? route.page,\n page: route.page,\n })\n )\n\n // Now write the routes manifest out.\n await nextBuildSpan\n .traceChild('write-routes-manifest')\n .traceAsyncFn(() => writeManifest(routesManifestPath, routesManifest))\n }\n\n const postBuildSpinner = createSpinner('Finalizing page optimization')\n let buildTracesSpinner\n if (buildTracesPromise) {\n buildTracesSpinner = createSpinner('Collecting build traces')\n }\n\n // ensure the worker is not left hanging\n worker.end()\n\n const analysisEnd = process.hrtime(analysisBegin)\n telemetry.record(\n eventBuildOptimize(pagesPaths, {\n durationInSeconds: analysisEnd[0],\n staticPageCount: staticPages.size,\n staticPropsPageCount: ssgPages.size,\n serverPropsPageCount: serverPropsPages.size,\n ssrPageCount:\n pagesPaths.length -\n (staticPages.size + ssgPages.size + serverPropsPages.size),\n hasStatic404: useStaticPages404,\n hasReportWebVitals:\n namedExports?.includes('reportWebVitals') ?? false,\n rewritesCount: combinedRewrites.length,\n headersCount: headers.length,\n redirectsCount: redirects.length - 1, // reduce one for trailing slash\n headersWithHasCount: headers.filter((r: any) => !!r.has).length,\n rewritesWithHasCount: combinedRewrites.filter((r: any) => !!r.has)\n .length,\n redirectsWithHasCount: redirects.filter((r: any) => !!r.has).length,\n middlewareCount: hasMiddlewareFile ? 1 : 0,\n totalAppPagesCount,\n staticAppPagesCount,\n serverAppPagesCount,\n edgeRuntimeAppCount,\n edgeRuntimePagesCount,\n })\n )\n\n if (NextBuildContext.telemetryState) {\n const events = eventBuildFeatureUsage(\n NextBuildContext.telemetryState.usages\n )\n telemetry.record(events)\n telemetry.record(\n eventPackageUsedInGetServerSideProps(\n NextBuildContext.telemetryState.packagesUsedInServerSideProps\n )\n )\n const useCacheTracker = NextBuildContext.telemetryState.useCacheTracker\n\n for (const [key, value] of Object.entries(useCacheTracker)) {\n telemetry.record(\n eventBuildFeatureUsage([\n {\n featureName: key as UseCacheTrackerKey,\n invocationCount: value,\n },\n ])\n )\n }\n }\n\n if (ssgPages.size > 0 || appDir) {\n tbdPrerenderRoutes.forEach((tbdRoute) => {\n const normalizedRoute = normalizePagePath(tbdRoute)\n const dataRoute = path.posix.join(\n '/_next/data',\n buildId,\n `${normalizedRoute}.json`\n )\n\n prerenderManifest.dynamicRoutes[tbdRoute] = {\n routeRegex: normalizeRouteRegex(\n getNamedRouteRegex(tbdRoute, {\n prefixRouteKeys: false,\n }).re.source\n ),\n experimentalPPR: undefined,\n renderingMode: undefined,\n dataRoute,\n fallback: ssgBlockingFallbackPages.has(tbdRoute)\n ? null\n : ssgStaticFallbackPages.has(tbdRoute)\n ? `${normalizedRoute}.html`\n : false,\n fallbackRevalidate: undefined,\n fallbackExpire: undefined,\n fallbackSourceRoute: undefined,\n fallbackRootParams: undefined,\n fallbackRouteParams: undefined,\n dataRouteRegex: normalizeRouteRegex(\n getNamedRouteRegex(dataRoute, {\n prefixRouteKeys: true,\n includeSuffix: true,\n excludeOptionalTrailingSlash: true,\n }).re.source\n ),\n // Pages does not have a prefetch data route.\n prefetchDataRoute: undefined,\n prefetchDataRouteRegex: undefined,\n allowHeader: ALLOWED_HEADERS,\n }\n })\n\n NextBuildContext.previewModeId = previewProps.previewModeId\n NextBuildContext.fetchCacheKeyPrefix =\n config.experimental.fetchCacheKeyPrefix\n NextBuildContext.allowedRevalidateHeaderKeys =\n config.experimental.allowedRevalidateHeaderKeys\n\n await writePrerenderManifest(distDir, prerenderManifest)\n await writeClientSsgManifest(prerenderManifest, {\n distDir,\n buildId,\n locales: config.i18n?.locales,\n })\n } else {\n await writePrerenderManifest(distDir, {\n version: 4,\n routes: {},\n dynamicRoutes: {},\n preview: previewProps,\n notFoundRoutes: [],\n })\n }\n\n await writeImagesManifest(distDir, config)\n await writeManifest(path.join(distDir, EXPORT_MARKER), {\n version: 1,\n hasExportPathMap: typeof config.exportPathMap === 'function',\n exportTrailingSlash: config.trailingSlash === true,\n isNextImageImported: isNextImageImported === true,\n })\n await fs.unlink(path.join(distDir, EXPORT_DETAIL)).catch((err) => {\n if (err.code === 'ENOENT') {\n return Promise.resolve()\n }\n return Promise.reject(err)\n })\n\n if (Boolean(config.experimental.nextScriptWorkers)) {\n await nextBuildSpan\n .traceChild('verify-partytown-setup')\n .traceAsyncFn(async () => {\n await verifyPartytownSetup(\n dir,\n path.join(distDir, CLIENT_STATIC_FILES_PATH)\n )\n })\n }\n\n await buildTracesPromise\n\n if (buildTracesSpinner) {\n buildTracesSpinner.stopAndPersist()\n buildTracesSpinner = undefined\n }\n\n if (isCompileMode) {\n Log.info(\n `Build ran with \"compile\" mode, to finalize the build run either \"generate\" or \"generate-env\" mode as well`\n )\n }\n\n if (config.output === 'export') {\n await writeFullyStaticExport(\n config,\n dir,\n enabledDirectories,\n configOutDir,\n nextBuildSpan,\n appDirOnly\n )\n }\n\n if (config.experimental.adapterPath) {\n await handleBuildComplete({\n dir,\n distDir,\n config,\n staticPages,\n nextVersion: process.env.__NEXT_VERSION as string,\n tracingRoot: outputFileTracingRoot,\n hasNodeMiddleware,\n hasInstrumentationHook,\n adapterPath: config.experimental.adapterPath,\n pageKeys: pageKeys.pages,\n appPageKeys: denormalizedAppPages,\n routesManifest,\n prerenderManifest,\n middlewareManifest,\n functionsConfigManifest,\n hasStatic404: useStaticPages404,\n requiredServerFiles: requiredServerFilesManifest.files,\n })\n }\n\n if (config.output === 'standalone') {\n await writeStandaloneDirectory(\n nextBuildSpan,\n distDir,\n pageKeys,\n denormalizedAppPages,\n outputFileTracingRoot,\n requiredServerFilesManifest,\n middlewareManifest,\n hasNodeMiddleware,\n hasInstrumentationHook,\n staticPages,\n loadedEnvFiles,\n appDir\n )\n }\n\n if (postBuildSpinner) postBuildSpinner.stopAndPersist()\n console.log()\n\n if (debugOutput) {\n nextBuildSpan\n .traceChild('print-custom-routes')\n .traceFn(() => printCustomRoutes({ redirects, rewrites, headers }))\n }\n\n await nextBuildSpan.traceChild('print-tree-view').traceAsyncFn(() =>\n printTreeView(pageKeys, pageInfos, {\n distPath: distDir,\n buildId: buildId,\n pagesDir,\n useStaticPages404,\n pageExtensions: config.pageExtensions,\n appBuildManifest,\n buildManifest,\n middlewareManifest,\n gzipSize: config.experimental.gzipSize,\n })\n )\n\n await nextBuildSpan\n .traceChild('telemetry-flush')\n .traceAsyncFn(() => telemetry.flush())\n\n await shutdownPromise\n })\n } catch (e) {\n const telemetry: Telemetry | undefined = traceGlobals.get('telemetry')\n if (telemetry) {\n telemetry.record(\n eventBuildFailed({\n bundler: getBundlerForTelemetry(isTurbopack),\n errorCode: getErrorCodeForTelemetry(e),\n durationInSeconds: Math.floor((Date.now() - buildStartTime) / 1000),\n })\n )\n }\n throw e\n } finally {\n // Ensure we wait for lockfile patching if present\n await lockfilePatchPromise.cur\n\n // Ensure all traces are flushed before finishing the command\n await flushAllTraces()\n teardownTraceSubscriber()\n\n if (traceUploadUrl && loadedConfig) {\n uploadTrace({\n traceUploadUrl,\n mode: 'build',\n projectDir: dir,\n distDir: loadedConfig.distDir,\n isTurboSession: isTurbopack,\n sync: true,\n })\n }\n }\n}\n\nfunction errorFromUnsupportedSegmentConfig(): never {\n Log.error(\n `Invalid segment configuration export detected. This can cause unexpected behavior from the configs not being applied. You should see the relevant failures in the logs above. Please fix them to continue.`\n )\n process.exit(1)\n}\n\nfunction getBundlerForTelemetry(isTurbopack: boolean) {\n if (isTurbopack) {\n return 'turbopack'\n }\n\n if (process.env.NEXT_RSPACK) {\n return 'rspack'\n }\n\n return 'webpack'\n}\n\nfunction getErrorCodeForTelemetry(err: unknown) {\n const code = extractNextErrorCode(err)\n if (code != null) {\n return code\n }\n\n if (err instanceof Error && 'code' in err && typeof err.code === 'string') {\n return err.code\n }\n\n if (err instanceof Error) {\n return err.name\n }\n\n return 'Unknown'\n}\n"],"names":["createStaticWorker","build","ALLOWED_HEADERS","MATCHED_PATH_HEADER","PRERENDER_REVALIDATE_HEADER","PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER","NEXT_CACHE_REVALIDATED_TAGS_HEADER","NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER","pageToRoute","page","sourcePage","routeRegex","getNamedRouteRegex","prefixRouteKeys","regex","normalizeRouteRegex","re","source","routeKeys","namedRegex","getCacheDir","distDir","cacheDir","path","join","ciEnvironment","isCI","hasNextSupport","hasCache","existsSync","console","log","Log","prefixes","warn","writeFileUtf8","filePath","content","fs","writeFile","readFileUtf8","readFile","writeManifest","manifest","formatManifest","readManifest","JSON","parse","writePrerenderManifest","PRERENDER_MANIFEST","writeClientSsgManifest","prerenderManifest","buildId","locales","ssgPages","Set","Object","entries","routes","filter","srcRoute","map","route","normalizeLocalePath","pathname","keys","dynamicRoutes","sort","clientSsgManifestContent","devalue","CLIENT_STATIC_FILES_PATH","writeFunctionsConfigManifest","SERVER_DIRECTORY","FUNCTIONS_CONFIG_MANIFEST","writeRequiredServerFilesManifest","requiredServerFiles","SERVER_FILES_MANIFEST","writeImagesManifest","config","images","deviceSizes","imageSizes","sizes","remotePatterns","p","protocol","replace","hostname","makeRe","port","dot","search","localPatterns","IMAGES_MANIFEST","version","STANDALONE_DIRECTORY","writeStandaloneDirectory","nextBuildSpan","pageKeys","denormalizedAppPages","outputFileTracingRoot","middlewareManifest","hasNodeMiddleware","hasInstrumentationHook","staticPages","loadedEnvFiles","appDir","traceChild","traceAsyncFn","copyTracedFiles","pages","file","files","reduce","acc","envFile","includes","push","outputPath","relative","mkdir","dirname","recursive","copyFile","middlewareOutput","recursiveCopy","overwrite","originalServerApp","getNumberOfWorkers","experimental","cpus","defaultConfig","memoryBasedWorkersCount","Math","max","min","floor","os","freemem","staticWorkerPath","require","resolve","staticWorkerExposedMethods","options","debuggerPortOffset","progress","Worker","logger","numWorkers","onActivity","run","onActivityAbort","clear","enableSourceMaps","enablePrerenderSourceMaps","isolatedMemory","enableWorkerThreads","workerThreads","exposedMethods","writeFullyStaticExport","dir","enabledDirectories","configOutDir","appDirOnly","exportApp","default","buildExport","nextConfig","silent","outdir","getBuildId","isGenerateMode","generateBuildId","nanoid","reactProductionProfiling","debugOutput","debugPrerender","runLint","noMangling","isTurbopack","experimentalBuildMode","traceUploadUrl","isCompileMode","NextBuildContext","buildStartTime","Date","now","loadedConfig","trace","undefined","buildMode","isTurboBuild","String","process","env","__NEXT_VERSION","mappedPages","traceFn","loadEnvConfig","turborepoAccessTraceResult","TurborepoAccessTraceResult","turborepoTraceAccess","loadConfig","PHASE_PRODUCTION_BUILD","NEXT_DEPLOYMENT_ID","deploymentId","hasCustomExportOutput","setGlobal","exit","info","inlineStaticEnv","flushAllTraces","teardownTraceSubscriber","populateStaticEnv","customRoutes","loadCustomRoutes","headers","rewrites","redirects","combinedRewrites","beforeFiles","afterFiles","fallback","hasRewrites","length","originalRewrites","_originalRewrites","originalRedirects","_originalRedirects","telemetry","Telemetry","publicDir","pagesDir","findPagesDir","app","encryptionKey","generateEncryptionKeyBase64","isBuild","isSrcDir","startsWith","hasPublicDir","record","eventCliSession","webpackVersion","cliCommand","hasNowJson","findUp","cwd","isCustomServer","turboFlag","eventNextPlugins","then","events","eventSwcPlugins","envInfo","experimentalFeatures","getStartServerInfo","dev","logStartInfo","networkUrl","appUrl","logBundler","ignoreESLint","Boolean","eslint","ignoreDuringBuilds","shouldLint","typeCheckingOptions","distDirCreated","err","isError","code","isWriteable","Error","cleanDistDir","recursiveDelete","error","flush","buildLintEvent","featureName","invocationCount","eventName","EVENT_BUILD_FEATURE_USAGE","payload","validFileMatcher","createValidFileMatcher","pageExtensions","providedPagePaths","NEXT_PRIVATE_PAGE_PATHS","pagesPaths","collectPagesFiles","middlewareDetectionRegExp","RegExp","MIDDLEWARE_FILENAME","instrumentationHookDetectionRegExp","INSTRUMENTATION_HOOK_FILENAME","rootDir","rootPaths","Array","from","getFilesInDir","some","include","test","sortByPageExts","hasMiddlewareFile","previewProps","generatePreviewKeys","createPagesMapping","isDev","pagesType","PAGE_TYPES","PAGES","pagePaths","mappedAppPages","mappedAppLayouts","providedAppPaths","NEXT_PRIVATE_APP_PATHS","appPaths","layoutPaths","result","collectAppFiles","APP","mappedRootPaths","ROOT","pagesPageKeys","conflictingAppPagePaths","appPageKeys","appKey","normalizedAppPageKey","normalizeAppPath","pagePath","appPath","add","generateInterceptionRoutesRewrites","basePath","totalAppPagesCount","routeTypesFilePath","validatorFilePath","appRoutes","appRouteHandlers","layoutRoutes","slots","pageRoutes","pageApiRoutes","processPageRoutes","slotsFromPages","extractSlotsFromAppRoutes","slotsFromDefaults","defaultPaths","mappedDefaultFiles","extractSlotsFromDefaultFiles","combineSlots","processAppRoutes","processLayoutRoutes","routeTypesManifest","createRouteTypesManifest","writeRouteTypesManifest","writeValidatorFile","numConflictingAppPaths","conflictingPublicFiles","hasPages404","PAGES_DIR_ALIAS","hasApp404","UNDERSCORE_NOT_FOUND_ROUTE_ENTRY","hasAppGlobalError","UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY","hasCustomErrorPage","hasUserPagesRoutes","isReservedPage","hasPublicUnderScoreNextDir","PUBLIC_DIR_MIDDLEWARE_CONFLICT","hasPublicPageFile","fileExists","FileType","File","numConflicting","nestedReservedPages","match","restrictedRedirectPaths","isAppCacheComponentsEnabled","cacheComponents","isAuthInterruptsEnabled","authInterrupts","isAppPPREnabled","checkIsAppPPREnabled","ppr","routesManifestPath","ROUTES_MANIFEST","sourcePages","Map","routesManifest","sortedRoutes","sortPages","staticRoutes","isDynamicRoute","pages404","caseSensitive","caseSensitiveRoutes","r","buildCustomRoute","dataRoutes","i18n","rsc","header","RSC_HEADER","varyHeader","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER","prefetchHeader","didPostponeHeader","NEXT_DID_POSTPONE_HEADER","contentTypeHeader","RSC_CONTENT_TYPE_HEADER","suffix","RSC_SUFFIX","prefetchSuffix","RSC_PREFETCH_SUFFIX","prefetchSegmentHeader","prefetchSegmentSuffix","RSC_SEGMENT_SUFFIX","prefetchSegmentDirSuffix","RSC_SEGMENTS_DIR_SUFFIX","clientParamParsing","clientParamParsingOrigins","dynamicRSCPrerender","rdcForNavigations","rewriteHeaders","pathHeader","NEXT_REWRITTEN_PATH_HEADER","queryHeader","NEXT_REWRITTEN_QUERY_HEADER","skipMiddlewareUrlNormalize","chain","NEXT_RESUME_HEADER","startTypeChecking","clientRouterFilters","clientRouterFilter","nonInternalRedirects","internal","createClientRouterFilter","clientRouterFilterRedirects","clientRouterFilterAllowedRate","recordFrameworkVersion","updateBuildDiagnostics","buildStage","pagesManifestPath","PAGES_MANIFEST","buildTraceContext","buildTracesPromise","useBuildWorker","webpackBuildWorker","webpack","runServerAndEdgeInParallel","parallelServerCompiles","collectServerBuildTracesInParallel","parallelServerBuildTraces","setAttribute","traceMemoryUsage","buildOptions","shutdownPromise","Promise","duration","compilerDuration","rest","turbopackBuild","NEXT_TURBOPACK_USE_WORKER","durationString","durationToString","event","eventBuildCompleted","bundler","durationInSeconds","round","serverBuildPromise","webpackBuild","res","buildTraceWorker","collectBuildTraces","edgeRuntimeRoutes","collectRoutesUsingEdgeRuntime","hasSsrAmpPages","catch","edgeBuildPromise","getBundlerForTelemetry","runAfterProductionCompile","buildSpan","metadata","projectDir","postCompileSpinner","createSpinner","buildManifestPath","BUILD_MANIFEST","appBuildManifestPath","APP_BUILD_MANIFEST","staticAppPagesCount","serverAppPagesCount","edgeRuntimeAppCount","edgeRuntimePagesCount","ssgStaticFallbackPages","ssgBlockingFallbackPages","invalidPages","hybridAmpPages","serverPropsPages","additionalPaths","staticPaths","appNormalizedPaths","fallbackModes","appDefaultConfigs","pageInfos","pagesManifest","buildManifest","appBuildManifest","appPathRoutes","appPathsManifest","APP_PATHS_MANIFEST","key","APP_PATH_ROUTES_MANIFEST","NEXT_PHASE","worker","analysisBegin","hrtime","staticCheckSpan","functionsConfigManifest","functions","customAppGetInitialProps","namedExports","isNextImageImported","hasNonStaticErrorPage","configFileName","publicRuntimeConfig","serverRuntimeConfig","runtimeEnvConfig","sriEnabled","sri","algorithm","nonStaticErrorPageSpan","errorPageHasCustomGetInitialProps","hasCustomGetInitialProps","checkingApp","errorPageStaticResult","isPageStatic","httpAgentOptions","defaultLocale","nextConfigOutput","output","pprConfig","cacheLifeProfiles","cacheLife","appPageToCheck","customAppGetInitialPropsPromise","namedExportsPromise","getDefinedNamedExports","computedManifestData","computeFromManifest","gzipSize","MIDDLEWARE_MANIFEST","actionManifest","SERVER_REFERENCE_MANIFEST","entriesWithAction","id","node","entry","workers","edge","all","pageType","checkPageSpan","actualPage","normalizePagePath","size","totalSize","getJsPageSizeInKb","isRoutePPREnabled","isSSG","isStatic","isServerComponent","isHybridAmp","ssgPageRoutes","find","normalizePathSep","originalAppPath","originalPath","normalizedPath","pageFilePath","isAppBuiltinPage","isInsideAppDir","staticInfo","getStaticInfoIncludingLayouts","hadUnsupportedValue","errorFromUnsupportedSegmentConfig","runtime","maxDuration","preferredRegion","regions","pageRuntime","RSC_MODULE_TYPES","client","edgeInfo","isEdgeRuntime","manifestKey","isPageStaticSpan","workerResult","parentId","getId","cacheHandler","cacheHandlers","isrFlushToDisk","maxMemoryCacheSize","cacheMaxMemorySize","set","warnOnce","isDynamic","prerenderedRoutes","appConfig","revalidate","hasGenerateStaticParams","params","encodedPathname","fallbackRouteParams","fallbackMode","prerenderFallbackMode","fallbackRootParams","throwOnEmptyStaticShell","dynamic","hasStaticProps","isAmpOnly","FallbackMode","BLOCKING_STATIC_RENDER","PRERENDER","hasServerProps","STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR","delete","STATIC_STATUS_PAGES","message","initialCacheControl","pageDuration","ssgPageDurations","hasEmptyStaticShell","errorPageResult","nonStaticErrorPage","returnValue","stopAndPersist","bold","yellow","instrumentationHookEntryFiles","requiredServerFilesManifest","normalizedCacheHandlers","value","serverFilesManifest","configFile","compress","trustHostHeader","isExperimentalCompile","relativeAppDir","MIDDLEWARE_BUILD_MANIFEST","MIDDLEWARE_REACT_LOADABLE_MANIFEST","REACT_LOADABLE_MANIFEST","SUBRESOURCE_INTEGRITY_MANIFEST","DYNAMIC_CSS_MANIFEST","BUILD_ID_FILE","NEXT_FONT_MANIFEST","nonNullable","ignore","middlewareFile","matchers","middleware","regexp","originalSource","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","buildDataRoute","useStaticPages404","pg","writeBuildId","optimizeCss","globOrig","cssFilePaths","reject","features","nextScriptWorkers","isPersistentCachingEnabled","feature","notFoundRoutes","preview","tbdPrerenderRoutes","usedStaticStatusPages","forEach","has","hasPages500","useDefaultStatic500","combinedPages","isApp404Static","hasStaticApp404","isAppGlobalErrorStatic","hasStaticAppGlobalError","staticGenerationSpan","detectConflictingPaths","exportConfig","exportPathMap","defaultMap","_pagesFallback","_ssgPath","get","isDynamicError","checkIsRoutePPREnabled","clientSegmentCache","_fallbackRouteParams","_isDynamicError","_isAppDir","_isRoutePPREnabled","_allowEmptyStaticShell","isSsg","isFallback","locale","_locale","exportResult","statusMessage","getFallbackMode","byPath","NOT_FOUND","getCacheControl","exportPath","defaultRevalidate","cacheControl","expire","expireTime","NEXT_SSG_FETCH_METRICS","recordFetchMetrics","writeTurborepoAccessTraceResult","traces","turborepoAccessTraceResults","values","ssgNotFoundPaths","serverBundle","getPagePath","unlink","InvariantError","hasRevalidateZero","isAppRouteHandler","isAppRouteRoute","htmlBotsRegexString","htmlLimitedBots","HTML_LIMITED_BOT_UA_RE_STRING","bypassFor","type","ACTION_HEADER","staticPrerenderedRoutes","dynamicPrerenderedRoutes","unsortedUnknownPrerenderRoutes","unsortedKnownPrerenderRoutes","prerenderedRoute","sortedUnknownPrerenderRoutes","sortPageObjects","sortedKnownPrerenderRoutes","hasPostponed","normalizedRoute","dataRoute","posix","prefetchDataRoute","meta","collectMeta","status","UNDERSCORE_NOT_FOUND_ROUTE","initialStatus","initialHeaders","renderingMode","RenderingMode","PARTIALLY_STATIC","STATIC","experimentalPPR","experimentalBypassFor","initialRevalidateSeconds","initialExpireSeconds","allowHeader","dynamicRoute","skipInternalRouting","segmentPaths","pageSegmentPath","item","endsWith","builtSegmentDataRoute","buildPrefetchSegmentDataRoute","destination","prefetchSegmentDataRoutes","hasFallbackRootParams","buildInversePrefetchSegmentDataRoute","isDynamicAppRoute","fallbackCacheControl","fallbackModeToFallbackField","fallbackRevalidate","fallbackExpire","fallbackStatus","fallbackHeaders","fallbackSourceRoute","dataRouteRegex","includeSuffix","excludeOptionalTrailingSlash","prefetchDataRouteRegex","moveExportedPage","originPage","ext","additionalSsgFile","orig","relativeDest","slice","split","dest","isNotFound","rename","localeExt","extname","relativeDestNoPages","curPath","updatedRelativeDest","updatedOrig","updatedDest","moveExportedAppNotFoundTo404","moveExportedAppGlobalErrorTo500","error500Html","isStaticSsgFallback","hasAmp","pageInfo","durationInfo","byPage","durationsByPath","hasHtmlOutput","ampPage","localePage","pageFile","rm","force","sortSortableRouteObjects","postBuildSpinner","buildTracesSpinner","end","analysisEnd","eventBuildOptimize","staticPageCount","staticPropsPageCount","serverPropsPageCount","ssrPageCount","hasStatic404","hasReportWebVitals","rewritesCount","headersCount","redirectsCount","headersWithHasCount","rewritesWithHasCount","redirectsWithHasCount","middlewareCount","telemetryState","eventBuildFeatureUsage","usages","eventPackageUsedInGetServerSideProps","packagesUsedInServerSideProps","useCacheTracker","tbdRoute","previewModeId","fetchCacheKeyPrefix","allowedRevalidateHeaderKeys","EXPORT_MARKER","hasExportPathMap","exportTrailingSlash","trailingSlash","EXPORT_DETAIL","verifyPartytownSetup","adapterPath","handleBuildComplete","nextVersion","tracingRoot","printCustomRoutes","printTreeView","distPath","e","traceGlobals","eventBuildFailed","errorCode","getErrorCodeForTelemetry","lockfilePatchPromise","cur","uploadTrace","mode","isTurboSession","sync","NEXT_RSPACK","extractNextErrorCode","name"],"mappings":"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","ignoreList":[0]}
|