UNPKG

96.8 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../build/index.ts"],"names":["staticCheckWorker","require","resolve","build","dir","conf","reactProductionProfiling","debugOutput","runLint","nextBuildSpan","traceAsyncFn","loadedEnvFiles","traceChild","traceFn","Log","config","PHASE_PRODUCTION_BUILD","target","buildId","generateBuildId","nanoid","distDir","path","join","customRoutes","headers","rewrites","redirects","cacheDir","ciEnvironment","isCI","hasNextSupport","hasCache","console","log","prefixes","warn","telemetry","Telemetry","publicDir","pagesDir","hasPublicDir","record","webpackVersion","isWebpack5","cliCommand","isSrcDir","relative","startsWith","hasNowJson","cwd","isCustomServer","then","events","ignoreTypeScriptErrors","Boolean","typescript","ignoreBuildErrors","typeCheckStart","process","hrtime","typeCheckingSpinner","prefixText","info","verifyResult","images","disableStaticImages","typeCheckEnd","durationInSeconds","typescriptVersion","version","inputFilesCount","result","totalFilesCount","incremental","stopAndPersist","ignoreESLint","eslint","ignoreDuringBuilds","lintDirs","dirs","experimental","cpus","workerThreads","buildSpinner","isLikeServerless","pagePaths","pageExtensions","allStaticPages","Set","allPageInfos","Map","previewProps","previewModeId","crypto","randomBytes","toString","previewModeSigningKey","previewModeEncryptionKey","mappedPages","entrypoints","pageKeys","Object","keys","conflictingPublicFiles","hasCustomErrorPage","hasPages404","hasPublicUnderScoreNextDir","Error","PUBLIC_DIR_MIDDLEWARE_CONFLICT","page","hasPublicPageFile","push","numConflicting","length","nestedReservedPages","filter","match","dirname","buildCustomRoute","r","type","routeRegex","source","strict","sensitive","delimiter","statusCode","permanent","undefined","regex","routesManifestPath","ROUTES_MANIFEST","routesManifest","pages404","basePath","map","dynamicRoutes","isDynamicRoute","re","routeKeys","namedRegex","dataRoutes","i18n","beforeFiles","fallback","afterFiles","combinedRewrites","distDirCreated","promises","mkdir","recursive","err","code","cleanDistDir","writeFile","JSON","stringify","manifestPath","SERVERLESS_DIRECTORY","SERVER_DIRECTORY","PAGES_MANIFEST","requiredServerFiles","compress","configFile","appDir","files","BUILD_MANIFEST","PRERENDER_MANIFEST","REACT_LOADABLE_MANIFEST","optimizeFonts","FONT_MANIFEST","BUILD_ID_FILE","nonNullable","file","ignore","configs","Promise","all","isServer","client","server","clientConfig","optimization","minimize","minimizer","webpackBuildStart","warnings","errors","clientResult","serverResult","webpackBuildEnd","error","chalk","red","indexOf","page_name_regex","parsed","exec","page_name","groups","postCompileSpinner","buildManifestPath","ssgPages","ssgStaticFallbackPages","ssgBlockingFallbackPages","staticPages","invalidPages","hybridAmpPages","serverPropsPages","additionalSsgPaths","additionalSsgPathsEncoded","pageInfos","pagesManifest","parse","readFile","buildManifest","analysisBegin","staticCheckSpan","customAppGetInitialProps","namedExports","isNextImageImported","hasSsrAmpPages","hasNonStaticErrorPage","env","NEXT_PHASE","staticCheckWorkers","Worker","numWorkers","enableWorkerThreads","getStdout","pipe","stdout","getStderr","stderr","runtimeEnvConfig","publicRuntimeConfig","serverRuntimeConfig","nonStaticErrorPageSpan","errorPageHasCustomGetInitialProps","hasCustomGetInitialProps","errorPageStaticResult","isPageStatic","locales","defaultLocale","appPageToCheck","customAppGetInitialPropsPromise","namedExportsPromise","getNamedExports","computedManifestData","gzipSize","checkPageSpan","actualPage","selfSize","allSize","isSsg","isStatic","isHybridAmp","ssgPageRoutes","nonReservedPage","isPageStaticSpan","workerResult","id","isAmpOnly","add","hasStaticProps","prerenderRoutes","encodedPrerenderRoutes","set","prerenderFallback","hasServerProps","STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR","delete","STATIC_STATUS_PAGES","includes","message","size","totalSize","static","initialRevalidateSeconds","errorPageResult","nonStaticErrorPage","returnValue","end","bold","yellow","pagePath","dataRoute","posix","dataRouteRegex","namedDataRouteRegex","replace","RegExp","useStatic404","pg","optimizeCss","cssFilePaths","filePath","SERVER_FILES_MANIFEST","finalPrerenderRoutes","tbdPrerenderRoutes","ssgNotFoundPaths","usedStaticStatusPages","forEach","has","hasPages500","useDefaultStatic500","combinedPages","staticGenerationSpan","exportApp","default","exportOptions","silent","buildExport","threads","pages","outdir","statusMessage","exportConfig","initialPageRevalidationMap","exportPathMap","defaultMap","query","__nextFallback","routes","encodedRoutes","get","route","routeIdx","__nextSsgPath","isDynamic","isFallback","locale","outputPath","__nextLocale","postBuildSpinner","serverBundle","unlink","serverOutputDir","moveExportedPage","originPage","ext","additionalSsgFile","orig","relativeDest","substr","split","dest","isNotFound","rename","curPath","localeExt","extname","relativeDestNoPages","updatedRelativeDest","updatedOrig","updatedDest","isStaticSsgFallback","hasAmp","hasHtmlOutput","ampPage","localePage","srcRoute","pageInfo","extraRoutes","pageFile","rmdir","analysisEnd","staticPageCount","staticPropsPageCount","serverPropsPageCount","ssrPageCount","hasStatic404","hasReportWebVitals","rewritesCount","headersCount","redirectsCount","headersWithHasCount","rewritesWithHasCount","redirectsWithHasCount","finalDynamicRoutes","tbdRoute","normalizedRoute","prerenderManifest","notFoundRoutes","preview","generateClientSsgManifest","deviceSizes","imageSizes","sizes","IMAGES_MANIFEST","EXPORT_MARKER","hasExportPathMap","exportTrailingSlash","trailingSlash","EXPORT_DETAIL","catch","reject","key","distPath","analyticsId","green","flush","entries","pathname","clientSsgManifestContent","CLIENT_STATIC_FILES_PATH"],"mappings":"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","sourcesContent":["import { loadEnvConfig } from '@next/env'\nimport chalk from 'chalk'\nimport crypto from 'crypto'\nimport { promises, writeFileSync } from 'fs'\nimport { Worker } from 'jest-worker'\nimport devalue from 'next/dist/compiled/devalue'\nimport escapeStringRegexp from 'next/dist/compiled/escape-string-regexp'\nimport findUp from 'next/dist/compiled/find-up'\nimport { nanoid } from 'next/dist/compiled/nanoid/index.cjs'\nimport { pathToRegexp } from 'next/dist/compiled/path-to-regexp'\nimport path from 'path'\nimport formatWebpackMessages from '../client/dev/error-overlay/format-webpack-messages'\nimport {\n STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR,\n PUBLIC_DIR_MIDDLEWARE_CONFLICT,\n} from '../lib/constants'\nimport { fileExists } from '../lib/file-exists'\nimport { findPagesDir } from '../lib/find-pages-dir'\nimport loadCustomRoutes, {\n CustomRoutes,\n getRedirectStatus,\n normalizeRouteRegex,\n Redirect,\n Rewrite,\n RouteType,\n} from '../lib/load-custom-routes'\nimport { nonNullable } from '../lib/non-nullable'\nimport { recursiveDelete } from '../lib/recursive-delete'\nimport { verifyAndLint } from '../lib/verifyAndLint'\nimport { verifyTypeScriptSetup } from '../lib/verifyTypeScriptSetup'\nimport {\n BUILD_ID_FILE,\n BUILD_MANIFEST,\n CLIENT_STATIC_FILES_PATH,\n EXPORT_DETAIL,\n EXPORT_MARKER,\n FONT_MANIFEST,\n IMAGES_MANIFEST,\n PAGES_MANIFEST,\n PHASE_PRODUCTION_BUILD,\n PRERENDER_MANIFEST,\n REACT_LOADABLE_MANIFEST,\n ROUTES_MANIFEST,\n SERVERLESS_DIRECTORY,\n SERVER_DIRECTORY,\n SERVER_FILES_MANIFEST,\n STATIC_STATUS_PAGES,\n} from '../next-server/lib/constants'\nimport {\n getRouteRegex,\n getSortedRoutes,\n isDynamicRoute,\n} from '../next-server/lib/router/utils'\nimport { __ApiPreviewProps } from '../next-server/server/api-utils'\nimport loadConfig, {\n isTargetLikeServerless,\n NextConfig,\n} from '../next-server/server/config'\nimport { BuildManifest } from '../next-server/server/get-page-files'\nimport '../next-server/server/node-polyfill-fetch'\nimport { normalizePagePath } from '../next-server/server/normalize-page-path'\nimport { getPagePath } from '../next-server/server/require'\nimport * as ciEnvironment from '../telemetry/ci-info'\nimport {\n eventBuildCompleted,\n eventBuildOptimize,\n eventCliSession,\n eventNextPlugins,\n eventTypeCheckCompleted,\n} from '../telemetry/events'\nimport { Telemetry } from '../telemetry/storage'\nimport { CompilerResult, runCompiler } from './compiler'\nimport { createEntrypoints, createPagesMapping } from './entries'\nimport { generateBuildId } from './generate-build-id'\nimport { isWriteable } from './is-writeable'\nimport * as Log from './output/log'\nimport createSpinner from './spinner'\nimport { trace, setGlobal } from '../telemetry/trace'\nimport {\n collectPages,\n detectConflictingPaths,\n computeFromManifest,\n getJsPageSizeInKb,\n PageInfo,\n printCustomRoutes,\n printTreeView,\n getCssFilePaths,\n} from './utils'\nimport getBaseWebpackConfig from './webpack-config'\nimport { PagesManifest } from './webpack/plugins/pages-manifest-plugin'\nimport { writeBuildId } from './write-build-id'\nimport { normalizeLocalePath } from '../next-server/lib/i18n/normalize-locale-path'\nimport { isWebpack5 } from 'next/dist/compiled/webpack/webpack'\n\nconst staticCheckWorker = require.resolve('./utils')\n\nexport type SsgRoute = {\n initialRevalidateSeconds: number | false\n srcRoute: string | null\n dataRoute: string\n}\n\nexport type DynamicSsgRoute = {\n routeRegex: string\n fallback: string | null | false\n dataRoute: string\n dataRouteRegex: string\n}\n\nexport type PrerenderManifest = {\n version: 3\n routes: { [route: string]: SsgRoute }\n dynamicRoutes: { [route: string]: DynamicSsgRoute }\n notFoundRoutes: string[]\n preview: __ApiPreviewProps\n}\n\nexport default async function build(\n dir: string,\n conf = null,\n reactProductionProfiling = false,\n debugOutput = false,\n runLint = true\n): Promise<void> {\n const nextBuildSpan = trace('next-build')\n\n return 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\n const config: NextConfig = await nextBuildSpan\n .traceChild('load-next-config')\n .traceAsyncFn(() => loadConfig(PHASE_PRODUCTION_BUILD, dir, conf))\n const { target } = config\n const buildId: string = await nextBuildSpan\n .traceChild('generate-buildid')\n .traceAsyncFn(() => generateBuildId(config.generateBuildId, nanoid))\n const distDir = path.join(dir, config.distDir)\n\n const customRoutes: CustomRoutes = await nextBuildSpan\n .traceChild('load-custom-routes')\n .traceAsyncFn(() => loadCustomRoutes(config))\n\n const { headers, rewrites, redirects } = customRoutes\n\n const cacheDir = path.join(distDir, 'cache')\n if (ciEnvironment.isCI && !ciEnvironment.hasNextSupport) {\n const hasCache = await fileExists(cacheDir)\n\n if (!hasCache) {\n // Intentionally not piping to stderr 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\n const telemetry = new Telemetry({ distDir })\n setGlobal('telemetry', telemetry)\n\n const publicDir = path.join(dir, 'public')\n const pagesDir = findPagesDir(dir)\n const hasPublicDir = await fileExists(publicDir)\n\n telemetry.record(\n eventCliSession(PHASE_PRODUCTION_BUILD, dir, {\n webpackVersion: isWebpack5 ? 5 : 4,\n cliCommand: 'build',\n isSrcDir: path.relative(dir, pagesDir!).startsWith('src'),\n hasNowJson: !!(await findUp('now.json', { cwd: dir })),\n isCustomServer: null,\n })\n )\n\n eventNextPlugins(path.resolve(dir)).then((events) =>\n telemetry.record(events)\n )\n\n const ignoreTypeScriptErrors = Boolean(config.typescript?.ignoreBuildErrors)\n const typeCheckStart = process.hrtime()\n const typeCheckingSpinner = createSpinner({\n prefixText: `${Log.prefixes.info} ${\n ignoreTypeScriptErrors\n ? 'Skipping validation of types'\n : 'Checking validity of types'\n }`,\n })\n\n const verifyResult = await nextBuildSpan\n .traceChild('verify-typescript-setup')\n .traceAsyncFn(() =>\n verifyTypeScriptSetup(\n dir,\n pagesDir,\n !ignoreTypeScriptErrors,\n !config.images.disableStaticImages,\n cacheDir\n )\n )\n\n const typeCheckEnd = process.hrtime(typeCheckStart)\n\n if (!ignoreTypeScriptErrors) {\n telemetry.record(\n eventTypeCheckCompleted({\n durationInSeconds: typeCheckEnd[0],\n typescriptVersion: verifyResult.version,\n inputFilesCount: verifyResult.result?.inputFilesCount,\n totalFilesCount: verifyResult.result?.totalFilesCount,\n incremental: verifyResult.result?.incremental,\n })\n )\n }\n\n if (typeCheckingSpinner) {\n typeCheckingSpinner.stopAndPersist()\n }\n\n const ignoreESLint = Boolean(config.eslint?.ignoreDuringBuilds)\n const lintDirs = config.eslint?.dirs\n if (!ignoreESLint && runLint) {\n await nextBuildSpan\n .traceChild('verify-and-lint')\n .traceAsyncFn(async () => {\n await verifyAndLint(\n dir,\n lintDirs,\n config.experimental.cpus,\n config.experimental.workerThreads,\n telemetry\n )\n })\n }\n\n const buildSpinner = createSpinner({\n prefixText: `${Log.prefixes.info} Creating an optimized production build`,\n })\n\n const isLikeServerless = isTargetLikeServerless(target)\n\n const pagePaths: string[] = await nextBuildSpan\n .traceChild('collect-pages')\n .traceAsyncFn(() => collectPages(pagesDir, config.pageExtensions))\n\n // needed for static exporting since we want to replace with HTML\n // files\n const allStaticPages = new Set<string>()\n let allPageInfos = new Map<string, PageInfo>()\n\n const previewProps: __ApiPreviewProps = {\n previewModeId: crypto.randomBytes(16).toString('hex'),\n previewModeSigningKey: crypto.randomBytes(32).toString('hex'),\n previewModeEncryptionKey: crypto.randomBytes(32).toString('hex'),\n }\n\n const mappedPages = nextBuildSpan\n .traceChild('create-pages-mapping')\n .traceFn(() => createPagesMapping(pagePaths, config.pageExtensions))\n const entrypoints = nextBuildSpan\n .traceChild('create-entrypoints')\n .traceFn(() =>\n createEntrypoints(\n mappedPages,\n target,\n buildId,\n previewProps,\n config,\n loadedEnvFiles\n )\n )\n const pageKeys = Object.keys(mappedPages)\n const conflictingPublicFiles: string[] = []\n const hasCustomErrorPage: boolean = mappedPages['/_error'].startsWith(\n 'private-next-pages'\n )\n const hasPages404 = Boolean(\n mappedPages['/404'] &&\n mappedPages['/404'].startsWith('private-next-pages')\n )\n\n if (hasPublicDir) {\n const hasPublicUnderScoreNextDir = await fileExists(\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 '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.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 buildCustomRoute = (\n r: {\n source: string\n locale?: false\n basePath?: false\n statusCode?: number\n destination?: string\n },\n type: RouteType\n ) => {\n const keys: any[] = []\n\n const routeRegex = pathToRegexp(r.source, keys, {\n strict: true,\n sensitive: false,\n delimiter: '/', // default is `/#?`, but Next does not pass query info\n })\n\n return {\n ...r,\n ...(type === 'redirect'\n ? {\n statusCode: getRedirectStatus(r as Redirect),\n permanent: undefined,\n }\n : {}),\n regex: normalizeRouteRegex(routeRegex.source),\n }\n }\n\n const routesManifestPath = path.join(distDir, ROUTES_MANIFEST)\n const routesManifest: {\n version: number\n pages404: boolean\n basePath: string\n redirects: Array<ReturnType<typeof buildCustomRoute>>\n rewrites:\n | Array<ReturnType<typeof buildCustomRoute>>\n | {\n beforeFiles: Array<ReturnType<typeof buildCustomRoute>>\n afterFiles: Array<ReturnType<typeof buildCustomRoute>>\n fallback: Array<ReturnType<typeof buildCustomRoute>>\n }\n headers: Array<ReturnType<typeof buildCustomRoute>>\n dynamicRoutes: Array<{\n page: string\n regex: string\n namedRegex?: string\n routeKeys?: { [key: string]: string }\n }>\n dataRoutes: Array<{\n page: string\n routeKeys?: { [key: string]: string }\n dataRouteRegex: string\n namedDataRouteRegex?: string\n }>\n i18n?: {\n domains?: Array<{\n http?: true\n domain: string\n locales?: string[]\n defaultLocale: string\n }>\n locales: string[]\n defaultLocale: string\n localeDetection?: false\n }\n } = nextBuildSpan.traceChild('generate-routes-manifest').traceFn(() => ({\n version: 3,\n pages404: true,\n basePath: config.basePath,\n redirects: redirects.map((r: any) => buildCustomRoute(r, 'redirect')),\n headers: headers.map((r: any) => buildCustomRoute(r, 'header')),\n dynamicRoutes: getSortedRoutes(pageKeys)\n .filter(isDynamicRoute)\n .map((page) => {\n const routeRegex = getRouteRegex(page)\n return {\n page,\n regex: normalizeRouteRegex(routeRegex.re.source),\n routeKeys: routeRegex.routeKeys,\n namedRegex: routeRegex.namedRegex,\n }\n }),\n dataRoutes: [],\n i18n: config.i18n || undefined,\n }))\n\n if (rewrites.beforeFiles.length === 0 && rewrites.fallback.length === 0) {\n routesManifest.rewrites = rewrites.afterFiles.map((r: any) =>\n buildCustomRoute(r, 'rewrite')\n )\n } else {\n routesManifest.rewrites = {\n beforeFiles: rewrites.beforeFiles.map((r: any) =>\n buildCustomRoute(r, 'rewrite')\n ),\n afterFiles: rewrites.afterFiles.map((r: any) =>\n buildCustomRoute(r, 'rewrite')\n ),\n fallback: rewrites.fallback.map((r: any) =>\n buildCustomRoute(r, 'rewrite')\n ),\n }\n }\n const combinedRewrites: Rewrite[] = [\n ...rewrites.beforeFiles,\n ...rewrites.afterFiles,\n ...rewrites.fallback,\n ]\n\n const distDirCreated = await nextBuildSpan\n .traceChild('create-dist-dir')\n .traceAsyncFn(async () => {\n try {\n await promises.mkdir(distDir, { recursive: true })\n return true\n } catch (err) {\n if (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) {\n await recursiveDelete(distDir, /^cache/)\n }\n\n // We need to write the manifest with rewrites before build\n // so serverless can import the manifest\n await nextBuildSpan\n .traceChild('write-routes-manifest')\n .traceAsyncFn(() =>\n promises.writeFile(\n routesManifestPath,\n JSON.stringify(routesManifest),\n 'utf8'\n )\n )\n\n const manifestPath = path.join(\n distDir,\n isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY,\n PAGES_MANIFEST\n )\n\n const requiredServerFiles = nextBuildSpan\n .traceChild('generate-required-server-files')\n .traceFn(() => ({\n version: 1,\n config: {\n ...config,\n compress: false,\n configFile: undefined,\n },\n appDir: dir,\n files: [\n ROUTES_MANIFEST,\n path.relative(distDir, manifestPath),\n BUILD_MANIFEST,\n PRERENDER_MANIFEST,\n REACT_LOADABLE_MANIFEST,\n config.optimizeFonts\n ? path.join(\n isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY,\n FONT_MANIFEST\n )\n : null,\n BUILD_ID_FILE,\n ]\n .filter(nonNullable)\n .map((file) => path.join(config.distDir, file)),\n ignore: [] as string[],\n }))\n\n const configs = await nextBuildSpan\n .traceChild('generate-webpack-config')\n .traceAsyncFn(() =>\n Promise.all([\n getBaseWebpackConfig(dir, {\n buildId,\n reactProductionProfiling,\n isServer: false,\n config,\n target,\n pagesDir,\n entrypoints: entrypoints.client,\n rewrites,\n }),\n getBaseWebpackConfig(dir, {\n buildId,\n reactProductionProfiling,\n isServer: true,\n config,\n target,\n pagesDir,\n entrypoints: entrypoints.server,\n rewrites,\n }),\n ])\n )\n\n const clientConfig = configs[0]\n\n if (\n clientConfig.optimization &&\n (clientConfig.optimization.minimize !== true ||\n (clientConfig.optimization.minimizer &&\n clientConfig.optimization.minimizer.length === 0))\n ) {\n Log.warn(\n `Production code optimization has been disabled in your project. Read more: https://nextjs.org/docs/messages/minification-disabled`\n )\n }\n\n const webpackBuildStart = process.hrtime()\n\n let result: CompilerResult = { warnings: [], errors: [] }\n // We run client and server compilation separately to optimize for memory usage\n await nextBuildSpan\n .traceChild('run-webpack-compiler')\n .traceAsyncFn(async () => {\n const clientResult = await runCompiler(clientConfig)\n // Fail build if clientResult contains errors\n if (clientResult.errors.length > 0) {\n result = {\n warnings: [...clientResult.warnings],\n errors: [...clientResult.errors],\n }\n } else {\n const serverResult = await runCompiler(configs[1])\n result = {\n warnings: [...clientResult.warnings, ...serverResult.warnings],\n errors: [...clientResult.errors, ...serverResult.errors],\n }\n }\n })\n\n const webpackBuildEnd = process.hrtime(webpackBuildStart)\n if (buildSpinner) {\n buildSpinner.stopAndPersist()\n }\n\n result = nextBuildSpan\n .traceChild('format-webpack-messages')\n .traceFn(() => formatWebpackMessages(result))\n\n if (result.errors.length > 0) {\n // Only keep the first error. Others are often indicative\n // of the same problem, but confuse the reader with noise.\n if (result.errors.length > 1) {\n result.errors.length = 1\n }\n const error = result.errors.join('\\n\\n')\n\n console.error(chalk.red('Failed to compile.\\n'))\n\n if (\n error.indexOf('private-next-pages') > -1 &&\n error.indexOf('does not contain a default export') > -1\n ) {\n const page_name_regex = /'private-next-pages\\/(?<page_name>[^']*)'/\n const parsed = page_name_regex.exec(error)\n const page_name = parsed && parsed.groups && parsed.groups.page_name\n throw new Error(\n `webpack build failed: found page without a React Component as default export in pages/${page_name}\\n\\nSee https://nextjs.org/docs/messages/page-without-valid-component for more info.`\n )\n }\n\n console.error(error)\n console.error()\n\n if (\n error.indexOf('private-next-pages') > -1 ||\n error.indexOf('__next_polyfill__') > -1\n ) {\n throw new Error(\n '> webpack config.resolve.alias was incorrectly overridden. https://nextjs.org/docs/messages/invalid-resolve-alias'\n )\n }\n throw new Error('> Build failed because of webpack errors')\n } else {\n telemetry.record(\n eventBuildCompleted(pagePaths, {\n durationInSeconds: webpackBuildEnd[0],\n })\n )\n\n if (result.warnings.length > 0) {\n Log.warn('Compiled with warnings\\n')\n console.warn(result.warnings.join('\\n\\n'))\n console.warn()\n } else {\n Log.info('Compiled successfully')\n }\n }\n\n const postCompileSpinner = createSpinner({\n prefixText: `${Log.prefixes.info} Collecting page data`,\n })\n\n const buildManifestPath = path.join(distDir, BUILD_MANIFEST)\n\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 additionalSsgPaths = new Map<string, Array<string>>()\n const additionalSsgPathsEncoded = new Map<string, Array<string>>()\n const pageInfos = new Map<string, PageInfo>()\n const pagesManifest = JSON.parse(\n await promises.readFile(manifestPath, 'utf8')\n ) as PagesManifest\n const buildManifest = JSON.parse(\n await promises.readFile(buildManifestPath, 'utf8')\n ) as BuildManifest\n\n const analysisBegin = process.hrtime()\n\n const staticCheckSpan = nextBuildSpan.traceChild('static-check')\n const {\n customAppGetInitialProps,\n namedExports,\n isNextImageImported,\n hasSsrAmpPages,\n hasNonStaticErrorPage,\n } = await staticCheckSpan.traceAsyncFn(async () => {\n process.env.NEXT_PHASE = PHASE_PRODUCTION_BUILD\n\n const staticCheckWorkers = new Worker(staticCheckWorker, {\n numWorkers: config.experimental.cpus,\n enableWorkerThreads: config.experimental.workerThreads,\n }) as Worker & typeof import('./utils')\n\n staticCheckWorkers.getStdout().pipe(process.stdout)\n staticCheckWorkers.getStderr().pipe(process.stderr)\n\n const runtimeEnvConfig = {\n publicRuntimeConfig: config.publicRuntimeConfig,\n serverRuntimeConfig: config.serverRuntimeConfig,\n }\n\n const nonStaticErrorPageSpan = staticCheckSpan.traceChild(\n 'check-static-error-page'\n )\n const errorPageHasCustomGetInitialProps = nonStaticErrorPageSpan.traceAsyncFn(\n async () =>\n hasCustomErrorPage &&\n (await staticCheckWorkers.hasCustomGetInitialProps(\n '/_error',\n distDir,\n isLikeServerless,\n runtimeEnvConfig,\n false\n ))\n )\n\n const errorPageStaticResult = nonStaticErrorPageSpan.traceAsyncFn(\n async () =>\n hasCustomErrorPage &&\n staticCheckWorkers.isPageStatic(\n '/_error',\n distDir,\n isLikeServerless,\n runtimeEnvConfig,\n config.i18n?.locales,\n config.i18n?.defaultLocale\n )\n )\n\n // we don't output _app in serverless mode so use _app export\n // from _error instead\n const appPageToCheck = isLikeServerless ? '/_error' : '/_app'\n\n const customAppGetInitialPropsPromise = staticCheckWorkers.hasCustomGetInitialProps(\n appPageToCheck,\n distDir,\n isLikeServerless,\n runtimeEnvConfig,\n true\n )\n\n const namedExportsPromise = staticCheckWorkers.getNamedExports(\n appPageToCheck,\n distDir,\n isLikeServerless,\n runtimeEnvConfig\n )\n\n // eslint-disable-next-line no-shadow\n let isNextImageImported: boolean | undefined\n // eslint-disable-next-line no-shadow\n let hasSsrAmpPages = false\n\n const computedManifestData = await computeFromManifest(\n buildManifest,\n distDir,\n config.experimental.gzipSize\n )\n await Promise.all(\n pageKeys.map(async (page) => {\n const checkPageSpan = staticCheckSpan.traceChild('check-page', {\n page,\n })\n return checkPageSpan.traceAsyncFn(async () => {\n const actualPage = normalizePagePath(page)\n const [selfSize, allSize] = await getJsPageSizeInKb(\n actualPage,\n distDir,\n buildManifest,\n config.experimental.gzipSize,\n computedManifestData\n )\n\n let isSsg = false\n let isStatic = false\n let isHybridAmp = false\n let ssgPageRoutes: string[] | null = null\n\n const nonReservedPage = !page.match(\n /^\\/(_app|_error|_document|api(\\/|$))/\n )\n\n if (nonReservedPage) {\n try {\n let isPageStaticSpan = checkPageSpan.traceChild(\n 'is-page-static'\n )\n let workerResult = await isPageStaticSpan.traceAsyncFn(() => {\n return staticCheckWorkers.isPageStatic(\n page,\n distDir,\n isLikeServerless,\n runtimeEnvConfig,\n config.i18n?.locales,\n config.i18n?.defaultLocale,\n isPageStaticSpan.id\n )\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.prerenderRoutes &&\n workerResult.encodedPrerenderRoutes\n ) {\n additionalSsgPaths.set(page, workerResult.prerenderRoutes)\n additionalSsgPathsEncoded.set(\n page,\n workerResult.encodedPrerenderRoutes\n )\n ssgPageRoutes = workerResult.prerenderRoutes\n }\n\n if (workerResult.prerenderFallback === 'blocking') {\n ssgBlockingFallbackPages.add(page)\n } else if (workerResult.prerenderFallback === true) {\n ssgStaticFallbackPages.add(page)\n }\n } else if (workerResult.hasServerProps) {\n serverPropsPages.add(page)\n } else if (\n workerResult.isStatic &&\n (await customAppGetInitialPropsPromise) === false\n ) {\n staticPages.add(page)\n isStatic = true\n }\n\n if (hasPages404 && page === '/404') {\n if (!workerResult.isStatic && !workerResult.hasStaticProps) {\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 } catch (err) {\n if (err.message !== 'INVALID_DEFAULT_EXPORT') throw err\n invalidPages.add(page)\n }\n }\n\n pageInfos.set(page, {\n size: selfSize,\n totalSize: allSize,\n static: isStatic,\n isSsg,\n isHybridAmp,\n ssgPageRoutes,\n initialRevalidateSeconds: false,\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 staticCheckWorkers.end()\n return returnValue\n })\n\n if (customAppGetInitialProps) {\n console.warn(\n chalk.bold.yellow(`Warning: `) +\n chalk.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 if (!hasSsrAmpPages) {\n requiredServerFiles.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 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 = getSortedRoutes([\n ...serverPropsPages,\n ...ssgPages,\n ]).map((page) => {\n const pagePath = normalizePagePath(page)\n const dataRoute = path.posix.join(\n '/_next/data',\n buildId,\n `${pagePath}.json`\n )\n\n let dataRouteRegex: string\n let namedDataRouteRegex: string | undefined\n let routeKeys: { [named: string]: string } | undefined\n\n if (isDynamicRoute(page)) {\n const routeRegex = getRouteRegex(dataRoute.replace(/\\.json$/, ''))\n\n dataRouteRegex = normalizeRouteRegex(\n routeRegex.re.source.replace(/\\(\\?:\\\\\\/\\)\\?\\$$/, '\\\\.json$')\n )\n namedDataRouteRegex = routeRegex.namedRegex!.replace(\n /\\(\\?:\\/\\)\\?\\$$/,\n '\\\\.json$'\n )\n routeKeys = routeRegex.routeKeys\n } else {\n dataRouteRegex = normalizeRouteRegex(\n new RegExp(\n `^${path.posix.join(\n '/_next/data',\n escapeStringRegexp(buildId),\n `${pagePath}.json`\n )}$`\n ).source\n )\n }\n\n return {\n page,\n routeKeys,\n dataRouteRegex,\n namedDataRouteRegex,\n }\n })\n\n await promises.writeFile(\n routesManifestPath,\n JSON.stringify(routesManifest),\n 'utf8'\n )\n }\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 useStatic404 =\n !customAppGetInitialProps && (!hasNonStaticErrorPage || hasPages404)\n\n if (invalidPages.size > 0) {\n throw 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 )\n }\n\n await writeBuildId(distDir, buildId)\n\n if (config.experimental.optimizeCss) {\n const cssFilePaths = getCssFilePaths(buildManifest)\n\n requiredServerFiles.files.push(\n ...cssFilePaths.map((filePath) => path.join(config.distDir, filePath))\n )\n }\n\n await promises.writeFile(\n path.join(distDir, SERVER_FILES_MANIFEST),\n JSON.stringify(requiredServerFiles),\n 'utf8'\n )\n\n const finalPrerenderRoutes: { [route: string]: SsgRoute } = {}\n const tbdPrerenderRoutes: string[] = []\n let ssgNotFoundPaths: string[] = []\n\n if (postCompileSpinner) postCompileSpinner.stopAndPersist()\n\n const { i18n } = config\n\n const usedStaticStatusPages = STATIC_STATUS_PAGES.filter(\n (page) =>\n mappedPages[page] && 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\n if (combinedPages.length > 0 || useStatic404 || useDefaultStatic500) {\n const staticGenerationSpan = nextBuildSpan.traceChild('static-generation')\n await staticGenerationSpan.traceAsyncFn(async () => {\n detectConflictingPaths(\n [\n ...combinedPages,\n ...pageKeys.filter((page) => !combinedPages.includes(page)),\n ],\n ssgPages,\n additionalSsgPaths\n )\n const exportApp = require('../export').default\n const exportOptions = {\n silent: false,\n buildExport: true,\n threads: config.experimental.cpus,\n pages: combinedPages,\n outdir: path.join(distDir, 'export'),\n statusMessage: 'Generating static pages',\n }\n const exportConfig: any = {\n ...config,\n initialPageRevalidationMap: {},\n ssgNotFoundPaths: [] as string[],\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: any) => {\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 query: { __nextFallback: true },\n }\n } else {\n defaultMap[page] = { page, query: { __nextFallback: true } }\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 // Append the \"well-known\" routes we should prerender for, e.g. blog\n // post slugs.\n additionalSsgPaths.forEach((routes, page) => {\n const encodedRoutes = additionalSsgPathsEncoded.get(page)\n\n routes.forEach((route, routeIdx) => {\n defaultMap[route] = {\n page,\n query: { __nextSsgPath: encodedRoutes?.[routeIdx] },\n }\n })\n })\n\n if (useStatic404) {\n defaultMap['/404'] = {\n page: hasPages404 ? '/404' : '/_error',\n }\n }\n\n if (useDefaultStatic500) {\n defaultMap['/500'] = {\n page: '/_error',\n }\n }\n\n if (i18n) {\n for (const page of [\n ...staticPages,\n ...ssgPages,\n ...(useStatic404 ? ['/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 query: { __nextLocale: locale },\n }\n\n if (isFallback) {\n defaultMap[outputPath].query.__nextFallback = true\n }\n }\n\n if (isSsg) {\n // remove non-locale prefixed variant from defaultMap\n delete defaultMap[page]\n }\n }\n }\n return defaultMap\n },\n }\n\n await exportApp(dir, exportOptions, exportConfig)\n\n const postBuildSpinner = createSpinner({\n prefixText: `${Log.prefixes.info} Finalizing page optimization`,\n })\n ssgNotFoundPaths = exportConfig.ssgNotFoundPaths\n\n // remove server bundles that were exported\n for (const page of staticPages) {\n const serverBundle = getPagePath(page, distDir, isLikeServerless)\n await promises.unlink(serverBundle)\n }\n const serverOutputDir = path.join(\n distDir,\n isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY\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(exportOptions.outdir, file)\n const pagePath = getPagePath(\n originPage,\n distDir,\n isLikeServerless\n )\n\n const relativeDest = path\n .relative(\n serverOutputDir,\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 .substr(1)\n .split('/')\n .map(() => '..')\n .join('/')\n ),\n file\n )\n )\n .replace(/\\\\/g, '/')\n\n const dest = path.join(\n distDir,\n isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY,\n relativeDest\n )\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 isNotFound = ssgNotFoundPaths.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 promises.mkdir(path.dirname(dest), { recursive: true })\n await promises.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 for (const locale of i18n.locales) {\n const curPath = `/${locale}${page === '/' ? '' : page}`\n const localeExt = page === '/' ? path.extname(file) : ''\n const relativeDestNoPages = relativeDest.substr(\n 'pages/'.length\n )\n\n if (isSsg && ssgNotFoundPaths.includes(curPath)) {\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 exportOptions.outdir,\n locale + localeExt,\n page === '/' ? '' : file\n )\n const updatedDest = path.join(\n distDir,\n isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY,\n updatedRelativeDest\n )\n\n if (!isSsg) {\n pagesManifest[curPath] = updatedRelativeDest\n }\n await promises.mkdir(path.dirname(updatedDest), {\n recursive: true,\n })\n await promises.rename(updatedOrig, updatedDest)\n }\n }\n })\n }\n\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 && useStatic404) {\n await moveExportedPage('/_error', '/404', '/404', false, 'html')\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 // 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 if (!ssgNotFoundPaths.includes(localePage)) {\n finalPrerenderRoutes[localePage] = {\n initialRevalidateSeconds:\n exportConfig.initialPageRevalidationMap[localePage],\n srcRoute: null,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${file}.json`\n ),\n }\n }\n }\n } else {\n finalPrerenderRoutes[page] = {\n initialRevalidateSeconds:\n exportConfig.initialPageRevalidationMap[page],\n srcRoute: null,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${file}.json`\n ),\n }\n }\n // Set Page Revalidation Interval\n const pageInfo = pageInfos.get(page)\n if (pageInfo) {\n pageInfo.initialRevalidateSeconds =\n exportConfig.initialPageRevalidationMap[page]\n pageInfos.set(page, pageInfo)\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 const extraRoutes = additionalSsgPaths.get(page) || []\n for (const route of extraRoutes) {\n const pageFile = normalizePagePath(route)\n await moveExportedPage(\n page,\n route,\n pageFile,\n isSsg,\n 'html',\n true\n )\n await moveExportedPage(\n page,\n route,\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 finalPrerenderRoutes[route] = {\n initialRevalidateSeconds:\n exportConfig.initialPageRevalidationMap[route],\n srcRoute: page,\n dataRoute: path.posix.join(\n '/_next/data',\n buildId,\n `${normalizePagePath(route)}.json`\n ),\n }\n\n // Set route Revalidation Interval\n const pageInfo = pageInfos.get(route)\n if (pageInfo) {\n pageInfo.initialRevalidateSeconds =\n exportConfig.initialPageRevalidationMap[route]\n pageInfos.set(route, pageInfo)\n }\n }\n }\n }\n }\n\n // remove temporary export folder\n await recursiveDelete(exportOptions.outdir)\n await promises.rmdir(exportOptions.outdir)\n await promises.writeFile(\n manifestPath,\n JSON.stringify(pagesManifest, null, 2),\n 'utf8'\n )\n\n if (postBuildSpinner) postBuildSpinner.stopAndPersist()\n console.log()\n })\n }\n\n const analysisEnd = process.hrtime(analysisBegin)\n telemetry.record(\n eventBuildOptimize(pagePaths, {\n durationInSeconds: analysisEnd[0],\n staticPageCount: staticPages.size,\n staticPropsPageCount: ssgPages.size,\n serverPropsPageCount: serverPropsPages.size,\n ssrPageCount:\n pagePaths.length -\n (staticPages.size + ssgPages.size + serverPropsPages.size),\n hasStatic404: useStatic404,\n hasReportWebVitals: 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 })\n )\n\n if (ssgPages.size > 0) {\n const finalDynamicRoutes: PrerenderManifest['dynamicRoutes'] = {}\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 finalDynamicRoutes[tbdRoute] = {\n routeRegex: normalizeRouteRegex(getRouteRegex(tbdRoute).re.source),\n dataRoute,\n fallback: ssgBlockingFallbackPages.has(tbdRoute)\n ? null\n : ssgStaticFallbackPages.has(tbdRoute)\n ? `${normalizedRoute}.html`\n : false,\n dataRouteRegex: normalizeRouteRegex(\n getRouteRegex(dataRoute.replace(/\\.json$/, '')).re.source.replace(\n /\\(\\?:\\\\\\/\\)\\?\\$$/,\n '\\\\.json$'\n )\n ),\n }\n })\n const prerenderManifest: PrerenderManifest = {\n version: 3,\n routes: finalPrerenderRoutes,\n dynamicRoutes: finalDynamicRoutes,\n notFoundRoutes: ssgNotFoundPaths,\n preview: previewProps,\n }\n\n await promises.writeFile(\n path.join(distDir, PRERENDER_MANIFEST),\n JSON.stringify(prerenderManifest),\n 'utf8'\n )\n await generateClientSsgManifest(prerenderManifest, {\n distDir,\n buildId,\n locales: config.i18n?.locales || [],\n })\n } else {\n const prerenderManifest: PrerenderManifest = {\n version: 3,\n routes: {},\n dynamicRoutes: {},\n preview: previewProps,\n notFoundRoutes: [],\n }\n await promises.writeFile(\n path.join(distDir, PRERENDER_MANIFEST),\n JSON.stringify(prerenderManifest),\n 'utf8'\n )\n }\n\n const images = { ...config.images }\n const { deviceSizes, imageSizes } = images\n images.sizes = [...deviceSizes, ...imageSizes]\n\n await promises.writeFile(\n path.join(distDir, IMAGES_MANIFEST),\n JSON.stringify({\n version: 1,\n images,\n }),\n 'utf8'\n )\n await promises.writeFile(\n path.join(distDir, EXPORT_MARKER),\n JSON.stringify({\n version: 1,\n hasExportPathMap: typeof config.exportPathMap === 'function',\n exportTrailingSlash: config.trailingSlash === true,\n isNextImageImported: isNextImageImported === true,\n }),\n 'utf8'\n )\n await promises.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 staticPages.forEach((pg) => allStaticPages.add(pg))\n pageInfos.forEach((info: PageInfo, key: string) => {\n allPageInfos.set(key, info)\n })\n\n await nextBuildSpan.traceChild('print-tree-view').traceAsyncFn(() =>\n printTreeView(Object.keys(mappedPages), allPageInfos, isLikeServerless, {\n distPath: distDir,\n buildId: buildId,\n pagesDir,\n useStatic404,\n pageExtensions: config.pageExtensions,\n buildManifest,\n gzipSize: config.experimental.gzipSize,\n })\n )\n\n if (debugOutput) {\n nextBuildSpan\n .traceChild('print-custom-routes')\n .traceFn(() => printCustomRoutes({ redirects, rewrites, headers }))\n }\n\n if (config.analyticsId) {\n console.log(\n chalk.bold.green('Next.js Analytics') +\n ' is enabled for this production build. ' +\n \"You'll receive a Real Experience Score computed by all of your visitors.\"\n )\n console.log('')\n }\n\n await nextBuildSpan\n .traceChild('telemetry-flush')\n .traceAsyncFn(() => telemetry.flush())\n })\n}\n\nexport type ClientSsgManifest = Set<string>\n\nfunction generateClientSsgManifest(\n prerenderManifest: PrerenderManifest,\n {\n buildId,\n distDir,\n locales,\n }: { buildId: string; distDir: string; locales: string[] }\n) {\n const ssgPages: ClientSsgManifest = new Set<string>([\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 ])\n\n const clientSsgManifestContent = `self.__SSG_MANIFEST=${devalue(\n ssgPages\n )};self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()`\n\n writeFileSync(\n path.join(distDir, CLIENT_STATIC_FILES_PATH, buildId, '_ssgManifest.js'),\n clientSsgManifestContent\n )\n}\n"]}
\No newline at end of file