next 15.3.0-canary.25 → 15.3.0-canary.26
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 +2 -2
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack/plugins/build-manifest-plugin.d.ts +1 -0
- package/dist/build/webpack/plugins/build-manifest-plugin.js +4 -0
- package/dist/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/app-page-experimental.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-page-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/app-page.runtime.prod.js.map +1 -1
- package/dist/esm/build/index.js +2 -2
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/webpack/plugins/build-manifest-plugin.js +1 -1
- package/dist/esm/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
- package/dist/esm/build/webpack-config.js +2 -2
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/esm/shared/lib/turbopack/manifest-loader.js +2 -2
- package/dist/esm/shared/lib/turbopack/manifest-loader.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/shared/lib/turbopack/manifest-loader.js +1 -1
- package/dist/shared/lib/turbopack/manifest-loader.js.map +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
package/dist/esm/build/index.js
CHANGED
@@ -300,7 +300,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
300
300
|
const nextBuildSpan = trace('next-build', undefined, {
|
301
301
|
buildMode: experimentalBuildMode,
|
302
302
|
isTurboBuild: String(turboNextBuild),
|
303
|
-
version: "15.3.0-canary.
|
303
|
+
version: "15.3.0-canary.26"
|
304
304
|
});
|
305
305
|
NextBuildContext.nextBuildSpan = nextBuildSpan;
|
306
306
|
NextBuildContext.dir = dir;
|
@@ -681,7 +681,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
681
681
|
// Files outside of the distDir can be "type": "module"
|
682
682
|
await writeFileUtf8(path.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
683
683
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
684
|
-
await recordFrameworkVersion("15.3.0-canary.
|
684
|
+
await recordFrameworkVersion("15.3.0-canary.26");
|
685
685
|
await updateBuildDiagnostics({
|
686
686
|
buildStage: 'start'
|
687
687
|
});
|
@@ -11,7 +11,7 @@ import { isDeepStrictEqual } from 'util';
|
|
11
11
|
import { getDefineEnv } from '../webpack/plugins/define-env-plugin';
|
12
12
|
import { getReactCompilerLoader } from '../get-babel-loader-config';
|
13
13
|
import { TurbopackInternalError } from '../../shared/lib/turbopack/utils';
|
14
|
-
const nextVersion = "15.3.0-canary.
|
14
|
+
const nextVersion = "15.3.0-canary.26";
|
15
15
|
const ArchName = arch();
|
16
16
|
const PlatformName = platform();
|
17
17
|
function infoLog(...args) {
|
@@ -14,7 +14,7 @@ export const srcEmptySsgManifest = `self.__SSG_MANIFEST=new Set;self.__SSG_MANIF
|
|
14
14
|
function buildNodejsLowPriorityPath(filename, buildId) {
|
15
15
|
return `${CLIENT_STATIC_FILES_PATH}/${buildId}/${filename}`;
|
16
16
|
}
|
17
|
-
function createEdgeRuntimeManifest(originAssetMap) {
|
17
|
+
export function createEdgeRuntimeManifest(originAssetMap) {
|
18
18
|
const manifestFilenames = [
|
19
19
|
'_buildManifest.js',
|
20
20
|
'_ssgManifest.js'
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/build/webpack/plugins/build-manifest-plugin.ts"],"sourcesContent":["import type { BloomFilter } from '../../../shared/lib/bloom-filter'\nimport type { Rewrite, CustomRoutes } from '../../../lib/load-custom-routes'\nimport devalue from 'next/dist/compiled/devalue'\nimport { webpack, sources } from 'next/dist/compiled/webpack/webpack'\nimport {\n BUILD_MANIFEST,\n MIDDLEWARE_BUILD_MANIFEST,\n CLIENT_STATIC_FILES_PATH,\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP,\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n SYSTEM_ENTRYPOINTS,\n} from '../../../shared/lib/constants'\nimport type { BuildManifest } from '../../../server/get-page-files'\nimport getRouteFromEntrypoint from '../../../server/get-route-from-entrypoint'\nimport { ampFirstEntryNamesMap } from './next-drop-client-page-plugin'\nimport { getSortedRoutes } from '../../../shared/lib/router/utils'\nimport { Span } from '../../../trace'\nimport { getCompilationSpan } from '../utils'\n\ntype DeepMutable<T> = { -readonly [P in keyof T]: DeepMutable<T[P]> }\n\nexport type ClientBuildManifest = {\n [key: string]: string[]\n}\n\n// Add the runtime ssg manifest file as a lazy-loaded file dependency.\n// We also stub this file out for development mode (when it is not\n// generated).\nexport const srcEmptySsgManifest = `self.__SSG_MANIFEST=new Set;self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()`\n\n// nodejs: '/static/<build id>/low-priority.js'\nfunction buildNodejsLowPriorityPath(filename: string, buildId: string) {\n return `${CLIENT_STATIC_FILES_PATH}/${buildId}/${filename}`\n}\n\nfunction createEdgeRuntimeManifest(originAssetMap: BuildManifest): string {\n const manifestFilenames = ['_buildManifest.js', '_ssgManifest.js']\n\n const assetMap: BuildManifest = {\n ...originAssetMap,\n lowPriorityFiles: [],\n }\n\n // we use globalThis here because middleware can be node\n // which doesn't have \"self\"\n const manifestDefCode = `globalThis.__BUILD_MANIFEST = ${JSON.stringify(\n assetMap,\n null,\n 2\n )};\\n`\n // edge lowPriorityFiles item: '\"/static/\" + process.env.__NEXT_BUILD_ID + \"/low-priority.js\"'.\n // Since lowPriorityFiles is not fixed and relying on `process.env.__NEXT_BUILD_ID`, we'll produce code creating it dynamically.\n const lowPriorityFilesCode =\n `globalThis.__BUILD_MANIFEST.lowPriorityFiles = [\\n` +\n manifestFilenames\n .map((filename) => {\n return `\"/static/\" + process.env.__NEXT_BUILD_ID + \"/${filename}\",\\n`\n })\n .join(',') +\n `\\n];`\n\n return manifestDefCode + lowPriorityFilesCode\n}\n\nfunction normalizeRewrite(item: {\n source: string\n destination: string\n has?: any\n}): CustomRoutes['rewrites']['beforeFiles'][0] {\n return {\n has: item.has,\n source: item.source,\n destination: item.destination,\n }\n}\n\nexport function normalizeRewritesForBuildManifest(\n rewrites: CustomRoutes['rewrites']\n): CustomRoutes['rewrites'] {\n return {\n afterFiles: rewrites.afterFiles\n ?.map(processRoute)\n ?.map((item) => normalizeRewrite(item)),\n beforeFiles: rewrites.beforeFiles\n ?.map(processRoute)\n ?.map((item) => normalizeRewrite(item)),\n fallback: rewrites.fallback\n ?.map(processRoute)\n ?.map((item) => normalizeRewrite(item)),\n }\n}\n\n// This function takes the asset map generated in BuildManifestPlugin and creates a\n// reduced version to send to the client.\nexport function generateClientManifest(\n assetMap: BuildManifest,\n rewrites: CustomRoutes['rewrites'],\n clientRouterFilters?: {\n staticFilter: ReturnType<BloomFilter['export']>\n dynamicFilter: ReturnType<BloomFilter['export']>\n },\n compiler?: any,\n compilation?: any\n): string | undefined {\n const compilationSpan = compilation\n ? getCompilationSpan(compilation)\n : compiler\n ? getCompilationSpan(compiler)\n : new Span({ name: 'client-manifest' })\n\n const genClientManifestSpan = compilationSpan?.traceChild(\n 'NextJsBuildManifest-generateClientManifest'\n )\n\n return genClientManifestSpan?.traceFn(() => {\n const clientManifest: ClientBuildManifest = {\n __rewrites: normalizeRewritesForBuildManifest(rewrites) as any,\n __routerFilterStatic: clientRouterFilters?.staticFilter as any,\n __routerFilterDynamic: clientRouterFilters?.dynamicFilter as any,\n }\n const appDependencies = new Set(assetMap.pages['/_app'])\n const sortedPageKeys = getSortedRoutes(Object.keys(assetMap.pages))\n\n sortedPageKeys.forEach((page) => {\n const dependencies = assetMap.pages[page]\n\n if (page === '/_app') return\n // Filter out dependencies in the _app entry, because those will have already\n // been loaded by the client prior to a navigation event\n const filteredDeps = dependencies.filter(\n (dep) => !appDependencies.has(dep)\n )\n\n // The manifest can omit the page if it has no requirements\n if (filteredDeps.length) {\n clientManifest[page] = filteredDeps\n }\n })\n // provide the sorted pages as an array so we don't rely on the object's keys\n // being in order and we don't slow down look-up time for page assets\n clientManifest.sortedPages = sortedPageKeys\n\n return devalue(clientManifest)\n })\n}\n\nexport function getEntrypointFiles(entrypoint: any): string[] {\n return (\n entrypoint\n ?.getFiles()\n .filter((file: string) => {\n // We don't want to include `.hot-update.js` files into the initial page\n return /(?<!\\.hot-update)\\.(js|css)($|\\?)/.test(file)\n })\n .map((file: string) => file.replace(/\\\\/g, '/')) ?? []\n )\n}\n\nexport const processRoute = (r: Rewrite) => {\n const rewrite = { ...r }\n\n // omit external rewrite destinations since these aren't\n // handled client-side\n if (!rewrite?.destination?.startsWith('/')) {\n delete (rewrite as any).destination\n }\n return rewrite\n}\n\n// This plugin creates a build-manifest.json for all assets that are being output\n// It has a mapping of \"entry\" filename to real filename. Because the real filename can be hashed in production\nexport default class BuildManifestPlugin {\n private buildId: string\n private rewrites: CustomRoutes['rewrites']\n private isDevFallback: boolean\n private appDirEnabled: boolean\n private clientRouterFilters?: Parameters<typeof generateClientManifest>[2]\n\n constructor(options: {\n buildId: string\n rewrites: CustomRoutes['rewrites']\n isDevFallback?: boolean\n appDirEnabled: boolean\n clientRouterFilters?: Parameters<typeof generateClientManifest>[2]\n }) {\n this.buildId = options.buildId\n this.isDevFallback = !!options.isDevFallback\n this.rewrites = {\n beforeFiles: [],\n afterFiles: [],\n fallback: [],\n }\n this.appDirEnabled = options.appDirEnabled\n this.clientRouterFilters = options.clientRouterFilters\n this.rewrites.beforeFiles = options.rewrites.beforeFiles.map(processRoute)\n this.rewrites.afterFiles = options.rewrites.afterFiles.map(processRoute)\n this.rewrites.fallback = options.rewrites.fallback.map(processRoute)\n }\n\n createAssets(compiler: any, compilation: any) {\n const compilationSpan =\n getCompilationSpan(compilation) ?? getCompilationSpan(compiler)\n if (!compilationSpan) {\n throw new Error('No span found for compilation')\n }\n\n const createAssetsSpan = compilationSpan.traceChild(\n 'NextJsBuildManifest-createassets'\n )\n\n return createAssetsSpan.traceFn(() => {\n const entrypoints: Map<string, any> = compilation.entrypoints\n const assetMap: DeepMutable<BuildManifest> = {\n polyfillFiles: [],\n devFiles: [],\n ampDevFiles: [],\n lowPriorityFiles: [],\n rootMainFiles: [],\n rootMainFilesTree: {},\n pages: { '/_app': [] },\n ampFirstPages: [],\n }\n\n const ampFirstEntryNames = ampFirstEntryNamesMap.get(compilation)\n if (ampFirstEntryNames) {\n for (const entryName of ampFirstEntryNames) {\n const pagePath = getRouteFromEntrypoint(entryName)\n if (!pagePath) {\n continue\n }\n\n assetMap.ampFirstPages.push(pagePath)\n }\n }\n\n const mainFiles = new Set(\n getEntrypointFiles(entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_MAIN))\n )\n\n if (this.appDirEnabled) {\n assetMap.rootMainFiles = [\n ...new Set(\n getEntrypointFiles(\n entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_MAIN_APP)\n )\n ),\n ]\n }\n\n const compilationAssets: {\n name: string\n source: typeof sources.RawSource\n info: object\n }[] = compilation.getAssets()\n\n assetMap.polyfillFiles = compilationAssets\n .filter((p) => {\n // Ensure only .js files are passed through\n if (!p.name.endsWith('.js')) {\n return false\n }\n\n return (\n p.info && CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL in p.info\n )\n })\n .map((v) => v.name)\n\n assetMap.devFiles = getEntrypointFiles(\n entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH)\n ).filter((file) => !mainFiles.has(file))\n\n assetMap.ampDevFiles = getEntrypointFiles(\n entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_AMP)\n )\n\n for (const entrypoint of compilation.entrypoints.values()) {\n if (SYSTEM_ENTRYPOINTS.has(entrypoint.name)) continue\n const pagePath = getRouteFromEntrypoint(entrypoint.name)\n\n if (!pagePath) {\n continue\n }\n\n const filesForPage = getEntrypointFiles(entrypoint)\n\n assetMap.pages[pagePath] = [...new Set([...mainFiles, ...filesForPage])]\n }\n\n if (!this.isDevFallback) {\n // Add the runtime build manifest file (generated later in this file)\n // as a dependency for the app. If the flag is false, the file won't be\n // downloaded by the client.\n const buildManifestPath = buildNodejsLowPriorityPath(\n '_buildManifest.js',\n this.buildId\n )\n const ssgManifestPath = buildNodejsLowPriorityPath(\n '_ssgManifest.js',\n this.buildId\n )\n assetMap.lowPriorityFiles.push(buildManifestPath, ssgManifestPath)\n compilation.emitAsset(\n ssgManifestPath,\n new sources.RawSource(srcEmptySsgManifest)\n )\n }\n\n assetMap.pages = Object.keys(assetMap.pages)\n .sort()\n .reduce(\n // eslint-disable-next-line\n (a, c) => ((a[c] = assetMap.pages[c]), a),\n {} as typeof assetMap.pages\n )\n\n let buildManifestName = BUILD_MANIFEST\n\n if (this.isDevFallback) {\n buildManifestName = `fallback-${BUILD_MANIFEST}`\n }\n\n compilation.emitAsset(\n buildManifestName,\n new sources.RawSource(JSON.stringify(assetMap, null, 2))\n )\n\n compilation.emitAsset(\n `server/${MIDDLEWARE_BUILD_MANIFEST}.js`,\n new sources.RawSource(`${createEdgeRuntimeManifest(assetMap)}`)\n )\n\n if (!this.isDevFallback) {\n compilation.emitAsset(\n `${CLIENT_STATIC_FILES_PATH}/${this.buildId}/_buildManifest.js`,\n new sources.RawSource(\n `self.__BUILD_MANIFEST = ${generateClientManifest(\n assetMap,\n this.rewrites,\n this.clientRouterFilters,\n compiler,\n compilation\n )};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()`\n )\n )\n }\n })\n }\n\n apply(compiler: webpack.Compiler) {\n compiler.hooks.make.tap('NextJsBuildManifest', (compilation: any) => {\n compilation.hooks.processAssets.tap(\n {\n name: 'NextJsBuildManifest',\n stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS,\n },\n () => {\n this.createAssets(compiler, compilation)\n }\n )\n })\n return\n }\n}\n"],"names":["devalue","webpack","sources","BUILD_MANIFEST","MIDDLEWARE_BUILD_MANIFEST","CLIENT_STATIC_FILES_PATH","CLIENT_STATIC_FILES_RUNTIME_MAIN","CLIENT_STATIC_FILES_RUNTIME_MAIN_APP","CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL","CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH","CLIENT_STATIC_FILES_RUNTIME_AMP","SYSTEM_ENTRYPOINTS","getRouteFromEntrypoint","ampFirstEntryNamesMap","getSortedRoutes","Span","getCompilationSpan","srcEmptySsgManifest","buildNodejsLowPriorityPath","filename","buildId","createEdgeRuntimeManifest","originAssetMap","manifestFilenames","assetMap","lowPriorityFiles","manifestDefCode","JSON","stringify","lowPriorityFilesCode","map","join","normalizeRewrite","item","has","source","destination","normalizeRewritesForBuildManifest","rewrites","afterFiles","processRoute","beforeFiles","fallback","generateClientManifest","clientRouterFilters","compiler","compilation","compilationSpan","name","genClientManifestSpan","traceChild","traceFn","clientManifest","__rewrites","__routerFilterStatic","staticFilter","__routerFilterDynamic","dynamicFilter","appDependencies","Set","pages","sortedPageKeys","Object","keys","forEach","page","dependencies","filteredDeps","filter","dep","length","sortedPages","getEntrypointFiles","entrypoint","getFiles","file","test","replace","r","rewrite","startsWith","BuildManifestPlugin","constructor","options","isDevFallback","appDirEnabled","createAssets","Error","createAssetsSpan","entrypoints","polyfillFiles","devFiles","ampDevFiles","rootMainFiles","rootMainFilesTree","ampFirstPages","ampFirstEntryNames","get","entryName","pagePath","push","mainFiles","compilationAssets","getAssets","p","endsWith","info","v","values","filesForPage","buildManifestPath","ssgManifestPath","emitAsset","RawSource","sort","reduce","a","c","buildManifestName","apply","hooks","make","tap","processAssets","stage","Compilation","PROCESS_ASSETS_STAGE_ADDITIONS"],"mappings":"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"}
|
1
|
+
{"version":3,"sources":["../../../../src/build/webpack/plugins/build-manifest-plugin.ts"],"sourcesContent":["import type { BloomFilter } from '../../../shared/lib/bloom-filter'\nimport type { Rewrite, CustomRoutes } from '../../../lib/load-custom-routes'\nimport devalue from 'next/dist/compiled/devalue'\nimport { webpack, sources } from 'next/dist/compiled/webpack/webpack'\nimport {\n BUILD_MANIFEST,\n MIDDLEWARE_BUILD_MANIFEST,\n CLIENT_STATIC_FILES_PATH,\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP,\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n SYSTEM_ENTRYPOINTS,\n} from '../../../shared/lib/constants'\nimport type { BuildManifest } from '../../../server/get-page-files'\nimport getRouteFromEntrypoint from '../../../server/get-route-from-entrypoint'\nimport { ampFirstEntryNamesMap } from './next-drop-client-page-plugin'\nimport { getSortedRoutes } from '../../../shared/lib/router/utils'\nimport { Span } from '../../../trace'\nimport { getCompilationSpan } from '../utils'\n\ntype DeepMutable<T> = { -readonly [P in keyof T]: DeepMutable<T[P]> }\n\nexport type ClientBuildManifest = {\n [key: string]: string[]\n}\n\n// Add the runtime ssg manifest file as a lazy-loaded file dependency.\n// We also stub this file out for development mode (when it is not\n// generated).\nexport const srcEmptySsgManifest = `self.__SSG_MANIFEST=new Set;self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()`\n\n// nodejs: '/static/<build id>/low-priority.js'\nfunction buildNodejsLowPriorityPath(filename: string, buildId: string) {\n return `${CLIENT_STATIC_FILES_PATH}/${buildId}/${filename}`\n}\n\nexport function createEdgeRuntimeManifest(\n originAssetMap: Partial<BuildManifest>\n): string {\n const manifestFilenames = ['_buildManifest.js', '_ssgManifest.js']\n\n const assetMap: Partial<BuildManifest> = {\n ...originAssetMap,\n lowPriorityFiles: [],\n }\n\n // we use globalThis here because middleware can be node\n // which doesn't have \"self\"\n const manifestDefCode = `globalThis.__BUILD_MANIFEST = ${JSON.stringify(\n assetMap,\n null,\n 2\n )};\\n`\n // edge lowPriorityFiles item: '\"/static/\" + process.env.__NEXT_BUILD_ID + \"/low-priority.js\"'.\n // Since lowPriorityFiles is not fixed and relying on `process.env.__NEXT_BUILD_ID`, we'll produce code creating it dynamically.\n const lowPriorityFilesCode =\n `globalThis.__BUILD_MANIFEST.lowPriorityFiles = [\\n` +\n manifestFilenames\n .map((filename) => {\n return `\"/static/\" + process.env.__NEXT_BUILD_ID + \"/${filename}\",\\n`\n })\n .join(',') +\n `\\n];`\n\n return manifestDefCode + lowPriorityFilesCode\n}\n\nfunction normalizeRewrite(item: {\n source: string\n destination: string\n has?: any\n}): CustomRoutes['rewrites']['beforeFiles'][0] {\n return {\n has: item.has,\n source: item.source,\n destination: item.destination,\n }\n}\n\nexport function normalizeRewritesForBuildManifest(\n rewrites: CustomRoutes['rewrites']\n): CustomRoutes['rewrites'] {\n return {\n afterFiles: rewrites.afterFiles\n ?.map(processRoute)\n ?.map((item) => normalizeRewrite(item)),\n beforeFiles: rewrites.beforeFiles\n ?.map(processRoute)\n ?.map((item) => normalizeRewrite(item)),\n fallback: rewrites.fallback\n ?.map(processRoute)\n ?.map((item) => normalizeRewrite(item)),\n }\n}\n\n// This function takes the asset map generated in BuildManifestPlugin and creates a\n// reduced version to send to the client.\nexport function generateClientManifest(\n assetMap: BuildManifest,\n rewrites: CustomRoutes['rewrites'],\n clientRouterFilters?: {\n staticFilter: ReturnType<BloomFilter['export']>\n dynamicFilter: ReturnType<BloomFilter['export']>\n },\n compiler?: any,\n compilation?: any\n): string | undefined {\n const compilationSpan = compilation\n ? getCompilationSpan(compilation)\n : compiler\n ? getCompilationSpan(compiler)\n : new Span({ name: 'client-manifest' })\n\n const genClientManifestSpan = compilationSpan?.traceChild(\n 'NextJsBuildManifest-generateClientManifest'\n )\n\n return genClientManifestSpan?.traceFn(() => {\n const clientManifest: ClientBuildManifest = {\n __rewrites: normalizeRewritesForBuildManifest(rewrites) as any,\n __routerFilterStatic: clientRouterFilters?.staticFilter as any,\n __routerFilterDynamic: clientRouterFilters?.dynamicFilter as any,\n }\n const appDependencies = new Set(assetMap.pages['/_app'])\n const sortedPageKeys = getSortedRoutes(Object.keys(assetMap.pages))\n\n sortedPageKeys.forEach((page) => {\n const dependencies = assetMap.pages[page]\n\n if (page === '/_app') return\n // Filter out dependencies in the _app entry, because those will have already\n // been loaded by the client prior to a navigation event\n const filteredDeps = dependencies.filter(\n (dep) => !appDependencies.has(dep)\n )\n\n // The manifest can omit the page if it has no requirements\n if (filteredDeps.length) {\n clientManifest[page] = filteredDeps\n }\n })\n // provide the sorted pages as an array so we don't rely on the object's keys\n // being in order and we don't slow down look-up time for page assets\n clientManifest.sortedPages = sortedPageKeys\n\n return devalue(clientManifest)\n })\n}\n\nexport function getEntrypointFiles(entrypoint: any): string[] {\n return (\n entrypoint\n ?.getFiles()\n .filter((file: string) => {\n // We don't want to include `.hot-update.js` files into the initial page\n return /(?<!\\.hot-update)\\.(js|css)($|\\?)/.test(file)\n })\n .map((file: string) => file.replace(/\\\\/g, '/')) ?? []\n )\n}\n\nexport const processRoute = (r: Rewrite) => {\n const rewrite = { ...r }\n\n // omit external rewrite destinations since these aren't\n // handled client-side\n if (!rewrite?.destination?.startsWith('/')) {\n delete (rewrite as any).destination\n }\n return rewrite\n}\n\n// This plugin creates a build-manifest.json for all assets that are being output\n// It has a mapping of \"entry\" filename to real filename. Because the real filename can be hashed in production\nexport default class BuildManifestPlugin {\n private buildId: string\n private rewrites: CustomRoutes['rewrites']\n private isDevFallback: boolean\n private appDirEnabled: boolean\n private clientRouterFilters?: Parameters<typeof generateClientManifest>[2]\n\n constructor(options: {\n buildId: string\n rewrites: CustomRoutes['rewrites']\n isDevFallback?: boolean\n appDirEnabled: boolean\n clientRouterFilters?: Parameters<typeof generateClientManifest>[2]\n }) {\n this.buildId = options.buildId\n this.isDevFallback = !!options.isDevFallback\n this.rewrites = {\n beforeFiles: [],\n afterFiles: [],\n fallback: [],\n }\n this.appDirEnabled = options.appDirEnabled\n this.clientRouterFilters = options.clientRouterFilters\n this.rewrites.beforeFiles = options.rewrites.beforeFiles.map(processRoute)\n this.rewrites.afterFiles = options.rewrites.afterFiles.map(processRoute)\n this.rewrites.fallback = options.rewrites.fallback.map(processRoute)\n }\n\n createAssets(compiler: any, compilation: any) {\n const compilationSpan =\n getCompilationSpan(compilation) ?? getCompilationSpan(compiler)\n if (!compilationSpan) {\n throw new Error('No span found for compilation')\n }\n\n const createAssetsSpan = compilationSpan.traceChild(\n 'NextJsBuildManifest-createassets'\n )\n\n return createAssetsSpan.traceFn(() => {\n const entrypoints: Map<string, any> = compilation.entrypoints\n const assetMap: DeepMutable<BuildManifest> = {\n polyfillFiles: [],\n devFiles: [],\n ampDevFiles: [],\n lowPriorityFiles: [],\n rootMainFiles: [],\n rootMainFilesTree: {},\n pages: { '/_app': [] },\n ampFirstPages: [],\n }\n\n const ampFirstEntryNames = ampFirstEntryNamesMap.get(compilation)\n if (ampFirstEntryNames) {\n for (const entryName of ampFirstEntryNames) {\n const pagePath = getRouteFromEntrypoint(entryName)\n if (!pagePath) {\n continue\n }\n\n assetMap.ampFirstPages.push(pagePath)\n }\n }\n\n const mainFiles = new Set(\n getEntrypointFiles(entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_MAIN))\n )\n\n if (this.appDirEnabled) {\n assetMap.rootMainFiles = [\n ...new Set(\n getEntrypointFiles(\n entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_MAIN_APP)\n )\n ),\n ]\n }\n\n const compilationAssets: {\n name: string\n source: typeof sources.RawSource\n info: object\n }[] = compilation.getAssets()\n\n assetMap.polyfillFiles = compilationAssets\n .filter((p) => {\n // Ensure only .js files are passed through\n if (!p.name.endsWith('.js')) {\n return false\n }\n\n return (\n p.info && CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL in p.info\n )\n })\n .map((v) => v.name)\n\n assetMap.devFiles = getEntrypointFiles(\n entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH)\n ).filter((file) => !mainFiles.has(file))\n\n assetMap.ampDevFiles = getEntrypointFiles(\n entrypoints.get(CLIENT_STATIC_FILES_RUNTIME_AMP)\n )\n\n for (const entrypoint of compilation.entrypoints.values()) {\n if (SYSTEM_ENTRYPOINTS.has(entrypoint.name)) continue\n const pagePath = getRouteFromEntrypoint(entrypoint.name)\n\n if (!pagePath) {\n continue\n }\n\n const filesForPage = getEntrypointFiles(entrypoint)\n\n assetMap.pages[pagePath] = [...new Set([...mainFiles, ...filesForPage])]\n }\n\n if (!this.isDevFallback) {\n // Add the runtime build manifest file (generated later in this file)\n // as a dependency for the app. If the flag is false, the file won't be\n // downloaded by the client.\n const buildManifestPath = buildNodejsLowPriorityPath(\n '_buildManifest.js',\n this.buildId\n )\n const ssgManifestPath = buildNodejsLowPriorityPath(\n '_ssgManifest.js',\n this.buildId\n )\n assetMap.lowPriorityFiles.push(buildManifestPath, ssgManifestPath)\n compilation.emitAsset(\n ssgManifestPath,\n new sources.RawSource(srcEmptySsgManifest)\n )\n }\n\n assetMap.pages = Object.keys(assetMap.pages)\n .sort()\n .reduce(\n // eslint-disable-next-line\n (a, c) => ((a[c] = assetMap.pages[c]), a),\n {} as typeof assetMap.pages\n )\n\n let buildManifestName = BUILD_MANIFEST\n\n if (this.isDevFallback) {\n buildManifestName = `fallback-${BUILD_MANIFEST}`\n }\n\n compilation.emitAsset(\n buildManifestName,\n new sources.RawSource(JSON.stringify(assetMap, null, 2))\n )\n\n compilation.emitAsset(\n `server/${MIDDLEWARE_BUILD_MANIFEST}.js`,\n new sources.RawSource(`${createEdgeRuntimeManifest(assetMap)}`)\n )\n\n if (!this.isDevFallback) {\n compilation.emitAsset(\n `${CLIENT_STATIC_FILES_PATH}/${this.buildId}/_buildManifest.js`,\n new sources.RawSource(\n `self.__BUILD_MANIFEST = ${generateClientManifest(\n assetMap,\n this.rewrites,\n this.clientRouterFilters,\n compiler,\n compilation\n )};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()`\n )\n )\n }\n })\n }\n\n apply(compiler: webpack.Compiler) {\n compiler.hooks.make.tap('NextJsBuildManifest', (compilation: any) => {\n compilation.hooks.processAssets.tap(\n {\n name: 'NextJsBuildManifest',\n stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS,\n },\n () => {\n this.createAssets(compiler, compilation)\n }\n )\n })\n return\n }\n}\n"],"names":["devalue","webpack","sources","BUILD_MANIFEST","MIDDLEWARE_BUILD_MANIFEST","CLIENT_STATIC_FILES_PATH","CLIENT_STATIC_FILES_RUNTIME_MAIN","CLIENT_STATIC_FILES_RUNTIME_MAIN_APP","CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL","CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH","CLIENT_STATIC_FILES_RUNTIME_AMP","SYSTEM_ENTRYPOINTS","getRouteFromEntrypoint","ampFirstEntryNamesMap","getSortedRoutes","Span","getCompilationSpan","srcEmptySsgManifest","buildNodejsLowPriorityPath","filename","buildId","createEdgeRuntimeManifest","originAssetMap","manifestFilenames","assetMap","lowPriorityFiles","manifestDefCode","JSON","stringify","lowPriorityFilesCode","map","join","normalizeRewrite","item","has","source","destination","normalizeRewritesForBuildManifest","rewrites","afterFiles","processRoute","beforeFiles","fallback","generateClientManifest","clientRouterFilters","compiler","compilation","compilationSpan","name","genClientManifestSpan","traceChild","traceFn","clientManifest","__rewrites","__routerFilterStatic","staticFilter","__routerFilterDynamic","dynamicFilter","appDependencies","Set","pages","sortedPageKeys","Object","keys","forEach","page","dependencies","filteredDeps","filter","dep","length","sortedPages","getEntrypointFiles","entrypoint","getFiles","file","test","replace","r","rewrite","startsWith","BuildManifestPlugin","constructor","options","isDevFallback","appDirEnabled","createAssets","Error","createAssetsSpan","entrypoints","polyfillFiles","devFiles","ampDevFiles","rootMainFiles","rootMainFilesTree","ampFirstPages","ampFirstEntryNames","get","entryName","pagePath","push","mainFiles","compilationAssets","getAssets","p","endsWith","info","v","values","filesForPage","buildManifestPath","ssgManifestPath","emitAsset","RawSource","sort","reduce","a","c","buildManifestName","apply","hooks","make","tap","processAssets","stage","Compilation","PROCESS_ASSETS_STAGE_ADDITIONS"],"mappings":"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"}
|
@@ -1541,7 +1541,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
1541
1541
|
isClient && new CopyFilePlugin({
|
1542
1542
|
// file path to build output of `@next/polyfill-nomodule`
|
1543
1543
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
1544
|
-
cacheKey: "15.3.0-canary.
|
1544
|
+
cacheKey: "15.3.0-canary.26",
|
1545
1545
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
1546
1546
|
minimize: false,
|
1547
1547
|
info: {
|
@@ -1718,7 +1718,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
1718
1718
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
1719
1719
|
// - Next.js version
|
1720
1720
|
// - next.config.js keys that affect compilation
|
1721
|
-
version: `${__dirname}|${"15.3.0-canary.
|
1721
|
+
version: `${__dirname}|${"15.3.0-canary.26"}|${configVars}`,
|
1722
1722
|
cacheDirectory: path.join(distDir, 'cache', 'webpack'),
|
1723
1723
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
1724
1724
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
package/dist/esm/client/index.js
CHANGED
@@ -26,7 +26,7 @@ import { SearchParamsContext, PathParamsContext } from '../shared/lib/hooks-clie
|
|
26
26
|
import { onRecoverableError } from './react-client-callbacks/on-recoverable-error';
|
27
27
|
import tracer from './tracing/tracer';
|
28
28
|
import { isNextRouterError } from './components/is-next-router-error';
|
29
|
-
export const version = "15.3.0-canary.
|
29
|
+
export const version = "15.3.0-canary.26";
|
30
30
|
export let router;
|
31
31
|
export const emitter = mitt();
|
32
32
|
const looseToArray = (input)=>[].slice.call(input);
|
@@ -83,7 +83,7 @@ export async function createHotReloaderTurbopack(opts, serverFields, distDir, re
|
|
83
83
|
}
|
84
84
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
85
85
|
const hotReloaderSpan = trace('hot-reloader', undefined, {
|
86
|
-
version: "15.3.0-canary.
|
86
|
+
version: "15.3.0-canary.26"
|
87
87
|
});
|
88
88
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
89
89
|
// of the current `next dev` invocation.
|
@@ -180,7 +180,7 @@ export default class HotReloaderWebpack {
|
|
180
180
|
this.previewProps = previewProps;
|
181
181
|
this.rewrites = rewrites;
|
182
182
|
this.hotReloaderSpan = trace('hot-reloader', undefined, {
|
183
|
-
version: "15.3.0-canary.
|
183
|
+
version: "15.3.0-canary.26"
|
184
184
|
});
|
185
185
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
186
186
|
// of the current `next dev` invocation.
|
@@ -12,7 +12,7 @@ export function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures
|
|
12
12
|
} else {
|
13
13
|
bundlerSuffix = '';
|
14
14
|
}
|
15
|
-
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"15.3.0-canary.
|
15
|
+
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"15.3.0-canary.26"}`))}${bundlerSuffix}`);
|
16
16
|
if (appUrl) {
|
17
17
|
Log.bootstrap(`- Local: ${appUrl}`);
|
18
18
|
}
|
@@ -43,7 +43,7 @@ export async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup,
|
|
43
43
|
export async function startServer(serverOptions) {
|
44
44
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
|
45
45
|
let { port } = serverOptions;
|
46
|
-
process.title = `next-server (v${"15.3.0-canary.
|
46
|
+
process.title = `next-server (v${"15.3.0-canary.26"})`;
|
47
47
|
let handlersReady = ()=>{};
|
48
48
|
let handlersError = ()=>{};
|
49
49
|
let handlersPromise = new Promise((resolve, reject)=>{
|
@@ -1,6 +1,6 @@
|
|
1
1
|
export function isStableBuild() {
|
2
2
|
var _process_env___NEXT_VERSION;
|
3
|
-
return !((_process_env___NEXT_VERSION = "15.3.0-canary.
|
3
|
+
return !((_process_env___NEXT_VERSION = "15.3.0-canary.26") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
4
4
|
}
|
5
5
|
export class CanaryOnlyError extends Error {
|
6
6
|
constructor(arg){
|
@@ -5,7 +5,7 @@ import { readFile } from 'fs/promises';
|
|
5
5
|
import { deleteCache } from '../../../server/dev/require-cache';
|
6
6
|
import { writeFileAtomic } from '../../../lib/fs/write-atomic';
|
7
7
|
import { isInterceptionRouteRewrite } from '../../../lib/generate-interception-routes-rewrites';
|
8
|
-
import { normalizeRewritesForBuildManifest, srcEmptySsgManifest, processRoute } from '../../../build/webpack/plugins/build-manifest-plugin';
|
8
|
+
import { normalizeRewritesForBuildManifest, srcEmptySsgManifest, processRoute, createEdgeRuntimeManifest } from '../../../build/webpack/plugins/build-manifest-plugin';
|
9
9
|
import getAssetPathFromRoute from '../router/utils/get-asset-path-from-route';
|
10
10
|
import { getEntryKey } from './entry-key';
|
11
11
|
import { getSortedRoutes } from '../router/utils';
|
@@ -237,7 +237,7 @@ export class TurbopackManifestLoader {
|
|
237
237
|
await writeFileAtomic(buildManifestPath, JSON.stringify(buildManifest, null, 2));
|
238
238
|
await writeFileAtomic(middlewareBuildManifestPath, // we use globalThis here because middleware can be node
|
239
239
|
// which doesn't have "self"
|
240
|
-
|
240
|
+
createEdgeRuntimeManifest(buildManifest));
|
241
241
|
const interceptionRewrites = JSON.stringify(rewrites.beforeFiles.filter(isInterceptionRouteRewrite));
|
242
242
|
await writeFileAtomic(interceptionRewriteManifestPath, "self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST=" + JSON.stringify(interceptionRewrites) + ";");
|
243
243
|
const pagesKeys = [
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/shared/lib/turbopack/manifest-loader.ts"],"sourcesContent":["import type {\n EdgeFunctionDefinition,\n MiddlewareManifest,\n} from '../../../build/webpack/plugins/middleware-plugin'\nimport type {\n StatsAsset,\n StatsChunk,\n StatsChunkGroup,\n StatsModule,\n StatsCompilation as WebpackStats,\n} from 'webpack'\nimport type { BuildManifest } from '../../../server/get-page-files'\nimport type { AppBuildManifest } from '../../../build/webpack/plugins/app-build-manifest-plugin'\nimport type { PagesManifest } from '../../../build/webpack/plugins/pages-manifest-plugin'\nimport { pathToRegexp } from 'next/dist/compiled/path-to-regexp'\nimport type { ActionManifest } from '../../../build/webpack/plugins/flight-client-entry-plugin'\nimport type { NextFontManifest } from '../../../build/webpack/plugins/next-font-manifest-plugin'\nimport type { REACT_LOADABLE_MANIFEST } from '../constants'\nimport {\n APP_BUILD_MANIFEST,\n APP_PATHS_MANIFEST,\n BUILD_MANIFEST,\n INTERCEPTION_ROUTE_REWRITE_MANIFEST,\n MIDDLEWARE_BUILD_MANIFEST,\n MIDDLEWARE_MANIFEST,\n NEXT_FONT_MANIFEST,\n PAGES_MANIFEST,\n SERVER_REFERENCE_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n WEBPACK_STATS,\n} from '../constants'\nimport { join, posix } from 'path'\nimport { readFile } from 'fs/promises'\nimport type { SetupOpts } from '../../../server/lib/router-utils/setup-dev-bundler'\nimport { deleteCache } from '../../../server/dev/require-cache'\nimport { writeFileAtomic } from '../../../lib/fs/write-atomic'\nimport { isInterceptionRouteRewrite } from '../../../lib/generate-interception-routes-rewrites'\nimport {\n type ClientBuildManifest,\n normalizeRewritesForBuildManifest,\n srcEmptySsgManifest,\n processRoute,\n} from '../../../build/webpack/plugins/build-manifest-plugin'\nimport getAssetPathFromRoute from '../router/utils/get-asset-path-from-route'\nimport { getEntryKey, type EntryKey } from './entry-key'\nimport type { CustomRoutes } from '../../../lib/load-custom-routes'\nimport { getSortedRoutes } from '../router/utils'\nimport { existsSync } from 'fs'\nimport {\n addMetadataIdToRoute,\n addRouteSuffix,\n removeRouteSuffix,\n} from '../../../server/dev/turbopack-utils'\nimport { tryToParsePath } from '../../../lib/try-to-parse-path'\nimport type { Entrypoints } from '../../../build/swc/types'\n\ninterface InstrumentationDefinition {\n files: string[]\n name: 'instrumentation'\n}\n\ntype TurbopackMiddlewareManifest = MiddlewareManifest & {\n instrumentation?: InstrumentationDefinition\n}\n\ntype ManifestName =\n | typeof MIDDLEWARE_MANIFEST\n | typeof BUILD_MANIFEST\n | typeof APP_BUILD_MANIFEST\n | typeof PAGES_MANIFEST\n | typeof WEBPACK_STATS\n | typeof APP_PATHS_MANIFEST\n | `${typeof SERVER_REFERENCE_MANIFEST}.json`\n | `${typeof NEXT_FONT_MANIFEST}.json`\n | typeof REACT_LOADABLE_MANIFEST\n\nconst getManifestPath = (\n page: string,\n distDir: string,\n name: ManifestName,\n type: string,\n firstCall: boolean\n) => {\n let manifestPath = posix.join(\n distDir,\n `server`,\n type,\n type === 'middleware' || type === 'instrumentation'\n ? ''\n : type === 'app'\n ? page\n : getAssetPathFromRoute(page),\n name\n )\n\n if (firstCall) {\n const isSitemapRoute = /[\\\\/]sitemap(.xml)?\\/route$/.test(page)\n // Check the ambiguity of /sitemap and /sitemap.xml\n if (isSitemapRoute && !existsSync(manifestPath)) {\n manifestPath = getManifestPath(\n page.replace(/\\/sitemap\\/route$/, '/sitemap.xml/route'),\n distDir,\n name,\n type,\n false\n )\n }\n // existsSync is faster than using the async version\n if (!existsSync(manifestPath) && page.endsWith('/route')) {\n // TODO: Improve implementation of metadata routes, currently it requires this extra check for the variants of the files that can be written.\n let metadataPage = addRouteSuffix(\n addMetadataIdToRoute(removeRouteSuffix(page))\n )\n manifestPath = getManifestPath(metadataPage, distDir, name, type, false)\n }\n }\n\n return manifestPath\n}\n\nasync function readPartialManifest<T>(\n distDir: string,\n name: ManifestName,\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation' = 'pages'\n): Promise<T> {\n const page = pageName\n const manifestPath = getManifestPath(page, distDir, name, type, true)\n return JSON.parse(await readFile(posix.join(manifestPath), 'utf-8')) as T\n}\n\nexport class TurbopackManifestLoader {\n private actionManifests: Map<EntryKey, ActionManifest> = new Map()\n private appBuildManifests: Map<EntryKey, AppBuildManifest> = new Map()\n private appPathsManifests: Map<EntryKey, PagesManifest> = new Map()\n private buildManifests: Map<EntryKey, BuildManifest> = new Map()\n private fontManifests: Map<EntryKey, NextFontManifest> = new Map()\n private middlewareManifests: Map<EntryKey, TurbopackMiddlewareManifest> =\n new Map()\n private pagesManifests: Map<string, PagesManifest> = new Map()\n private webpackStats: Map<EntryKey, WebpackStats> = new Map()\n private encryptionKey: string\n\n private readonly distDir: string\n private readonly buildId: string\n\n constructor({\n distDir,\n buildId,\n encryptionKey,\n }: {\n buildId: string\n distDir: string\n encryptionKey: string\n }) {\n this.distDir = distDir\n this.buildId = buildId\n this.encryptionKey = encryptionKey\n }\n\n delete(key: EntryKey) {\n this.actionManifests.delete(key)\n this.appBuildManifests.delete(key)\n this.appPathsManifests.delete(key)\n this.buildManifests.delete(key)\n this.fontManifests.delete(key)\n this.middlewareManifests.delete(key)\n this.pagesManifests.delete(key)\n this.webpackStats.delete(key)\n }\n\n async loadActionManifest(pageName: string): Promise<void> {\n this.actionManifests.set(\n getEntryKey('app', 'server', pageName),\n await readPartialManifest(\n this.distDir,\n `${SERVER_REFERENCE_MANIFEST}.json`,\n pageName,\n 'app'\n )\n )\n }\n\n private async mergeActionManifests(manifests: Iterable<ActionManifest>) {\n type ActionEntries = ActionManifest['edge' | 'node']\n const manifest: ActionManifest = {\n node: {},\n edge: {},\n encryptionKey: this.encryptionKey,\n }\n\n function mergeActionIds(\n actionEntries: ActionEntries,\n other: ActionEntries\n ): void {\n for (const key in other) {\n const action = (actionEntries[key] ??= {\n workers: {},\n layer: {},\n })\n Object.assign(action.workers, other[key].workers)\n Object.assign(action.layer, other[key].layer)\n }\n }\n\n for (const m of manifests) {\n mergeActionIds(manifest.node, m.node)\n mergeActionIds(manifest.edge, m.edge)\n }\n for (const key in manifest.node) {\n const entry = manifest.node[key]\n entry.workers = sortObjectByKey(entry.workers)\n entry.layer = sortObjectByKey(entry.layer)\n }\n for (const key in manifest.edge) {\n const entry = manifest.edge[key]\n entry.workers = sortObjectByKey(entry.workers)\n entry.layer = sortObjectByKey(entry.layer)\n }\n\n return manifest\n }\n\n private async writeActionManifest(): Promise<void> {\n const actionManifest = await this.mergeActionManifests(\n this.actionManifests.values()\n )\n const actionManifestJsonPath = join(\n this.distDir,\n 'server',\n `${SERVER_REFERENCE_MANIFEST}.json`\n )\n const actionManifestJsPath = join(\n this.distDir,\n 'server',\n `${SERVER_REFERENCE_MANIFEST}.js`\n )\n const json = JSON.stringify(actionManifest, null, 2)\n deleteCache(actionManifestJsonPath)\n deleteCache(actionManifestJsPath)\n await writeFileAtomic(actionManifestJsonPath, json)\n await writeFileAtomic(\n actionManifestJsPath,\n `self.__RSC_SERVER_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n async loadAppBuildManifest(pageName: string): Promise<void> {\n this.appBuildManifests.set(\n getEntryKey('app', 'server', pageName),\n await readPartialManifest(\n this.distDir,\n APP_BUILD_MANIFEST,\n pageName,\n 'app'\n )\n )\n }\n\n private mergeAppBuildManifests(manifests: Iterable<AppBuildManifest>) {\n const manifest: AppBuildManifest = {\n pages: {},\n }\n for (const m of manifests) {\n Object.assign(manifest.pages, m.pages)\n }\n manifest.pages = sortObjectByKey(manifest.pages)\n return manifest\n }\n\n private async writeAppBuildManifest(): Promise<void> {\n const appBuildManifest = this.mergeAppBuildManifests(\n this.appBuildManifests.values()\n )\n const appBuildManifestPath = join(this.distDir, APP_BUILD_MANIFEST)\n deleteCache(appBuildManifestPath)\n await writeFileAtomic(\n appBuildManifestPath,\n JSON.stringify(appBuildManifest, null, 2)\n )\n }\n\n async loadAppPathsManifest(pageName: string): Promise<void> {\n this.appPathsManifests.set(\n getEntryKey('app', 'server', pageName),\n await readPartialManifest(\n this.distDir,\n APP_PATHS_MANIFEST,\n pageName,\n 'app'\n )\n )\n }\n\n private async writeAppPathsManifest(): Promise<void> {\n const appPathsManifest = this.mergePagesManifests(\n this.appPathsManifests.values()\n )\n const appPathsManifestPath = join(\n this.distDir,\n 'server',\n APP_PATHS_MANIFEST\n )\n deleteCache(appPathsManifestPath)\n await writeFileAtomic(\n appPathsManifestPath,\n JSON.stringify(appPathsManifest, null, 2)\n )\n }\n\n private async writeWebpackStats(): Promise<void> {\n const webpackStats = this.mergeWebpackStats(this.webpackStats.values())\n const path = join(this.distDir, 'server', WEBPACK_STATS)\n deleteCache(path)\n await writeFileAtomic(path, JSON.stringify(webpackStats, null, 2))\n }\n\n async loadBuildManifest(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): Promise<void> {\n this.buildManifests.set(\n getEntryKey(type, 'server', pageName),\n await readPartialManifest(this.distDir, BUILD_MANIFEST, pageName, type)\n )\n }\n\n async loadWebpackStats(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): Promise<void> {\n this.webpackStats.set(\n getEntryKey(type, 'client', pageName),\n await readPartialManifest(this.distDir, WEBPACK_STATS, pageName, type)\n )\n }\n\n private mergeWebpackStats(statsFiles: Iterable<WebpackStats>): WebpackStats {\n const entrypoints: Record<string, StatsChunkGroup> = {}\n const assets: Map<string, StatsAsset> = new Map()\n const chunks: Map<string, StatsChunk> = new Map()\n const modules: Map<string | number, StatsModule> = new Map()\n\n for (const statsFile of statsFiles) {\n if (statsFile.entrypoints) {\n for (const [k, v] of Object.entries(statsFile.entrypoints)) {\n if (!entrypoints[k]) {\n entrypoints[k] = v\n }\n }\n }\n\n if (statsFile.assets) {\n for (const asset of statsFile.assets) {\n if (!assets.has(asset.name)) {\n assets.set(asset.name, asset)\n }\n }\n }\n\n if (statsFile.chunks) {\n for (const chunk of statsFile.chunks) {\n if (!chunks.has(chunk.name)) {\n chunks.set(chunk.name, chunk)\n }\n }\n }\n\n if (statsFile.modules) {\n for (const module of statsFile.modules) {\n const id = module.id\n if (id != null) {\n // Merge the chunk list for the module. This can vary across endpoints.\n const existing = modules.get(id)\n if (existing == null) {\n modules.set(id, module)\n } else if (module.chunks != null && existing.chunks != null) {\n for (const chunk of module.chunks) {\n if (!existing.chunks.includes(chunk)) {\n existing.chunks.push(chunk)\n }\n }\n }\n }\n }\n }\n }\n\n return {\n entrypoints,\n assets: [...assets.values()],\n chunks: [...chunks.values()],\n modules: [...modules.values()],\n }\n }\n\n private mergeBuildManifests(manifests: Iterable<BuildManifest>) {\n const manifest: Partial<BuildManifest> & Pick<BuildManifest, 'pages'> = {\n pages: {\n '/_app': [],\n },\n // Something in next.js depends on these to exist even for app dir rendering\n devFiles: [],\n ampDevFiles: [],\n polyfillFiles: [],\n lowPriorityFiles: [\n `static/${this.buildId}/_ssgManifest.js`,\n `static/${this.buildId}/_buildManifest.js`,\n ],\n rootMainFiles: [],\n ampFirstPages: [],\n }\n for (const m of manifests) {\n Object.assign(manifest.pages, m.pages)\n if (m.rootMainFiles.length) manifest.rootMainFiles = m.rootMainFiles\n // polyfillFiles should always be the same, so we can overwrite instead of actually merging\n if (m.polyfillFiles.length) manifest.polyfillFiles = m.polyfillFiles\n }\n manifest.pages = sortObjectByKey(manifest.pages) as BuildManifest['pages']\n return manifest\n }\n\n private async writeBuildManifest(\n entrypoints: Entrypoints,\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined,\n productionRewrites: CustomRoutes['rewrites'] | undefined\n ): Promise<void> {\n const rewrites = productionRewrites ?? {\n ...devRewrites,\n beforeFiles: (devRewrites?.beforeFiles ?? []).map(processRoute),\n afterFiles: (devRewrites?.afterFiles ?? []).map(processRoute),\n fallback: (devRewrites?.fallback ?? []).map(processRoute),\n }\n const buildManifest = this.mergeBuildManifests(this.buildManifests.values())\n const buildManifestPath = join(this.distDir, BUILD_MANIFEST)\n const middlewareBuildManifestPath = join(\n this.distDir,\n 'server',\n `${MIDDLEWARE_BUILD_MANIFEST}.js`\n )\n const interceptionRewriteManifestPath = join(\n this.distDir,\n 'server',\n `${INTERCEPTION_ROUTE_REWRITE_MANIFEST}.js`\n )\n deleteCache(buildManifestPath)\n deleteCache(middlewareBuildManifestPath)\n deleteCache(interceptionRewriteManifestPath)\n await writeFileAtomic(\n buildManifestPath,\n JSON.stringify(buildManifest, null, 2)\n )\n await writeFileAtomic(\n middlewareBuildManifestPath,\n // we use globalThis here because middleware can be node\n // which doesn't have \"self\"\n `globalThis.__BUILD_MANIFEST=${JSON.stringify(buildManifest)};`\n )\n\n const interceptionRewrites = JSON.stringify(\n rewrites.beforeFiles.filter(isInterceptionRouteRewrite)\n )\n\n await writeFileAtomic(\n interceptionRewriteManifestPath,\n `self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST=${JSON.stringify(\n interceptionRewrites\n )};`\n )\n\n const pagesKeys = [...entrypoints.page.keys()]\n if (entrypoints.global.app) {\n pagesKeys.push('/_app')\n }\n if (entrypoints.global.error) {\n pagesKeys.push('/_error')\n }\n\n const sortedPageKeys = getSortedRoutes(pagesKeys)\n const content: ClientBuildManifest = {\n __rewrites: normalizeRewritesForBuildManifest(rewrites) as any,\n ...Object.fromEntries(\n sortedPageKeys.map((pathname) => [\n pathname,\n [`static/chunks/pages${pathname === '/' ? '/index' : pathname}.js`],\n ])\n ),\n sortedPages: sortedPageKeys,\n }\n const buildManifestJs = `self.__BUILD_MANIFEST = ${JSON.stringify(\n content\n )};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()`\n await writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_buildManifest.js'),\n buildManifestJs\n )\n await writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_ssgManifest.js'),\n srcEmptySsgManifest\n )\n }\n\n private async writeClientMiddlewareManifest(): Promise<void> {\n const middlewareManifest = this.mergeMiddlewareManifests(\n this.middlewareManifests.values()\n )\n\n const matchers = middlewareManifest?.middleware['/']?.matchers || []\n\n const clientMiddlewareManifestPath = join(\n this.distDir,\n 'static',\n this.buildId,\n `${TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST}`\n )\n deleteCache(clientMiddlewareManifestPath)\n await writeFileAtomic(\n clientMiddlewareManifestPath,\n JSON.stringify(matchers, null, 2)\n )\n }\n\n private async writeFallbackBuildManifest(): Promise<void> {\n const fallbackBuildManifest = this.mergeBuildManifests(\n [\n this.buildManifests.get(getEntryKey('pages', 'server', '_app')),\n this.buildManifests.get(getEntryKey('pages', 'server', '_error')),\n ].filter(Boolean) as BuildManifest[]\n )\n const fallbackBuildManifestPath = join(\n this.distDir,\n `fallback-${BUILD_MANIFEST}`\n )\n deleteCache(fallbackBuildManifestPath)\n await writeFileAtomic(\n fallbackBuildManifestPath,\n JSON.stringify(fallbackBuildManifest, null, 2)\n )\n }\n\n async loadFontManifest(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): Promise<void> {\n this.fontManifests.set(\n getEntryKey(type, 'server', pageName),\n await readPartialManifest(\n this.distDir,\n `${NEXT_FONT_MANIFEST}.json`,\n pageName,\n type\n )\n )\n }\n\n private mergeFontManifests(manifests: Iterable<NextFontManifest>) {\n const manifest: NextFontManifest = {\n app: {},\n appUsingSizeAdjust: false,\n pages: {},\n pagesUsingSizeAdjust: false,\n }\n for (const m of manifests) {\n Object.assign(manifest.app, m.app)\n Object.assign(manifest.pages, m.pages)\n\n manifest.appUsingSizeAdjust =\n manifest.appUsingSizeAdjust || m.appUsingSizeAdjust\n manifest.pagesUsingSizeAdjust =\n manifest.pagesUsingSizeAdjust || m.pagesUsingSizeAdjust\n }\n manifest.app = sortObjectByKey(manifest.app)\n manifest.pages = sortObjectByKey(manifest.pages)\n return manifest\n }\n\n private async writeNextFontManifest(): Promise<void> {\n const fontManifest = this.mergeFontManifests(this.fontManifests.values())\n const json = JSON.stringify(fontManifest, null, 2)\n\n const fontManifestJsonPath = join(\n this.distDir,\n 'server',\n `${NEXT_FONT_MANIFEST}.json`\n )\n const fontManifestJsPath = join(\n this.distDir,\n 'server',\n `${NEXT_FONT_MANIFEST}.js`\n )\n deleteCache(fontManifestJsonPath)\n deleteCache(fontManifestJsPath)\n await writeFileAtomic(fontManifestJsonPath, json)\n await writeFileAtomic(\n fontManifestJsPath,\n `self.__NEXT_FONT_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n /**\n * @returns If the manifest was written or not\n */\n async loadMiddlewareManifest(\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation'\n ): Promise<boolean> {\n const middlewareManifestPath = getManifestPath(\n pageName,\n this.distDir,\n MIDDLEWARE_MANIFEST,\n type,\n true\n )\n\n // middlewareManifest is actually \"edge manifest\" and not all routes are edge runtime. If it is not written we skip it.\n if (!existsSync(middlewareManifestPath)) {\n return false\n }\n\n this.middlewareManifests.set(\n getEntryKey(\n type === 'middleware' || type === 'instrumentation' ? 'root' : type,\n 'server',\n pageName\n ),\n await readPartialManifest(\n this.distDir,\n MIDDLEWARE_MANIFEST,\n pageName,\n type\n )\n )\n\n return true\n }\n\n getMiddlewareManifest(key: EntryKey) {\n return this.middlewareManifests.get(key)\n }\n\n deleteMiddlewareManifest(key: EntryKey) {\n return this.middlewareManifests.delete(key)\n }\n\n private mergeMiddlewareManifests(\n manifests: Iterable<TurbopackMiddlewareManifest>\n ): MiddlewareManifest {\n const manifest: MiddlewareManifest = {\n version: 3,\n middleware: {},\n sortedMiddleware: [],\n functions: {},\n }\n let instrumentation: InstrumentationDefinition | undefined = undefined\n for (const m of manifests) {\n Object.assign(manifest.functions, m.functions)\n Object.assign(manifest.middleware, m.middleware)\n if (m.instrumentation) {\n instrumentation = m.instrumentation\n }\n }\n manifest.functions = sortObjectByKey(manifest.functions)\n manifest.middleware = sortObjectByKey(manifest.middleware)\n const updateFunctionDefinition = (\n fun: EdgeFunctionDefinition\n ): EdgeFunctionDefinition => {\n return {\n ...fun,\n files: [...(instrumentation?.files ?? []), ...fun.files],\n }\n }\n for (const key of Object.keys(manifest.middleware)) {\n const value = manifest.middleware[key]\n manifest.middleware[key] = updateFunctionDefinition(value)\n }\n for (const key of Object.keys(manifest.functions)) {\n const value = manifest.functions[key]\n manifest.functions[key] = updateFunctionDefinition(value)\n }\n for (const fun of Object.values(manifest.functions).concat(\n Object.values(manifest.middleware)\n )) {\n for (const matcher of fun.matchers) {\n if (!matcher.regexp) {\n matcher.regexp = pathToRegexp(matcher.originalSource, [], {\n delimiter: '/',\n sensitive: false,\n strict: true,\n }).source.replaceAll('\\\\/', '/')\n }\n }\n }\n manifest.sortedMiddleware = Object.keys(manifest.middleware)\n\n return manifest\n }\n\n private async writeMiddlewareManifest(): Promise<void> {\n const middlewareManifest = this.mergeMiddlewareManifests(\n this.middlewareManifests.values()\n )\n\n // Normalize regexes as it uses path-to-regexp\n for (const key in middlewareManifest.middleware) {\n middlewareManifest.middleware[key].matchers.forEach((matcher) => {\n if (!matcher.regexp.startsWith('^')) {\n const parsedPage = tryToParsePath(matcher.regexp)\n if (parsedPage.error || !parsedPage.regexStr) {\n throw new Error(`Invalid source: ${matcher.regexp}`)\n }\n matcher.regexp = parsedPage.regexStr\n }\n })\n }\n\n const middlewareManifestPath = join(\n this.distDir,\n 'server',\n MIDDLEWARE_MANIFEST\n )\n deleteCache(middlewareManifestPath)\n await writeFileAtomic(\n middlewareManifestPath,\n JSON.stringify(middlewareManifest, null, 2)\n )\n }\n\n async loadPagesManifest(pageName: string): Promise<void> {\n this.pagesManifests.set(\n getEntryKey('pages', 'server', pageName),\n await readPartialManifest(this.distDir, PAGES_MANIFEST, pageName)\n )\n }\n\n private mergePagesManifests(manifests: Iterable<PagesManifest>) {\n const manifest: PagesManifest = {}\n for (const m of manifests) {\n Object.assign(manifest, m)\n }\n return sortObjectByKey(manifest)\n }\n\n private async writePagesManifest(): Promise<void> {\n const pagesManifest = this.mergePagesManifests(this.pagesManifests.values())\n const pagesManifestPath = join(this.distDir, 'server', PAGES_MANIFEST)\n deleteCache(pagesManifestPath)\n await writeFileAtomic(\n pagesManifestPath,\n JSON.stringify(pagesManifest, null, 2)\n )\n }\n\n async writeManifests({\n devRewrites,\n productionRewrites,\n entrypoints,\n }: {\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined\n productionRewrites: CustomRoutes['rewrites'] | undefined\n entrypoints: Entrypoints\n }) {\n await this.writeActionManifest()\n await this.writeAppBuildManifest()\n await this.writeAppPathsManifest()\n await this.writeBuildManifest(entrypoints, devRewrites, productionRewrites)\n await this.writeFallbackBuildManifest()\n await this.writeMiddlewareManifest()\n await this.writeClientMiddlewareManifest()\n await this.writeNextFontManifest()\n await this.writePagesManifest()\n\n if (process.env.TURBOPACK_STATS != null) {\n await this.writeWebpackStats()\n }\n }\n}\n\nfunction sortObjectByKey(obj: Record<string, any>) {\n return Object.keys(obj)\n .sort()\n .reduce(\n (acc, key) => {\n acc[key] = obj[key]\n return acc\n },\n {} as Record<string, any>\n )\n}\n"],"names":["pathToRegexp","APP_BUILD_MANIFEST","APP_PATHS_MANIFEST","BUILD_MANIFEST","INTERCEPTION_ROUTE_REWRITE_MANIFEST","MIDDLEWARE_BUILD_MANIFEST","MIDDLEWARE_MANIFEST","NEXT_FONT_MANIFEST","PAGES_MANIFEST","SERVER_REFERENCE_MANIFEST","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","WEBPACK_STATS","join","posix","readFile","deleteCache","writeFileAtomic","isInterceptionRouteRewrite","normalizeRewritesForBuildManifest","srcEmptySsgManifest","processRoute","getAssetPathFromRoute","getEntryKey","getSortedRoutes","existsSync","addMetadataIdToRoute","addRouteSuffix","removeRouteSuffix","tryToParsePath","getManifestPath","page","distDir","name","type","firstCall","manifestPath","isSitemapRoute","test","replace","endsWith","metadataPage","readPartialManifest","pageName","JSON","parse","TurbopackManifestLoader","delete","key","actionManifests","appBuildManifests","appPathsManifests","buildManifests","fontManifests","middlewareManifests","pagesManifests","webpackStats","loadActionManifest","set","mergeActionManifests","manifests","manifest","node","edge","encryptionKey","mergeActionIds","actionEntries","other","action","workers","layer","Object","assign","m","entry","sortObjectByKey","writeActionManifest","actionManifest","values","actionManifestJsonPath","actionManifestJsPath","json","stringify","loadAppBuildManifest","mergeAppBuildManifests","pages","writeAppBuildManifest","appBuildManifest","appBuildManifestPath","loadAppPathsManifest","writeAppPathsManifest","appPathsManifest","mergePagesManifests","appPathsManifestPath","writeWebpackStats","mergeWebpackStats","path","loadBuildManifest","loadWebpackStats","statsFiles","entrypoints","assets","Map","chunks","modules","statsFile","k","v","entries","asset","has","chunk","module","id","existing","get","includes","push","mergeBuildManifests","devFiles","ampDevFiles","polyfillFiles","lowPriorityFiles","buildId","rootMainFiles","ampFirstPages","length","writeBuildManifest","devRewrites","productionRewrites","rewrites","beforeFiles","map","afterFiles","fallback","buildManifest","buildManifestPath","middlewareBuildManifestPath","interceptionRewriteManifestPath","interceptionRewrites","filter","pagesKeys","keys","global","app","error","sortedPageKeys","content","__rewrites","fromEntries","pathname","sortedPages","buildManifestJs","writeClientMiddlewareManifest","middlewareManifest","mergeMiddlewareManifests","matchers","middleware","clientMiddlewareManifestPath","writeFallbackBuildManifest","fallbackBuildManifest","Boolean","fallbackBuildManifestPath","loadFontManifest","mergeFontManifests","appUsingSizeAdjust","pagesUsingSizeAdjust","writeNextFontManifest","fontManifest","fontManifestJsonPath","fontManifestJsPath","loadMiddlewareManifest","middlewareManifestPath","getMiddlewareManifest","deleteMiddlewareManifest","version","sortedMiddleware","functions","instrumentation","undefined","updateFunctionDefinition","fun","files","value","concat","matcher","regexp","originalSource","delimiter","sensitive","strict","source","replaceAll","writeMiddlewareManifest","forEach","startsWith","parsedPage","regexStr","Error","loadPagesManifest","writePagesManifest","pagesManifest","pagesManifestPath","writeManifests","process","env","TURBOPACK_STATS","constructor","obj","sort","reduce","acc"],"mappings":"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"}
|
1
|
+
{"version":3,"sources":["../../../../src/shared/lib/turbopack/manifest-loader.ts"],"sourcesContent":["import type {\n EdgeFunctionDefinition,\n MiddlewareManifest,\n} from '../../../build/webpack/plugins/middleware-plugin'\nimport type {\n StatsAsset,\n StatsChunk,\n StatsChunkGroup,\n StatsModule,\n StatsCompilation as WebpackStats,\n} from 'webpack'\nimport type { BuildManifest } from '../../../server/get-page-files'\nimport type { AppBuildManifest } from '../../../build/webpack/plugins/app-build-manifest-plugin'\nimport type { PagesManifest } from '../../../build/webpack/plugins/pages-manifest-plugin'\nimport { pathToRegexp } from 'next/dist/compiled/path-to-regexp'\nimport type { ActionManifest } from '../../../build/webpack/plugins/flight-client-entry-plugin'\nimport type { NextFontManifest } from '../../../build/webpack/plugins/next-font-manifest-plugin'\nimport type { REACT_LOADABLE_MANIFEST } from '../constants'\nimport {\n APP_BUILD_MANIFEST,\n APP_PATHS_MANIFEST,\n BUILD_MANIFEST,\n INTERCEPTION_ROUTE_REWRITE_MANIFEST,\n MIDDLEWARE_BUILD_MANIFEST,\n MIDDLEWARE_MANIFEST,\n NEXT_FONT_MANIFEST,\n PAGES_MANIFEST,\n SERVER_REFERENCE_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n WEBPACK_STATS,\n} from '../constants'\nimport { join, posix } from 'path'\nimport { readFile } from 'fs/promises'\nimport type { SetupOpts } from '../../../server/lib/router-utils/setup-dev-bundler'\nimport { deleteCache } from '../../../server/dev/require-cache'\nimport { writeFileAtomic } from '../../../lib/fs/write-atomic'\nimport { isInterceptionRouteRewrite } from '../../../lib/generate-interception-routes-rewrites'\nimport {\n type ClientBuildManifest,\n normalizeRewritesForBuildManifest,\n srcEmptySsgManifest,\n processRoute,\n createEdgeRuntimeManifest,\n} from '../../../build/webpack/plugins/build-manifest-plugin'\nimport getAssetPathFromRoute from '../router/utils/get-asset-path-from-route'\nimport { getEntryKey, type EntryKey } from './entry-key'\nimport type { CustomRoutes } from '../../../lib/load-custom-routes'\nimport { getSortedRoutes } from '../router/utils'\nimport { existsSync } from 'fs'\nimport {\n addMetadataIdToRoute,\n addRouteSuffix,\n removeRouteSuffix,\n} from '../../../server/dev/turbopack-utils'\nimport { tryToParsePath } from '../../../lib/try-to-parse-path'\nimport type { Entrypoints } from '../../../build/swc/types'\n\ninterface InstrumentationDefinition {\n files: string[]\n name: 'instrumentation'\n}\n\ntype TurbopackMiddlewareManifest = MiddlewareManifest & {\n instrumentation?: InstrumentationDefinition\n}\n\ntype ManifestName =\n | typeof MIDDLEWARE_MANIFEST\n | typeof BUILD_MANIFEST\n | typeof APP_BUILD_MANIFEST\n | typeof PAGES_MANIFEST\n | typeof WEBPACK_STATS\n | typeof APP_PATHS_MANIFEST\n | `${typeof SERVER_REFERENCE_MANIFEST}.json`\n | `${typeof NEXT_FONT_MANIFEST}.json`\n | typeof REACT_LOADABLE_MANIFEST\n\nconst getManifestPath = (\n page: string,\n distDir: string,\n name: ManifestName,\n type: string,\n firstCall: boolean\n) => {\n let manifestPath = posix.join(\n distDir,\n `server`,\n type,\n type === 'middleware' || type === 'instrumentation'\n ? ''\n : type === 'app'\n ? page\n : getAssetPathFromRoute(page),\n name\n )\n\n if (firstCall) {\n const isSitemapRoute = /[\\\\/]sitemap(.xml)?\\/route$/.test(page)\n // Check the ambiguity of /sitemap and /sitemap.xml\n if (isSitemapRoute && !existsSync(manifestPath)) {\n manifestPath = getManifestPath(\n page.replace(/\\/sitemap\\/route$/, '/sitemap.xml/route'),\n distDir,\n name,\n type,\n false\n )\n }\n // existsSync is faster than using the async version\n if (!existsSync(manifestPath) && page.endsWith('/route')) {\n // TODO: Improve implementation of metadata routes, currently it requires this extra check for the variants of the files that can be written.\n let metadataPage = addRouteSuffix(\n addMetadataIdToRoute(removeRouteSuffix(page))\n )\n manifestPath = getManifestPath(metadataPage, distDir, name, type, false)\n }\n }\n\n return manifestPath\n}\n\nasync function readPartialManifest<T>(\n distDir: string,\n name: ManifestName,\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation' = 'pages'\n): Promise<T> {\n const page = pageName\n const manifestPath = getManifestPath(page, distDir, name, type, true)\n return JSON.parse(await readFile(posix.join(manifestPath), 'utf-8')) as T\n}\n\nexport class TurbopackManifestLoader {\n private actionManifests: Map<EntryKey, ActionManifest> = new Map()\n private appBuildManifests: Map<EntryKey, AppBuildManifest> = new Map()\n private appPathsManifests: Map<EntryKey, PagesManifest> = new Map()\n private buildManifests: Map<EntryKey, BuildManifest> = new Map()\n private fontManifests: Map<EntryKey, NextFontManifest> = new Map()\n private middlewareManifests: Map<EntryKey, TurbopackMiddlewareManifest> =\n new Map()\n private pagesManifests: Map<string, PagesManifest> = new Map()\n private webpackStats: Map<EntryKey, WebpackStats> = new Map()\n private encryptionKey: string\n\n private readonly distDir: string\n private readonly buildId: string\n\n constructor({\n distDir,\n buildId,\n encryptionKey,\n }: {\n buildId: string\n distDir: string\n encryptionKey: string\n }) {\n this.distDir = distDir\n this.buildId = buildId\n this.encryptionKey = encryptionKey\n }\n\n delete(key: EntryKey) {\n this.actionManifests.delete(key)\n this.appBuildManifests.delete(key)\n this.appPathsManifests.delete(key)\n this.buildManifests.delete(key)\n this.fontManifests.delete(key)\n this.middlewareManifests.delete(key)\n this.pagesManifests.delete(key)\n this.webpackStats.delete(key)\n }\n\n async loadActionManifest(pageName: string): Promise<void> {\n this.actionManifests.set(\n getEntryKey('app', 'server', pageName),\n await readPartialManifest(\n this.distDir,\n `${SERVER_REFERENCE_MANIFEST}.json`,\n pageName,\n 'app'\n )\n )\n }\n\n private async mergeActionManifests(manifests: Iterable<ActionManifest>) {\n type ActionEntries = ActionManifest['edge' | 'node']\n const manifest: ActionManifest = {\n node: {},\n edge: {},\n encryptionKey: this.encryptionKey,\n }\n\n function mergeActionIds(\n actionEntries: ActionEntries,\n other: ActionEntries\n ): void {\n for (const key in other) {\n const action = (actionEntries[key] ??= {\n workers: {},\n layer: {},\n })\n Object.assign(action.workers, other[key].workers)\n Object.assign(action.layer, other[key].layer)\n }\n }\n\n for (const m of manifests) {\n mergeActionIds(manifest.node, m.node)\n mergeActionIds(manifest.edge, m.edge)\n }\n for (const key in manifest.node) {\n const entry = manifest.node[key]\n entry.workers = sortObjectByKey(entry.workers)\n entry.layer = sortObjectByKey(entry.layer)\n }\n for (const key in manifest.edge) {\n const entry = manifest.edge[key]\n entry.workers = sortObjectByKey(entry.workers)\n entry.layer = sortObjectByKey(entry.layer)\n }\n\n return manifest\n }\n\n private async writeActionManifest(): Promise<void> {\n const actionManifest = await this.mergeActionManifests(\n this.actionManifests.values()\n )\n const actionManifestJsonPath = join(\n this.distDir,\n 'server',\n `${SERVER_REFERENCE_MANIFEST}.json`\n )\n const actionManifestJsPath = join(\n this.distDir,\n 'server',\n `${SERVER_REFERENCE_MANIFEST}.js`\n )\n const json = JSON.stringify(actionManifest, null, 2)\n deleteCache(actionManifestJsonPath)\n deleteCache(actionManifestJsPath)\n await writeFileAtomic(actionManifestJsonPath, json)\n await writeFileAtomic(\n actionManifestJsPath,\n `self.__RSC_SERVER_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n async loadAppBuildManifest(pageName: string): Promise<void> {\n this.appBuildManifests.set(\n getEntryKey('app', 'server', pageName),\n await readPartialManifest(\n this.distDir,\n APP_BUILD_MANIFEST,\n pageName,\n 'app'\n )\n )\n }\n\n private mergeAppBuildManifests(manifests: Iterable<AppBuildManifest>) {\n const manifest: AppBuildManifest = {\n pages: {},\n }\n for (const m of manifests) {\n Object.assign(manifest.pages, m.pages)\n }\n manifest.pages = sortObjectByKey(manifest.pages)\n return manifest\n }\n\n private async writeAppBuildManifest(): Promise<void> {\n const appBuildManifest = this.mergeAppBuildManifests(\n this.appBuildManifests.values()\n )\n const appBuildManifestPath = join(this.distDir, APP_BUILD_MANIFEST)\n deleteCache(appBuildManifestPath)\n await writeFileAtomic(\n appBuildManifestPath,\n JSON.stringify(appBuildManifest, null, 2)\n )\n }\n\n async loadAppPathsManifest(pageName: string): Promise<void> {\n this.appPathsManifests.set(\n getEntryKey('app', 'server', pageName),\n await readPartialManifest(\n this.distDir,\n APP_PATHS_MANIFEST,\n pageName,\n 'app'\n )\n )\n }\n\n private async writeAppPathsManifest(): Promise<void> {\n const appPathsManifest = this.mergePagesManifests(\n this.appPathsManifests.values()\n )\n const appPathsManifestPath = join(\n this.distDir,\n 'server',\n APP_PATHS_MANIFEST\n )\n deleteCache(appPathsManifestPath)\n await writeFileAtomic(\n appPathsManifestPath,\n JSON.stringify(appPathsManifest, null, 2)\n )\n }\n\n private async writeWebpackStats(): Promise<void> {\n const webpackStats = this.mergeWebpackStats(this.webpackStats.values())\n const path = join(this.distDir, 'server', WEBPACK_STATS)\n deleteCache(path)\n await writeFileAtomic(path, JSON.stringify(webpackStats, null, 2))\n }\n\n async loadBuildManifest(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): Promise<void> {\n this.buildManifests.set(\n getEntryKey(type, 'server', pageName),\n await readPartialManifest(this.distDir, BUILD_MANIFEST, pageName, type)\n )\n }\n\n async loadWebpackStats(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): Promise<void> {\n this.webpackStats.set(\n getEntryKey(type, 'client', pageName),\n await readPartialManifest(this.distDir, WEBPACK_STATS, pageName, type)\n )\n }\n\n private mergeWebpackStats(statsFiles: Iterable<WebpackStats>): WebpackStats {\n const entrypoints: Record<string, StatsChunkGroup> = {}\n const assets: Map<string, StatsAsset> = new Map()\n const chunks: Map<string, StatsChunk> = new Map()\n const modules: Map<string | number, StatsModule> = new Map()\n\n for (const statsFile of statsFiles) {\n if (statsFile.entrypoints) {\n for (const [k, v] of Object.entries(statsFile.entrypoints)) {\n if (!entrypoints[k]) {\n entrypoints[k] = v\n }\n }\n }\n\n if (statsFile.assets) {\n for (const asset of statsFile.assets) {\n if (!assets.has(asset.name)) {\n assets.set(asset.name, asset)\n }\n }\n }\n\n if (statsFile.chunks) {\n for (const chunk of statsFile.chunks) {\n if (!chunks.has(chunk.name)) {\n chunks.set(chunk.name, chunk)\n }\n }\n }\n\n if (statsFile.modules) {\n for (const module of statsFile.modules) {\n const id = module.id\n if (id != null) {\n // Merge the chunk list for the module. This can vary across endpoints.\n const existing = modules.get(id)\n if (existing == null) {\n modules.set(id, module)\n } else if (module.chunks != null && existing.chunks != null) {\n for (const chunk of module.chunks) {\n if (!existing.chunks.includes(chunk)) {\n existing.chunks.push(chunk)\n }\n }\n }\n }\n }\n }\n }\n\n return {\n entrypoints,\n assets: [...assets.values()],\n chunks: [...chunks.values()],\n modules: [...modules.values()],\n }\n }\n\n private mergeBuildManifests(manifests: Iterable<BuildManifest>) {\n const manifest: Partial<BuildManifest> & Pick<BuildManifest, 'pages'> = {\n pages: {\n '/_app': [],\n },\n // Something in next.js depends on these to exist even for app dir rendering\n devFiles: [],\n ampDevFiles: [],\n polyfillFiles: [],\n lowPriorityFiles: [\n `static/${this.buildId}/_ssgManifest.js`,\n `static/${this.buildId}/_buildManifest.js`,\n ],\n rootMainFiles: [],\n ampFirstPages: [],\n }\n for (const m of manifests) {\n Object.assign(manifest.pages, m.pages)\n if (m.rootMainFiles.length) manifest.rootMainFiles = m.rootMainFiles\n // polyfillFiles should always be the same, so we can overwrite instead of actually merging\n if (m.polyfillFiles.length) manifest.polyfillFiles = m.polyfillFiles\n }\n manifest.pages = sortObjectByKey(manifest.pages) as BuildManifest['pages']\n return manifest\n }\n\n private async writeBuildManifest(\n entrypoints: Entrypoints,\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined,\n productionRewrites: CustomRoutes['rewrites'] | undefined\n ): Promise<void> {\n const rewrites = productionRewrites ?? {\n ...devRewrites,\n beforeFiles: (devRewrites?.beforeFiles ?? []).map(processRoute),\n afterFiles: (devRewrites?.afterFiles ?? []).map(processRoute),\n fallback: (devRewrites?.fallback ?? []).map(processRoute),\n }\n const buildManifest = this.mergeBuildManifests(this.buildManifests.values())\n const buildManifestPath = join(this.distDir, BUILD_MANIFEST)\n const middlewareBuildManifestPath = join(\n this.distDir,\n 'server',\n `${MIDDLEWARE_BUILD_MANIFEST}.js`\n )\n const interceptionRewriteManifestPath = join(\n this.distDir,\n 'server',\n `${INTERCEPTION_ROUTE_REWRITE_MANIFEST}.js`\n )\n deleteCache(buildManifestPath)\n deleteCache(middlewareBuildManifestPath)\n deleteCache(interceptionRewriteManifestPath)\n await writeFileAtomic(\n buildManifestPath,\n JSON.stringify(buildManifest, null, 2)\n )\n await writeFileAtomic(\n middlewareBuildManifestPath,\n // we use globalThis here because middleware can be node\n // which doesn't have \"self\"\n createEdgeRuntimeManifest(buildManifest)\n )\n\n const interceptionRewrites = JSON.stringify(\n rewrites.beforeFiles.filter(isInterceptionRouteRewrite)\n )\n\n await writeFileAtomic(\n interceptionRewriteManifestPath,\n `self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST=${JSON.stringify(\n interceptionRewrites\n )};`\n )\n\n const pagesKeys = [...entrypoints.page.keys()]\n if (entrypoints.global.app) {\n pagesKeys.push('/_app')\n }\n if (entrypoints.global.error) {\n pagesKeys.push('/_error')\n }\n\n const sortedPageKeys = getSortedRoutes(pagesKeys)\n const content: ClientBuildManifest = {\n __rewrites: normalizeRewritesForBuildManifest(rewrites) as any,\n ...Object.fromEntries(\n sortedPageKeys.map((pathname) => [\n pathname,\n [`static/chunks/pages${pathname === '/' ? '/index' : pathname}.js`],\n ])\n ),\n sortedPages: sortedPageKeys,\n }\n const buildManifestJs = `self.__BUILD_MANIFEST = ${JSON.stringify(\n content\n )};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()`\n await writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_buildManifest.js'),\n buildManifestJs\n )\n await writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_ssgManifest.js'),\n srcEmptySsgManifest\n )\n }\n\n private async writeClientMiddlewareManifest(): Promise<void> {\n const middlewareManifest = this.mergeMiddlewareManifests(\n this.middlewareManifests.values()\n )\n\n const matchers = middlewareManifest?.middleware['/']?.matchers || []\n\n const clientMiddlewareManifestPath = join(\n this.distDir,\n 'static',\n this.buildId,\n `${TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST}`\n )\n deleteCache(clientMiddlewareManifestPath)\n await writeFileAtomic(\n clientMiddlewareManifestPath,\n JSON.stringify(matchers, null, 2)\n )\n }\n\n private async writeFallbackBuildManifest(): Promise<void> {\n const fallbackBuildManifest = this.mergeBuildManifests(\n [\n this.buildManifests.get(getEntryKey('pages', 'server', '_app')),\n this.buildManifests.get(getEntryKey('pages', 'server', '_error')),\n ].filter(Boolean) as BuildManifest[]\n )\n const fallbackBuildManifestPath = join(\n this.distDir,\n `fallback-${BUILD_MANIFEST}`\n )\n deleteCache(fallbackBuildManifestPath)\n await writeFileAtomic(\n fallbackBuildManifestPath,\n JSON.stringify(fallbackBuildManifest, null, 2)\n )\n }\n\n async loadFontManifest(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): Promise<void> {\n this.fontManifests.set(\n getEntryKey(type, 'server', pageName),\n await readPartialManifest(\n this.distDir,\n `${NEXT_FONT_MANIFEST}.json`,\n pageName,\n type\n )\n )\n }\n\n private mergeFontManifests(manifests: Iterable<NextFontManifest>) {\n const manifest: NextFontManifest = {\n app: {},\n appUsingSizeAdjust: false,\n pages: {},\n pagesUsingSizeAdjust: false,\n }\n for (const m of manifests) {\n Object.assign(manifest.app, m.app)\n Object.assign(manifest.pages, m.pages)\n\n manifest.appUsingSizeAdjust =\n manifest.appUsingSizeAdjust || m.appUsingSizeAdjust\n manifest.pagesUsingSizeAdjust =\n manifest.pagesUsingSizeAdjust || m.pagesUsingSizeAdjust\n }\n manifest.app = sortObjectByKey(manifest.app)\n manifest.pages = sortObjectByKey(manifest.pages)\n return manifest\n }\n\n private async writeNextFontManifest(): Promise<void> {\n const fontManifest = this.mergeFontManifests(this.fontManifests.values())\n const json = JSON.stringify(fontManifest, null, 2)\n\n const fontManifestJsonPath = join(\n this.distDir,\n 'server',\n `${NEXT_FONT_MANIFEST}.json`\n )\n const fontManifestJsPath = join(\n this.distDir,\n 'server',\n `${NEXT_FONT_MANIFEST}.js`\n )\n deleteCache(fontManifestJsonPath)\n deleteCache(fontManifestJsPath)\n await writeFileAtomic(fontManifestJsonPath, json)\n await writeFileAtomic(\n fontManifestJsPath,\n `self.__NEXT_FONT_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n /**\n * @returns If the manifest was written or not\n */\n async loadMiddlewareManifest(\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation'\n ): Promise<boolean> {\n const middlewareManifestPath = getManifestPath(\n pageName,\n this.distDir,\n MIDDLEWARE_MANIFEST,\n type,\n true\n )\n\n // middlewareManifest is actually \"edge manifest\" and not all routes are edge runtime. If it is not written we skip it.\n if (!existsSync(middlewareManifestPath)) {\n return false\n }\n\n this.middlewareManifests.set(\n getEntryKey(\n type === 'middleware' || type === 'instrumentation' ? 'root' : type,\n 'server',\n pageName\n ),\n await readPartialManifest(\n this.distDir,\n MIDDLEWARE_MANIFEST,\n pageName,\n type\n )\n )\n\n return true\n }\n\n getMiddlewareManifest(key: EntryKey) {\n return this.middlewareManifests.get(key)\n }\n\n deleteMiddlewareManifest(key: EntryKey) {\n return this.middlewareManifests.delete(key)\n }\n\n private mergeMiddlewareManifests(\n manifests: Iterable<TurbopackMiddlewareManifest>\n ): MiddlewareManifest {\n const manifest: MiddlewareManifest = {\n version: 3,\n middleware: {},\n sortedMiddleware: [],\n functions: {},\n }\n let instrumentation: InstrumentationDefinition | undefined = undefined\n for (const m of manifests) {\n Object.assign(manifest.functions, m.functions)\n Object.assign(manifest.middleware, m.middleware)\n if (m.instrumentation) {\n instrumentation = m.instrumentation\n }\n }\n manifest.functions = sortObjectByKey(manifest.functions)\n manifest.middleware = sortObjectByKey(manifest.middleware)\n const updateFunctionDefinition = (\n fun: EdgeFunctionDefinition\n ): EdgeFunctionDefinition => {\n return {\n ...fun,\n files: [...(instrumentation?.files ?? []), ...fun.files],\n }\n }\n for (const key of Object.keys(manifest.middleware)) {\n const value = manifest.middleware[key]\n manifest.middleware[key] = updateFunctionDefinition(value)\n }\n for (const key of Object.keys(manifest.functions)) {\n const value = manifest.functions[key]\n manifest.functions[key] = updateFunctionDefinition(value)\n }\n for (const fun of Object.values(manifest.functions).concat(\n Object.values(manifest.middleware)\n )) {\n for (const matcher of fun.matchers) {\n if (!matcher.regexp) {\n matcher.regexp = pathToRegexp(matcher.originalSource, [], {\n delimiter: '/',\n sensitive: false,\n strict: true,\n }).source.replaceAll('\\\\/', '/')\n }\n }\n }\n manifest.sortedMiddleware = Object.keys(manifest.middleware)\n\n return manifest\n }\n\n private async writeMiddlewareManifest(): Promise<void> {\n const middlewareManifest = this.mergeMiddlewareManifests(\n this.middlewareManifests.values()\n )\n\n // Normalize regexes as it uses path-to-regexp\n for (const key in middlewareManifest.middleware) {\n middlewareManifest.middleware[key].matchers.forEach((matcher) => {\n if (!matcher.regexp.startsWith('^')) {\n const parsedPage = tryToParsePath(matcher.regexp)\n if (parsedPage.error || !parsedPage.regexStr) {\n throw new Error(`Invalid source: ${matcher.regexp}`)\n }\n matcher.regexp = parsedPage.regexStr\n }\n })\n }\n\n const middlewareManifestPath = join(\n this.distDir,\n 'server',\n MIDDLEWARE_MANIFEST\n )\n deleteCache(middlewareManifestPath)\n await writeFileAtomic(\n middlewareManifestPath,\n JSON.stringify(middlewareManifest, null, 2)\n )\n }\n\n async loadPagesManifest(pageName: string): Promise<void> {\n this.pagesManifests.set(\n getEntryKey('pages', 'server', pageName),\n await readPartialManifest(this.distDir, PAGES_MANIFEST, pageName)\n )\n }\n\n private mergePagesManifests(manifests: Iterable<PagesManifest>) {\n const manifest: PagesManifest = {}\n for (const m of manifests) {\n Object.assign(manifest, m)\n }\n return sortObjectByKey(manifest)\n }\n\n private async writePagesManifest(): Promise<void> {\n const pagesManifest = this.mergePagesManifests(this.pagesManifests.values())\n const pagesManifestPath = join(this.distDir, 'server', PAGES_MANIFEST)\n deleteCache(pagesManifestPath)\n await writeFileAtomic(\n pagesManifestPath,\n JSON.stringify(pagesManifest, null, 2)\n )\n }\n\n async writeManifests({\n devRewrites,\n productionRewrites,\n entrypoints,\n }: {\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined\n productionRewrites: CustomRoutes['rewrites'] | undefined\n entrypoints: Entrypoints\n }) {\n await this.writeActionManifest()\n await this.writeAppBuildManifest()\n await this.writeAppPathsManifest()\n await this.writeBuildManifest(entrypoints, devRewrites, productionRewrites)\n await this.writeFallbackBuildManifest()\n await this.writeMiddlewareManifest()\n await this.writeClientMiddlewareManifest()\n await this.writeNextFontManifest()\n await this.writePagesManifest()\n\n if (process.env.TURBOPACK_STATS != null) {\n await this.writeWebpackStats()\n }\n }\n}\n\nfunction sortObjectByKey(obj: Record<string, any>) {\n return Object.keys(obj)\n .sort()\n .reduce(\n (acc, key) => {\n acc[key] = obj[key]\n return acc\n },\n {} as Record<string, any>\n )\n}\n"],"names":["pathToRegexp","APP_BUILD_MANIFEST","APP_PATHS_MANIFEST","BUILD_MANIFEST","INTERCEPTION_ROUTE_REWRITE_MANIFEST","MIDDLEWARE_BUILD_MANIFEST","MIDDLEWARE_MANIFEST","NEXT_FONT_MANIFEST","PAGES_MANIFEST","SERVER_REFERENCE_MANIFEST","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","WEBPACK_STATS","join","posix","readFile","deleteCache","writeFileAtomic","isInterceptionRouteRewrite","normalizeRewritesForBuildManifest","srcEmptySsgManifest","processRoute","createEdgeRuntimeManifest","getAssetPathFromRoute","getEntryKey","getSortedRoutes","existsSync","addMetadataIdToRoute","addRouteSuffix","removeRouteSuffix","tryToParsePath","getManifestPath","page","distDir","name","type","firstCall","manifestPath","isSitemapRoute","test","replace","endsWith","metadataPage","readPartialManifest","pageName","JSON","parse","TurbopackManifestLoader","delete","key","actionManifests","appBuildManifests","appPathsManifests","buildManifests","fontManifests","middlewareManifests","pagesManifests","webpackStats","loadActionManifest","set","mergeActionManifests","manifests","manifest","node","edge","encryptionKey","mergeActionIds","actionEntries","other","action","workers","layer","Object","assign","m","entry","sortObjectByKey","writeActionManifest","actionManifest","values","actionManifestJsonPath","actionManifestJsPath","json","stringify","loadAppBuildManifest","mergeAppBuildManifests","pages","writeAppBuildManifest","appBuildManifest","appBuildManifestPath","loadAppPathsManifest","writeAppPathsManifest","appPathsManifest","mergePagesManifests","appPathsManifestPath","writeWebpackStats","mergeWebpackStats","path","loadBuildManifest","loadWebpackStats","statsFiles","entrypoints","assets","Map","chunks","modules","statsFile","k","v","entries","asset","has","chunk","module","id","existing","get","includes","push","mergeBuildManifests","devFiles","ampDevFiles","polyfillFiles","lowPriorityFiles","buildId","rootMainFiles","ampFirstPages","length","writeBuildManifest","devRewrites","productionRewrites","rewrites","beforeFiles","map","afterFiles","fallback","buildManifest","buildManifestPath","middlewareBuildManifestPath","interceptionRewriteManifestPath","interceptionRewrites","filter","pagesKeys","keys","global","app","error","sortedPageKeys","content","__rewrites","fromEntries","pathname","sortedPages","buildManifestJs","writeClientMiddlewareManifest","middlewareManifest","mergeMiddlewareManifests","matchers","middleware","clientMiddlewareManifestPath","writeFallbackBuildManifest","fallbackBuildManifest","Boolean","fallbackBuildManifestPath","loadFontManifest","mergeFontManifests","appUsingSizeAdjust","pagesUsingSizeAdjust","writeNextFontManifest","fontManifest","fontManifestJsonPath","fontManifestJsPath","loadMiddlewareManifest","middlewareManifestPath","getMiddlewareManifest","deleteMiddlewareManifest","version","sortedMiddleware","functions","instrumentation","undefined","updateFunctionDefinition","fun","files","value","concat","matcher","regexp","originalSource","delimiter","sensitive","strict","source","replaceAll","writeMiddlewareManifest","forEach","startsWith","parsedPage","regexStr","Error","loadPagesManifest","writePagesManifest","pagesManifest","pagesManifestPath","writeManifests","process","env","TURBOPACK_STATS","constructor","obj","sort","reduce","acc"],"mappings":"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"}
|
@@ -139,7 +139,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetc
|
|
139
139
|
}
|
140
140
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
141
141
|
const hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
142
|
-
version: "15.3.0-canary.
|
142
|
+
version: "15.3.0-canary.26"
|
143
143
|
});
|
144
144
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
145
145
|
// of the current `next dev` invocation.
|
@@ -256,7 +256,7 @@ class HotReloaderWebpack {
|
|
256
256
|
this.previewProps = previewProps;
|
257
257
|
this.rewrites = rewrites;
|
258
258
|
this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
259
|
-
version: "15.3.0-canary.
|
259
|
+
version: "15.3.0-canary.26"
|
260
260
|
});
|
261
261
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
262
262
|
// of the current `next dev` invocation.
|
@@ -75,7 +75,7 @@ function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures, maxEx
|
|
75
75
|
} else {
|
76
76
|
bundlerSuffix = '';
|
77
77
|
}
|
78
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.3.0-canary.
|
78
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.3.0-canary.26"}`))}${bundlerSuffix}`);
|
79
79
|
if (appUrl) {
|
80
80
|
_log.bootstrap(`- Local: ${appUrl}`);
|
81
81
|
}
|
@@ -111,7 +111,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
|
|
111
111
|
async function startServer(serverOptions) {
|
112
112
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
|
113
113
|
let { port } = serverOptions;
|
114
|
-
process.title = `next-server (v${"15.3.0-canary.
|
114
|
+
process.title = `next-server (v${"15.3.0-canary.26"})`;
|
115
115
|
let handlersReady = ()=>{};
|
116
116
|
let handlersError = ()=>{};
|
117
117
|
let handlersPromise = new Promise((resolve, reject)=>{
|
@@ -22,7 +22,7 @@ _export(exports, {
|
|
22
22
|
});
|
23
23
|
function isStableBuild() {
|
24
24
|
var _process_env___NEXT_VERSION;
|
25
|
-
return !((_process_env___NEXT_VERSION = "15.3.0-canary.
|
25
|
+
return !((_process_env___NEXT_VERSION = "15.3.0-canary.26") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
26
26
|
}
|
27
27
|
class CanaryOnlyError extends Error {
|
28
28
|
constructor(arg){
|
@@ -248,7 +248,7 @@ class TurbopackManifestLoader {
|
|
248
248
|
await (0, _writeatomic.writeFileAtomic)(buildManifestPath, JSON.stringify(buildManifest, null, 2));
|
249
249
|
await (0, _writeatomic.writeFileAtomic)(middlewareBuildManifestPath, // we use globalThis here because middleware can be node
|
250
250
|
// which doesn't have "self"
|
251
|
-
|
251
|
+
(0, _buildmanifestplugin.createEdgeRuntimeManifest)(buildManifest));
|
252
252
|
const interceptionRewrites = JSON.stringify(rewrites.beforeFiles.filter(_generateinterceptionroutesrewrites.isInterceptionRouteRewrite));
|
253
253
|
await (0, _writeatomic.writeFileAtomic)(interceptionRewriteManifestPath, "self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST=" + JSON.stringify(interceptionRewrites) + ";");
|
254
254
|
const pagesKeys = [
|