next 15.4.2-canary.17 → 15.4.2-canary.18
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/index.js +19 -29
- package/dist/build/index.js.map +1 -1
- package/dist/build/swc/index.js +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/@vercel/og/emoji/index.d.ts +15 -0
- package/dist/compiled/@vercel/og/figma/index.d.ts +7 -0
- package/dist/compiled/@vercel/og/index.edge.d.ts +5 -9
- package/dist/compiled/@vercel/og/index.edge.js +2587 -3024
- package/dist/compiled/@vercel/og/index.node.d.ts +7 -10
- package/dist/compiled/@vercel/og/index.node.js +2585 -3022
- package/dist/compiled/@vercel/og/language/index.d.ts +28 -0
- package/dist/compiled/@vercel/og/og.d.ts +1 -0
- package/dist/compiled/@vercel/og/package.json +1 -1
- package/dist/compiled/@vercel/og/satori/index.d.ts +4 -1
- package/dist/compiled/@vercel/og/types.d.ts +118 -0
- package/dist/compiled/@vercel/og/yoga.wasm +0 -0
- package/dist/compiled/next-server/pages-api-turbo.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/pages-api.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-api.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/pages.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages.runtime.dev.js.map +1 -1
- package/dist/esm/build/index.js +20 -30
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/swc/index.js +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/export/routes/app-page.js +4 -2
- package/dist/esm/export/routes/app-page.js.map +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/export/routes/app-page.js +4 -2
- package/dist/export/routes/app-page.js.map +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/shared/lib/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/server.d.ts +1 -1
- package/dist/compiled/@vercel/og/types-d38469ff.d.ts +0 -74
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 UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,\n UNDERSCORE_NOT_FOUND_ROUTE,\n DYNAMIC_CSS_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n} from '../shared/lib/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 getStaticInfoIncludingLayouts,\n sortByPageExts,\n} from './entries'\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 isAppBuiltinNotFoundPage,\n collectRoutesUsingEdgeRuntime,\n collectMeta,\n} from './utils'\nimport type { PageInfo, PageInfos } from './utils'\nimport type { 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 { recursiveReadDir } from '../lib/recursive-readdir'\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'\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 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 enum RouteType {\n /**\n * `PAGES` represents all the React pages that are under `pages/`.\n */\n PAGES = 'PAGES',\n /**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */\n PAGES_API = 'PAGES_API',\n /**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */\n APP_PAGE = 'APP_PAGE',\n /**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */\n APP_ROUTE = 'APP_ROUTE',\n\n /**\n * `IMAGE` represents all the images that are generated by `next/image`.\n */\n // IMAGE = 'IMAGE',\n\n /**\n * `STATIC_FILE` represents a static file (ie /_next/static)\n */\n STATIC_FILE = 'STATIC_FILE',\n\n MIDDLEWARE = 'MIDDLEWARE',\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 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 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): 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 },\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 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(dir, 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 })\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 // For app directory, we run type checking after build. That's because\n // we dynamically generate types for each layout and page in the app\n // directory.\n if (!appDir && !isCompileMode)\n await startTypeChecking(typeCheckingOptions)\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.traceChild('collect-pages').traceAsyncFn(() =>\n recursiveReadDir(pagesDir, {\n pathnameFilter: validFileMatcher.isPageFile,\n })\n )\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 })\n )\n NextBuildContext.mappedPages = mappedPages\n\n let mappedAppPages: 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 = Boolean(process.env.NEXT_PRIVATE_APP_PATHS)\n ? providedAppPaths\n : await nextBuildSpan\n .traceChild('collect-app-paths')\n .traceAsyncFn(() =>\n recursiveReadDir(appDir, {\n pathnameFilter: (absolutePath) =>\n validFileMatcher.isAppRouterPage(absolutePath) ||\n // For now we only collect the root /not-found page in the app\n // directory as the 404 fallback\n validFileMatcher.isRootNotFound(absolutePath),\n ignorePartFilter: (part) => part.startsWith('_'),\n })\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 })\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 })\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 // 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 hasCustomErrorPage =\n mappedPages['/_error'].startsWith(PAGES_DIR_ALIAS)\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 },\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 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 isTurbopack: false,\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: true,\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 = worker.hasCustomGetInitialProps(\n {\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n checkingApp: true,\n sriEnabled,\n }\n )\n\n const namedExportsPromise = worker.getDefinedNamedExports({\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n sriEnabled,\n })\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 = isAppBuiltinNotFoundPage(pagePath)\n ? require.resolve(\n 'next/dist/client/components/builtin/not-found'\n )\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 (!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 isTurbopack: true,\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 = 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\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) {\n defaultMap['/404'] = {\n page: hasPages404 ? '/404' : '/_error',\n }\n }\n\n if (useDefaultStatic500) {\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 if (\n route.fallbackRootParams &&\n route.fallbackRootParams.length > 0\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 },\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 // TODO: check if still needed?\n // Exclude the /_not-found route.\n if (prerenderedRoute.pathname === UNDERSCORE_NOT_FOUND_ROUTE) {\n continue\n }\n\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 if (route.pathname === UNDERSCORE_NOT_FOUND_ROUTE) 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 | undefined\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 (!isAppRouteHandler && isAppPPREnabled) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\n )\n }\n\n const meta = collectMeta(metadata)\n\n prerenderManifest.routes[route.pathname] = {\n initialStatus: meta.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 | undefined\n let dynamicRoute = routesManifest.dynamicRoutes.find(\n (r) => r.page === route.pathname\n )\n if (!isAppRouteHandler && isAppPPREnabled) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\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 (!isAppRouteHandler && metadata?.segmentPaths) {\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 dynamicRoute.prefetchSegmentDataRoutes ??= []\n for (const segmentPath of metadata.segmentPaths) {\n dynamicRoute.prefetchSegmentDataRoutes.push(\n buildPrefetchSegmentDataRoute(route.pathname, segmentPath)\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: route.fallbackRouteParams?.length\n ? page\n : undefined,\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 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 // 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 (!hasPages404 && !hasApp404 && useStaticPages404) {\n await moveExportedPage('/_error', '/404', '/404', false, 'html')\n }\n }\n\n if (useDefaultStatic500) {\n await moveExportedPage('/_error', '/500', '/500', false, 'html')\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 if (config.experimental.clientSegmentCache) {\n for (const route of [\n ...routesManifest.staticRoutes,\n ...routesManifest.dynamicRoutes,\n ]) {\n // If the segment paths aren't defined, we need to insert a\n // reverse routing rule so that there isn't any conflicts\n // with other dynamic routes for the prefetch segment\n // routes. This is true for any route that is not PPR-enabled,\n // including all routes defined by Pages Router.\n\n // We don't need to add the prefetch segment data routes if it was\n // added due to a page that was already generated. This would have\n // happened if the page was static or partially static.\n if (route.prefetchSegmentDataRoutes) {\n continue\n }\n\n route.prefetchSegmentDataRoutes = [\n buildInversePrefetchSegmentDataRoute(\n route.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\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 = createSpinner(`Collecting build traces`)\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 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 )\n }\n\n if (config.experimental.adapterPath) {\n await handleBuildComplete({\n dir,\n distDir,\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 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 if (isTurbopack && !process.env.__NEXT_TEST_MODE) {\n warnAboutTurbopackBuilds(loadedConfig)\n }\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 warnAboutTurbopackBuilds(config?: NextConfigComplete) {\n let warningStr =\n `Support for Turbopack builds is experimental. ` +\n bold(\n `We don't recommend deploying mission-critical applications to production.`\n )\n warningStr +=\n '\\n\\n- ' +\n bold(\n 'Turbopack currently always builds production source maps for the browser. This will include project source code if deployed to production.'\n )\n warningStr +=\n '\\n- It is expected that your bundle size might be different from `next build` with webpack. This will be improved as we work towards stability.'\n\n if (!config?.experimental.turbopackPersistentCaching) {\n warningStr +=\n '\\n- This build is without disk caching; subsequent builds will become faster when disk caching becomes available.'\n }\n\n warningStr +=\n '\\n- When comparing output to webpack builds, make sure to first clear the Next.js cache by deleting the `.next` directory.'\n warningStr +=\n '\\n\\nProvide feedback for Turbopack builds at https://github.com/vercel/next.js/discussions/77721'\n\n Log.warn(warningStr)\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":["RouteType","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","exportApp","default","buildExport","nextConfig","silent","outdir","getBuildId","isGenerateMode","generateBuildId","nanoid","reactProductionProfiling","debugOutput","debugPrerender","runLint","noMangling","appDirOnly","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","ignoreESLint","Boolean","eslint","ignoreDuringBuilds","shouldLint","typeCheckingOptions","distDirCreated","err","isError","code","isWriteable","Error","cleanDistDir","recursiveDelete","startTypeChecking","error","flush","buildLintEvent","featureName","invocationCount","eventName","EVENT_BUILD_FEATURE_USAGE","payload","validFileMatcher","createValidFileMatcher","pageExtensions","providedPagePaths","NEXT_PRIVATE_PAGE_PATHS","pagesPaths","recursiveReadDir","pathnameFilter","isPageFile","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","providedAppPaths","NEXT_PRIVATE_APP_PATHS","appPaths","absolutePath","isAppRouterPage","isRootNotFound","ignorePartFilter","part","APP","mappedRootPaths","ROOT","pagesPageKeys","conflictingAppPagePaths","appPageKeys","appKey","normalizedAppPageKey","normalizeAppPath","pagePath","appPath","add","generateInterceptionRoutesRewrites","basePath","totalAppPagesCount","numConflictingAppPaths","conflictingPublicFiles","hasPages404","PAGES_DIR_ALIAS","hasApp404","UNDERSCORE_NOT_FOUND_ROUTE_ENTRY","hasCustomErrorPage","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","isReservedPage","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","rewriteHeaders","pathHeader","NEXT_REWRITTEN_PATH_HEADER","queryHeader","NEXT_REWRITTEN_QUERY_HEADER","skipMiddlewareUrlNormalize","chain","NEXT_RESUME_HEADER","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","isAppBuiltinNotFoundPage","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","staticGenerationSpan","detectConflictingPaths","exportConfig","exportPathMap","defaultMap","_pagesFallback","_ssgPath","get","isDynamicError","checkIsRoutePPREnabled","_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","UNDERSCORE_NOT_FOUND_ROUTE","hasPostponed","normalizedRoute","dataRoute","posix","prefetchDataRoute","meta","collectMeta","initialStatus","status","initialHeaders","renderingMode","RenderingMode","PARTIALLY_STATIC","STATIC","experimentalPPR","experimentalBypassFor","initialRevalidateSeconds","initialExpireSeconds","allowHeader","dynamicRoute","skipInternalRouting","segmentPaths","prefetchSegmentDataRoutes","segmentPath","buildPrefetchSegmentDataRoute","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","isStaticSsgFallback","hasAmp","pageInfo","durationInfo","byPage","durationsByPath","hasHtmlOutput","ampPage","localePage","pageFile","rm","force","clientSegmentCache","buildInversePrefetchSegmentDataRoute","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","tracingRoot","printCustomRoutes","printTreeView","distPath","e","traceGlobals","eventBuildFailed","errorCode","getErrorCodeForTelemetry","lockfilePatchPromise","cur","__NEXT_TEST_MODE","warnAboutTurbopackBuilds","uploadTrace","mode","isTurboSession","sync","warningStr","turbopackPersistentCaching","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 UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,\n UNDERSCORE_NOT_FOUND_ROUTE,\n DYNAMIC_CSS_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n} from '../shared/lib/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 getStaticInfoIncludingLayouts,\n sortByPageExts,\n} from './entries'\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 isAppBuiltinNotFoundPage,\n collectRoutesUsingEdgeRuntime,\n collectMeta,\n} from './utils'\nimport type { PageInfo, PageInfos } from './utils'\nimport type { 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 { recursiveReadDir } from '../lib/recursive-readdir'\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 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'\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 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 enum RouteType {\n /**\n * `PAGES` represents all the React pages that are under `pages/`.\n */\n PAGES = 'PAGES',\n /**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */\n PAGES_API = 'PAGES_API',\n /**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */\n APP_PAGE = 'APP_PAGE',\n /**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */\n APP_ROUTE = 'APP_ROUTE',\n\n /**\n * `IMAGE` represents all the images that are generated by `next/image`.\n */\n // IMAGE = 'IMAGE',\n\n /**\n * `STATIC_FILE` represents a static file (ie /_next/static)\n */\n STATIC_FILE = 'STATIC_FILE',\n\n MIDDLEWARE = 'MIDDLEWARE',\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 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 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): 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 },\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 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(dir, 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 })\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 // For app directory, we run type checking after build. That's because\n // we dynamically generate types for each layout and page in the app\n // directory.\n if (!appDir && !isCompileMode)\n await startTypeChecking(typeCheckingOptions)\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.traceChild('collect-pages').traceAsyncFn(() =>\n recursiveReadDir(pagesDir, {\n pathnameFilter: validFileMatcher.isPageFile,\n })\n )\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 })\n )\n NextBuildContext.mappedPages = mappedPages\n\n let mappedAppPages: 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 = Boolean(process.env.NEXT_PRIVATE_APP_PATHS)\n ? providedAppPaths\n : await nextBuildSpan\n .traceChild('collect-app-paths')\n .traceAsyncFn(() =>\n recursiveReadDir(appDir, {\n pathnameFilter: (absolutePath) =>\n validFileMatcher.isAppRouterPage(absolutePath) ||\n // For now we only collect the root /not-found page in the app\n // directory as the 404 fallback\n validFileMatcher.isRootNotFound(absolutePath),\n ignorePartFilter: (part) => part.startsWith('_'),\n })\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 })\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 })\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 // 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 hasCustomErrorPage =\n mappedPages['/_error'].startsWith(PAGES_DIR_ALIAS)\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 },\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 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 isTurbopack: false,\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: true,\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 = worker.hasCustomGetInitialProps(\n {\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n checkingApp: true,\n sriEnabled,\n }\n )\n\n const namedExportsPromise = worker.getDefinedNamedExports({\n page: appPageToCheck,\n distDir,\n runtimeEnvConfig,\n sriEnabled,\n })\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 = isAppBuiltinNotFoundPage(pagePath)\n ? require.resolve(\n 'next/dist/client/components/builtin/not-found'\n )\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 (!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 isTurbopack: true,\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 = 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\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) {\n defaultMap['/404'] = {\n page: hasPages404 ? '/404' : '/_error',\n }\n }\n\n if (useDefaultStatic500) {\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 if (\n route.fallbackRootParams &&\n route.fallbackRootParams.length > 0\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 },\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 // TODO: check if still needed?\n // Exclude the /_not-found route.\n if (prerenderedRoute.pathname === UNDERSCORE_NOT_FOUND_ROUTE) {\n continue\n }\n\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 if (route.pathname === UNDERSCORE_NOT_FOUND_ROUTE) 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 | undefined\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 (!isAppRouteHandler && isAppPPREnabled) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\n )\n }\n\n const meta = collectMeta(metadata)\n\n prerenderManifest.routes[route.pathname] = {\n initialStatus: meta.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 | undefined\n let dynamicRoute = routesManifest.dynamicRoutes.find(\n (r) => r.page === route.pathname\n )\n if (!isAppRouteHandler && isAppPPREnabled) {\n prefetchDataRoute = path.posix.join(\n `${normalizedRoute}${RSC_PREFETCH_SUFFIX}`\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 (!isAppRouteHandler && metadata?.segmentPaths) {\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 }\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: route.fallbackRouteParams?.length\n ? page\n : undefined,\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 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 // 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 (!hasPages404 && !hasApp404 && useStaticPages404) {\n await moveExportedPage('/_error', '/404', '/404', false, 'html')\n }\n }\n\n if (useDefaultStatic500) {\n await moveExportedPage('/_error', '/500', '/500', false, 'html')\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 = createSpinner(`Collecting build traces`)\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 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 )\n }\n\n if (config.experimental.adapterPath) {\n await handleBuildComplete({\n dir,\n distDir,\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 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 if (isTurbopack && !process.env.__NEXT_TEST_MODE) {\n warnAboutTurbopackBuilds(loadedConfig)\n }\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 warnAboutTurbopackBuilds(config?: NextConfigComplete) {\n let warningStr =\n `Support for Turbopack builds is experimental. ` +\n bold(\n `We don't recommend deploying mission-critical applications to production.`\n )\n warningStr +=\n '\\n\\n- ' +\n bold(\n 'Turbopack currently always builds production source maps for the browser. This will include project source code if deployed to production.'\n )\n warningStr +=\n '\\n- It is expected that your bundle size might be different from `next build` with webpack. This will be improved as we work towards stability.'\n\n if (!config?.experimental.turbopackPersistentCaching) {\n warningStr +=\n '\\n- This build is without disk caching; subsequent builds will become faster when disk caching becomes available.'\n }\n\n warningStr +=\n '\\n- When comparing output to webpack builds, make sure to first clear the Next.js cache by deleting the `.next` directory.'\n warningStr +=\n '\\n\\nProvide feedback for Turbopack builds at https://github.com/vercel/next.js/discussions/77721'\n\n Log.warn(warningStr)\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":["RouteType","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","exportApp","default","buildExport","nextConfig","silent","outdir","getBuildId","isGenerateMode","generateBuildId","nanoid","reactProductionProfiling","debugOutput","debugPrerender","runLint","noMangling","appDirOnly","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","ignoreESLint","Boolean","eslint","ignoreDuringBuilds","shouldLint","typeCheckingOptions","distDirCreated","err","isError","code","isWriteable","Error","cleanDistDir","recursiveDelete","startTypeChecking","error","flush","buildLintEvent","featureName","invocationCount","eventName","EVENT_BUILD_FEATURE_USAGE","payload","validFileMatcher","createValidFileMatcher","pageExtensions","providedPagePaths","NEXT_PRIVATE_PAGE_PATHS","pagesPaths","recursiveReadDir","pathnameFilter","isPageFile","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","providedAppPaths","NEXT_PRIVATE_APP_PATHS","appPaths","absolutePath","isAppRouterPage","isRootNotFound","ignorePartFilter","part","APP","mappedRootPaths","ROOT","pagesPageKeys","conflictingAppPagePaths","appPageKeys","appKey","normalizedAppPageKey","normalizeAppPath","pagePath","appPath","add","generateInterceptionRoutesRewrites","basePath","totalAppPagesCount","numConflictingAppPaths","conflictingPublicFiles","hasPages404","PAGES_DIR_ALIAS","hasApp404","UNDERSCORE_NOT_FOUND_ROUTE_ENTRY","hasCustomErrorPage","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","isReservedPage","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","rewriteHeaders","pathHeader","NEXT_REWRITTEN_PATH_HEADER","queryHeader","NEXT_REWRITTEN_QUERY_HEADER","skipMiddlewareUrlNormalize","chain","NEXT_RESUME_HEADER","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","isAppBuiltinNotFoundPage","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","staticGenerationSpan","detectConflictingPaths","exportConfig","exportPathMap","defaultMap","_pagesFallback","_ssgPath","get","isDynamicError","checkIsRoutePPREnabled","_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","UNDERSCORE_NOT_FOUND_ROUTE","hasPostponed","normalizedRoute","dataRoute","posix","prefetchDataRoute","meta","collectMeta","initialStatus","status","initialHeaders","renderingMode","RenderingMode","PARTIALLY_STATIC","STATIC","experimentalPPR","experimentalBypassFor","initialRevalidateSeconds","initialExpireSeconds","allowHeader","dynamicRoute","skipInternalRouting","segmentPaths","pageSegmentPath","item","endsWith","builtSegmentDataRoute","buildPrefetchSegmentDataRoute","destination","prefetchSegmentDataRoutes","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","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","tracingRoot","printCustomRoutes","printTreeView","distPath","e","traceGlobals","eventBuildFailed","errorCode","getErrorCodeForTelemetry","lockfilePatchPromise","cur","__NEXT_TEST_MODE","warnAboutTurbopackBuilds","uploadTrace","mode","isTurboSession","sync","warningStr","turbopackPersistentCaching","NEXT_RSPACK","extractNextErrorCode","name"],"mappings":"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","ignoreList":[0]}
|