UNPKG

37.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../export/index.ts"],"names":["exists","existsOrig","divideSegments","number","segments","result","dividedNumber","Math","floor","push","createProgress","total","label","Error","currentSegmentTotal","shift","currentSegmentCount","curProgress","progressSpinner","spinner","frames","interval","newText","text","console","log","stop","exportApp","dir","options","configuration","nextExportSpan","traceAsyncFn","traceChild","traceFn","Log","nextConfig","PHASE_EXPORT","threads","experimental","cpus","distDir","telemetry","buildExport","Telemetry","record","webpackVersion","cliCommand","isSrcDir","hasNowJson","cwd","isCustomServer","subFolders","trailingSlash","isLikeServerless","target","silent","info","buildIdFile","BUILD_ID_FILE","customRoutesDetected","filter","config","hasNextSupport","length","warn","join","buildId","pagesManifest","pages","require","SERVERLESS_DIRECTORY","SERVER_DIRECTORY","PAGES_MANIFEST","prerenderManifest","undefined","PRERENDER_MANIFEST","_","excludedPrerenderRoutes","Set","Object","keys","defaultPathMap","hasApiRoutes","page","match","API_ROUTE","dynamicRoutes","add","outDir","outdir","promises","mkdir","recursive","EXPORT_DETAIL","JSON","stringify","version","outDirectory","success","CLIENT_STATIC_FILES_PATH","exportPathMap","CONFIG_FILE","defaultMap","i18n","images","loader","isNextImageImported","readFile","EXPORT_MARKER","then","parse","catch","renderOpts","nextExport","assetPrefix","replace","dev","hotReloader","basePath","canonicalBase","amp","ampValidatorPath","validator","ampSkipValidation","skipValidation","ampOptimizerConfig","optimizer","locales","locale","defaultLocale","domainLocales","domains","disableOptimizedLoading","serverRuntimeConfig","publicRuntimeConfig","runtimeConfig","global","__NEXT_DATA__","exportPaths","map","path","filteredPaths","route","fallbackEnabledPages","key","has","fallback","size","SSG_FALLBACK_EXPORT_ERROR","chalk","yellow","bold","progress","prefixes","statusMessage","pagesDataDir","ampValidations","hadValidationError","publicDir","CLIENT_PUBLIC_FILES_PATH","worker","Worker","resolve","maxRetries","numWorkers","enableWorkerThreads","workerThreads","exposedMethods","getStdout","pipe","process","stdout","getStderr","stderr","renderError","errorPaths","Promise","all","pageExportSpan","setAttribute","default","pathMap","serverless","optimizeFonts","optimizeImages","optimizeCss","parentSpanId","id","validation","ampValidationResult","Array","isArray","errors","error","fromBuildExportRevalidate","initialPageRevalidationMap","ssgNotFound","ssgNotFoundPaths","end","routes","srcRoute","pageName","pagePath","distPagesDir","substr","split","orig","htmlDest","sep","ampHtmlDest","jsonDest","copyFile","sort","flush"],"mappings":"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","sourcesContent":["import chalk from 'chalk'\nimport findUp from 'next/dist/compiled/find-up'\nimport {\n promises,\n existsSync,\n exists as existsOrig,\n readFileSync,\n writeFileSync,\n} from 'fs'\nimport { Worker } from 'jest-worker'\nimport { dirname, join, resolve, sep } from 'path'\nimport { promisify } from 'util'\nimport { AmpPageStatus, formatAmpMessages } from '../build/output/index'\nimport * as Log from '../build/output/log'\nimport createSpinner from '../build/spinner'\nimport { API_ROUTE, SSG_FALLBACK_EXPORT_ERROR } from '../lib/constants'\nimport { recursiveCopy } from '../lib/recursive-copy'\nimport { recursiveDelete } from '../lib/recursive-delete'\nimport {\n BUILD_ID_FILE,\n CLIENT_PUBLIC_FILES_PATH,\n CLIENT_STATIC_FILES_PATH,\n CONFIG_FILE,\n EXPORT_DETAIL,\n EXPORT_MARKER,\n PAGES_MANIFEST,\n PHASE_EXPORT,\n PRERENDER_MANIFEST,\n SERVERLESS_DIRECTORY,\n SERVER_DIRECTORY,\n} from '../next-server/lib/constants'\nimport loadConfig, {\n isTargetLikeServerless,\n NextConfig,\n} from '../next-server/server/config'\nimport { eventCliSession } from '../telemetry/events'\nimport { hasNextSupport } from '../telemetry/ci-info'\nimport { Telemetry } from '../telemetry/storage'\nimport {\n normalizePagePath,\n denormalizePagePath,\n} from '../next-server/server/normalize-page-path'\nimport { loadEnvConfig } from '@next/env'\nimport { PrerenderManifest } from '../build'\nimport exportPage from './worker'\nimport { PagesManifest } from '../build/webpack/plugins/pages-manifest-plugin'\nimport { getPagePath } from '../next-server/server/require'\nimport { trace } from '../telemetry/trace'\n\nconst exists = promisify(existsOrig)\n\nfunction divideSegments(number: number, segments: number): number[] {\n const result = []\n while (number > 0 && segments > 0) {\n const dividedNumber =\n number < segments ? number : Math.floor(number / segments)\n\n number -= dividedNumber\n segments--\n result.push(dividedNumber)\n }\n return result\n}\n\nconst createProgress = (total: number, label: string) => {\n const segments = divideSegments(total, 4)\n\n if (total === 0) {\n throw new Error('invariant: progress total can not be zero')\n }\n let currentSegmentTotal = segments.shift()\n let currentSegmentCount = 0\n let curProgress = 0\n let progressSpinner = createSpinner(`${label} (${curProgress}/${total})`, {\n spinner: {\n frames: [\n '[ ]',\n '[= ]',\n '[== ]',\n '[=== ]',\n '[ ===]',\n '[ ==]',\n '[ =]',\n '[ ]',\n '[ =]',\n '[ ==]',\n '[ ===]',\n '[====]',\n '[=== ]',\n '[== ]',\n '[= ]',\n ],\n interval: 80,\n },\n })\n\n return () => {\n curProgress++\n currentSegmentCount++\n\n // Make sure we only log once per fully generated segment\n if (currentSegmentCount !== currentSegmentTotal) {\n return\n }\n\n currentSegmentTotal = segments.shift()\n currentSegmentCount = 0\n\n const newText = `${label} (${curProgress}/${total})`\n if (progressSpinner) {\n progressSpinner.text = newText\n } else {\n console.log(newText)\n }\n\n if (curProgress === total && progressSpinner) {\n progressSpinner.stop()\n console.log(newText)\n }\n }\n}\n\ntype ExportPathMap = {\n [page: string]: { page: string; query?: { [key: string]: string } }\n}\n\ninterface ExportOptions {\n outdir: string\n silent?: boolean\n threads?: number\n pages?: string[]\n buildExport?: boolean\n statusMessage?: string\n}\n\nexport default async function exportApp(\n dir: string,\n options: ExportOptions,\n configuration?: NextConfig\n): Promise<void> {\n const nextExportSpan = trace('next-export')\n\n return nextExportSpan.traceAsyncFn(async () => {\n dir = resolve(dir)\n\n // attempt to load global env values so they are available in next.config.js\n nextExportSpan\n .traceChild('load-dotenv')\n .traceFn(() => loadEnvConfig(dir, false, Log))\n\n const nextConfig =\n configuration ||\n (await nextExportSpan\n .traceChild('load-next-config')\n .traceAsyncFn(() => loadConfig(PHASE_EXPORT, dir)))\n const threads = options.threads || nextConfig.experimental.cpus\n const distDir = join(dir, nextConfig.distDir)\n\n const telemetry = options.buildExport ? null : new Telemetry({ distDir })\n\n if (telemetry) {\n telemetry.record(\n eventCliSession(PHASE_EXPORT, distDir, {\n webpackVersion: null,\n cliCommand: 'export',\n isSrcDir: null,\n hasNowJson: !!(await findUp('now.json', { cwd: dir })),\n isCustomServer: null,\n })\n )\n }\n\n const subFolders = nextConfig.trailingSlash && !options.buildExport\n const isLikeServerless = nextConfig.target !== 'server'\n\n if (!options.silent && !options.buildExport) {\n Log.info(`using build directory: ${distDir}`)\n }\n\n const buildIdFile = join(distDir, BUILD_ID_FILE)\n\n if (!existsSync(buildIdFile)) {\n throw new Error(\n `Could not find a production build in the '${distDir}' directory. Try building your app with 'next build' before starting the static export. https://nextjs.org/docs/messages/next-export-no-build-id`\n )\n }\n\n const customRoutesDetected = ['rewrites', 'redirects', 'headers'].filter(\n (config) => typeof nextConfig[config] === 'function'\n )\n\n if (\n !hasNextSupport &&\n !options.buildExport &&\n customRoutesDetected.length > 0\n ) {\n Log.warn(\n `rewrites, redirects, and headers are not applied when exporting your application, detected (${customRoutesDetected.join(\n ', '\n )}). See more info here: https://nextjs.org/docs/messages/export-no-custom-routes`\n )\n }\n\n const buildId = readFileSync(buildIdFile, 'utf8')\n const pagesManifest =\n !options.pages &&\n (require(join(\n distDir,\n isLikeServerless ? SERVERLESS_DIRECTORY : SERVER_DIRECTORY,\n PAGES_MANIFEST\n )) as PagesManifest)\n\n let prerenderManifest: PrerenderManifest | undefined = undefined\n try {\n prerenderManifest = require(join(distDir, PRERENDER_MANIFEST))\n } catch (_) {}\n\n const excludedPrerenderRoutes = new Set<string>()\n const pages = options.pages || Object.keys(pagesManifest)\n const defaultPathMap: ExportPathMap = {}\n let hasApiRoutes = false\n\n for (const page of pages) {\n // _document and _app are not real pages\n // _error is exported as 404.html later on\n // API Routes are Node.js functions\n\n if (page.match(API_ROUTE)) {\n hasApiRoutes = true\n continue\n }\n\n if (page === '/_document' || page === '/_app' || page === '/_error') {\n continue\n }\n\n // iSSG pages that are dynamic should not export templated version by\n // default. In most cases, this would never work. There is no server that\n // could run `getStaticProps`. If users make their page work lazily, they\n // can manually add it to the `exportPathMap`.\n if (prerenderManifest?.dynamicRoutes[page]) {\n excludedPrerenderRoutes.add(page)\n continue\n }\n\n defaultPathMap[page] = { page }\n }\n\n // Initialize the output directory\n const outDir = options.outdir\n\n if (outDir === join(dir, 'public')) {\n throw new Error(\n `The 'public' directory is reserved in Next.js and can not be used as the export out directory. https://nextjs.org/docs/messages/can-not-output-to-public`\n )\n }\n\n if (outDir === join(dir, 'static')) {\n throw new Error(\n `The 'static' directory is reserved in Next.js and can not be used as the export out directory. https://nextjs.org/docs/messages/can-not-output-to-static`\n )\n }\n\n await recursiveDelete(join(outDir))\n await promises.mkdir(join(outDir, '_next', buildId), { recursive: true })\n\n writeFileSync(\n join(distDir, EXPORT_DETAIL),\n JSON.stringify({\n version: 1,\n outDirectory: outDir,\n success: false,\n }),\n 'utf8'\n )\n\n // Copy static directory\n if (!options.buildExport && existsSync(join(dir, 'static'))) {\n if (!options.silent) {\n Log.info('Copying \"static\" directory')\n }\n await nextExportSpan\n .traceChild('copy-static-directory')\n .traceAsyncFn(() =>\n recursiveCopy(join(dir, 'static'), join(outDir, 'static'))\n )\n }\n\n // Copy .next/static directory\n if (\n !options.buildExport &&\n existsSync(join(distDir, CLIENT_STATIC_FILES_PATH))\n ) {\n if (!options.silent) {\n Log.info('Copying \"static build\" directory')\n }\n await nextExportSpan\n .traceChild('copy-next-static-directory')\n .traceAsyncFn(() =>\n recursiveCopy(\n join(distDir, CLIENT_STATIC_FILES_PATH),\n join(outDir, '_next', CLIENT_STATIC_FILES_PATH)\n )\n )\n }\n\n // Get the exportPathMap from the config file\n if (typeof nextConfig.exportPathMap !== 'function') {\n if (!options.silent) {\n Log.info(\n `No \"exportPathMap\" found in \"${CONFIG_FILE}\". Generating map from \"./pages\"`\n )\n }\n nextConfig.exportPathMap = async (defaultMap: ExportPathMap) => {\n return defaultMap\n }\n }\n\n const {\n i18n,\n images: { loader = 'default' },\n } = nextConfig\n\n if (i18n && !options.buildExport) {\n throw new Error(\n `i18n support is not compatible with next export. See here for more info on deploying: https://nextjs.org/docs/deployment`\n )\n }\n\n if (!options.buildExport) {\n const { isNextImageImported } = await nextExportSpan\n .traceChild('is-next-image-imported')\n .traceAsyncFn(() =>\n promises\n .readFile(join(distDir, EXPORT_MARKER), 'utf8')\n .then((text) => JSON.parse(text))\n .catch(() => ({}))\n )\n\n if (isNextImageImported && loader === 'default' && !hasNextSupport) {\n throw new Error(\n `Image Optimization using Next.js' default loader is not compatible with \\`next export\\`.\n Possible solutions:\n - Use \\`next start\\` to run a server, which includes the Image Optimization API.\n - Use any provider which supports Image Optimization (like Vercel).\n - Configure a third-party loader in \\`next.config.js\\`.\n - Use the \\`loader\\` prop for \\`next/image\\`.\n Read more: https://nextjs.org/docs/messages/export-image-api`\n )\n }\n }\n\n // Start the rendering process\n const renderOpts = {\n dir,\n buildId,\n nextExport: true,\n assetPrefix: nextConfig.assetPrefix.replace(/\\/$/, ''),\n distDir,\n dev: false,\n hotReloader: null,\n basePath: nextConfig.basePath,\n canonicalBase: nextConfig.amp?.canonicalBase || '',\n ampValidatorPath: nextConfig.experimental.amp?.validator || undefined,\n ampSkipValidation: nextConfig.experimental.amp?.skipValidation || false,\n ampOptimizerConfig: nextConfig.experimental.amp?.optimizer || undefined,\n locales: i18n?.locales,\n locale: i18n?.defaultLocale,\n defaultLocale: i18n?.defaultLocale,\n domainLocales: i18n?.domains,\n trailingSlash: nextConfig.trailingSlash,\n disableOptimizedLoading: nextConfig.experimental.disableOptimizedLoading,\n }\n\n const { serverRuntimeConfig, publicRuntimeConfig } = nextConfig\n\n if (Object.keys(publicRuntimeConfig).length > 0) {\n ;(renderOpts as any).runtimeConfig = publicRuntimeConfig\n }\n\n // We need this for server rendering the Link component.\n ;(global as any).__NEXT_DATA__ = {\n nextExport: true,\n }\n\n if (!options.silent && !options.buildExport) {\n Log.info(`Launching ${threads} workers`)\n }\n const exportPathMap = await nextExportSpan\n .traceChild('run-export-path-map')\n .traceAsyncFn(() =>\n nextConfig.exportPathMap(defaultPathMap, {\n dev: false,\n dir,\n outDir,\n distDir,\n buildId,\n })\n )\n\n if (\n !options.buildExport &&\n !exportPathMap['/404'] &&\n !exportPathMap['/404.html']\n ) {\n exportPathMap['/404'] = exportPathMap['/404.html'] = {\n page: '/_error',\n }\n }\n\n // make sure to prevent duplicates\n const exportPaths = [\n ...new Set(\n Object.keys(exportPathMap).map((path) =>\n denormalizePagePath(normalizePagePath(path))\n )\n ),\n ]\n\n const filteredPaths = exportPaths.filter(\n // Remove API routes\n (route) => !exportPathMap[route].page.match(API_ROUTE)\n )\n\n if (filteredPaths.length !== exportPaths.length) {\n hasApiRoutes = true\n }\n\n if (filteredPaths.length === 0) {\n return\n }\n\n if (prerenderManifest && !options.buildExport) {\n const fallbackEnabledPages = new Set()\n\n for (const key of Object.keys(prerenderManifest.dynamicRoutes)) {\n // only error if page is included in path map\n if (!exportPathMap[key] && !excludedPrerenderRoutes.has(key)) {\n continue\n }\n\n if (prerenderManifest.dynamicRoutes[key].fallback !== false) {\n fallbackEnabledPages.add(key)\n }\n }\n\n if (fallbackEnabledPages.size) {\n throw new Error(\n `Found pages with \\`fallback\\` enabled:\\n${[\n ...fallbackEnabledPages,\n ].join('\\n')}\\n${SSG_FALLBACK_EXPORT_ERROR}\\n`\n )\n }\n }\n\n // Warn if the user defines a path for an API page\n if (hasApiRoutes) {\n if (!options.silent) {\n Log.warn(\n chalk.yellow(\n `Statically exporting a Next.js application via \\`next export\\` disables API routes.`\n ) +\n `\\n` +\n chalk.yellow(\n `This command is meant for static-only hosts, and is` +\n ' ' +\n chalk.bold(`not necessary to make your application static.`)\n ) +\n `\\n` +\n chalk.yellow(\n `Pages in your application without server-side data dependencies will be automatically statically exported by \\`next build\\`, including pages powered by \\`getStaticProps\\`.`\n ) +\n `\\n` +\n chalk.yellow(\n `Learn more: https://nextjs.org/docs/messages/api-routes-static-export`\n )\n )\n }\n }\n\n const progress =\n !options.silent &&\n createProgress(\n filteredPaths.length,\n `${Log.prefixes.info} ${options.statusMessage || 'Exporting'}`\n )\n const pagesDataDir = options.buildExport\n ? outDir\n : join(outDir, '_next/data', buildId)\n\n const ampValidations: AmpPageStatus = {}\n let hadValidationError = false\n\n const publicDir = join(dir, CLIENT_PUBLIC_FILES_PATH)\n // Copy public directory\n if (!options.buildExport && existsSync(publicDir)) {\n if (!options.silent) {\n Log.info('Copying \"public\" directory')\n }\n await nextExportSpan\n .traceChild('copy-public-directory')\n .traceAsyncFn(() =>\n recursiveCopy(publicDir, outDir, {\n filter(path) {\n // Exclude paths used by pages\n return !exportPathMap[path]\n },\n })\n )\n }\n\n const worker = new Worker(require.resolve('./worker'), {\n maxRetries: 0,\n numWorkers: threads,\n enableWorkerThreads: nextConfig.experimental.workerThreads,\n exposedMethods: ['default'],\n }) as Worker & { default: typeof exportPage }\n\n worker.getStdout().pipe(process.stdout)\n worker.getStderr().pipe(process.stderr)\n\n let renderError = false\n const errorPaths: string[] = []\n\n await Promise.all(\n filteredPaths.map(async (path) => {\n const pageExportSpan = nextExportSpan.traceChild('export-page')\n pageExportSpan.setAttribute('path', path)\n\n return pageExportSpan.traceAsyncFn(async () => {\n const result = await worker.default({\n path,\n pathMap: exportPathMap[path],\n distDir,\n outDir,\n pagesDataDir,\n renderOpts,\n serverRuntimeConfig,\n subFolders,\n buildExport: options.buildExport,\n serverless: isTargetLikeServerless(nextConfig.target),\n optimizeFonts: nextConfig.optimizeFonts,\n optimizeImages: nextConfig.experimental.optimizeImages,\n optimizeCss: nextConfig.experimental.optimizeCss,\n disableOptimizedLoading:\n nextConfig.experimental.disableOptimizedLoading,\n parentSpanId: pageExportSpan.id,\n })\n\n for (const validation of result.ampValidations || []) {\n const { page, result: ampValidationResult } = validation\n ampValidations[page] = ampValidationResult\n hadValidationError =\n hadValidationError ||\n (Array.isArray(ampValidationResult?.errors) &&\n ampValidationResult.errors.length > 0)\n }\n renderError = renderError || !!result.error\n if (!!result.error) errorPaths.push(path)\n\n if (options.buildExport && configuration) {\n if (typeof result.fromBuildExportRevalidate !== 'undefined') {\n configuration.initialPageRevalidationMap[path] =\n result.fromBuildExportRevalidate\n }\n\n if (result.ssgNotFound === true) {\n configuration.ssgNotFoundPaths.push(path)\n }\n }\n\n if (progress) progress()\n })\n })\n )\n\n worker.end()\n\n // copy prerendered routes to outDir\n if (!options.buildExport && prerenderManifest) {\n await Promise.all(\n Object.keys(prerenderManifest.routes).map(async (route) => {\n const { srcRoute } = prerenderManifest!.routes[route]\n const pageName = srcRoute || route\n const pagePath = getPagePath(pageName, distDir, isLikeServerless)\n const distPagesDir = join(\n pagePath,\n // strip leading / and then recurse number of nested dirs\n // to place from base folder\n pageName\n .substr(1)\n .split('/')\n .map(() => '..')\n .join('/')\n )\n route = normalizePagePath(route)\n\n const orig = join(distPagesDir, route)\n const htmlDest = join(\n outDir,\n `${route}${\n subFolders && route !== '/index' ? `${sep}index` : ''\n }.html`\n )\n const ampHtmlDest = join(\n outDir,\n `${route}.amp${subFolders ? `${sep}index` : ''}.html`\n )\n const jsonDest = join(pagesDataDir, `${route}.json`)\n\n await promises.mkdir(dirname(htmlDest), { recursive: true })\n await promises.mkdir(dirname(jsonDest), { recursive: true })\n await promises.copyFile(`${orig}.html`, htmlDest)\n await promises.copyFile(`${orig}.json`, jsonDest)\n\n if (await exists(`${orig}.amp.html`)) {\n await promises.mkdir(dirname(ampHtmlDest), { recursive: true })\n await promises.copyFile(`${orig}.amp.html`, ampHtmlDest)\n }\n })\n )\n }\n\n if (Object.keys(ampValidations).length) {\n console.log(formatAmpMessages(ampValidations))\n }\n if (hadValidationError) {\n throw new Error(\n `AMP Validation caused the export to fail. https://nextjs.org/docs/messages/amp-export-validation`\n )\n }\n\n if (renderError) {\n throw new Error(\n `Export encountered errors on following paths:\\n\\t${errorPaths\n .sort()\n .join('\\n\\t')}`\n )\n }\n\n writeFileSync(\n join(distDir, EXPORT_DETAIL),\n JSON.stringify({\n version: 1,\n outDirectory: outDir,\n success: true,\n }),\n 'utf8'\n )\n\n if (telemetry) {\n await telemetry.flush()\n }\n })\n}\n"]}
\No newline at end of file