next 15.6.0-canary.22 → 15.6.0-canary.23
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 +3 -3
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack/plugins/build-manifest-plugin-utils.d.ts +17 -0
- package/dist/build/webpack/plugins/build-manifest-plugin-utils.js +79 -0
- package/dist/build/webpack/plugins/build-manifest-plugin-utils.js.map +1 -0
- package/dist/build/webpack/plugins/build-manifest-plugin.d.ts +1 -16
- package/dist/build/webpack/plugins/build-manifest-plugin.js +8 -70
- 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/webpack/webpack.js +34 -37
- package/dist/esm/build/index.js +3 -3
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/webpack/plugins/build-manifest-plugin-utils.js +52 -0
- package/dist/esm/build/webpack/plugins/build-manifest-plugin-utils.js.map +1 -0
- package/dist/esm/build/webpack/plugins/build-manifest-plugin.js +1 -50
- 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/config-utils.js +0 -2
- package/dist/esm/server/config-utils.js.map +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js +1 -1
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/esm/shared/lib/turbopack/manifest-loader.js +1 -1
- package/dist/esm/shared/lib/turbopack/manifest-loader.js.map +1 -1
- package/dist/server/config-utils.js +0 -2
- package/dist/server/config-utils.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/router-utils/setup-dev-bundler.js +2 -2
- package/dist/server/lib/router-utils/setup-dev-bundler.js.map +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 +7 -7
- 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
@@ -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 { PagesManifest } from '../../../build/webpack/plugins/pages-manifest-plugin'\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_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_BUILD_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n WEBPACK_STATS,\n} from '../constants'\nimport { join, posix } from 'path'\nimport { readFileSync } from 'fs'\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 { safePathToRegexp } from '../router/utils/route-match-utils'\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 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 | typeof TURBOPACK_CLIENT_BUILD_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\nfunction readPartialManifest<T>(\n distDir: string,\n name: ManifestName,\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation' = 'pages'\n): T {\n const page = pageName\n const manifestPath = getManifestPath(page, distDir, name, type, true)\n return JSON.parse(readFileSync(posix.join(manifestPath), 'utf-8')) as T\n}\n\nexport class TurbopackManifestLoader {\n private actionManifests: Map<EntryKey, ActionManifest> = new Map()\n private appPathsManifests: Map<EntryKey, PagesManifest> = new Map()\n private buildManifests: Map<EntryKey, BuildManifest> = new Map()\n private clientBuildManifests: Map<EntryKey, ClientBuildManifest> = 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.appPathsManifests.delete(key)\n this.buildManifests.delete(key)\n this.clientBuildManifests.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 loadActionManifest(pageName: string): void {\n this.actionManifests.set(\n getEntryKey('app', 'server', pageName),\n readPartialManifest(\n this.distDir,\n `${SERVER_REFERENCE_MANIFEST}.json`,\n pageName,\n 'app'\n )\n )\n }\n\n private 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 action.filename = other[key].filename\n action.exportedName = other[key].exportedName\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 writeActionManifest(): void {\n const actionManifest = 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 writeFileAtomic(actionManifestJsonPath, json)\n writeFileAtomic(\n actionManifestJsPath,\n `self.__RSC_SERVER_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n loadAppPathsManifest(pageName: string): void {\n this.appPathsManifests.set(\n getEntryKey('app', 'server', pageName),\n readPartialManifest(this.distDir, APP_PATHS_MANIFEST, pageName, 'app')\n )\n }\n\n private writeAppPathsManifest(): 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 writeFileAtomic(\n appPathsManifestPath,\n JSON.stringify(appPathsManifest, null, 2)\n )\n }\n\n private writeWebpackStats(): void {\n const webpackStats = this.mergeWebpackStats(this.webpackStats.values())\n const path = join(this.distDir, 'server', WEBPACK_STATS)\n deleteCache(path)\n writeFileAtomic(path, JSON.stringify(webpackStats, null, 2))\n }\n\n loadBuildManifest(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.buildManifests.set(\n getEntryKey(type, 'server', pageName),\n readPartialManifest(this.distDir, BUILD_MANIFEST, pageName, type)\n )\n }\n\n loadClientBuildManifest(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): void {\n this.clientBuildManifests.set(\n getEntryKey(type, 'server', pageName),\n readPartialManifest(\n this.distDir,\n TURBOPACK_CLIENT_BUILD_MANIFEST,\n pageName,\n type\n )\n )\n }\n\n loadWebpackStats(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.webpackStats.set(\n getEntryKey(type, 'client', pageName),\n 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 | number, 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.id!)) {\n chunks.set(chunk.id!, 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 version: 'Turbopack',\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 mergeClientBuildManifests(\n rewrites: CustomRoutes['rewrites'],\n manifests: Iterable<ClientBuildManifest>,\n sortedPageKeys: string[]\n ): ClientBuildManifest {\n const manifest = {\n __rewrites: normalizeRewritesForBuildManifest(rewrites) as any,\n sortedPages: sortedPageKeys,\n }\n for (const m of manifests) {\n Object.assign(manifest, m)\n }\n return sortObjectByKey(manifest)\n }\n\n private writeBuildManifest(\n entrypoints: Entrypoints,\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined,\n productionRewrites: CustomRoutes['rewrites'] | undefined\n ): 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 writeFileAtomic(buildManifestPath, JSON.stringify(buildManifest, null, 2))\n 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 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 clientBuildManifest = this.mergeClientBuildManifests(\n rewrites,\n this.clientBuildManifests.values(),\n sortedPageKeys\n )\n const clientBuildManifestJs = `self.__BUILD_MANIFEST = ${JSON.stringify(\n clientBuildManifest,\n null,\n 2\n )};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()`\n writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_buildManifest.js'),\n clientBuildManifestJs\n )\n writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_ssgManifest.js'),\n srcEmptySsgManifest\n )\n }\n\n private writeClientMiddlewareManifest(): 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 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 writeFileAtomic(\n fallbackBuildManifestPath,\n JSON.stringify(fallbackBuildManifest, null, 2)\n )\n }\n\n loadFontManifest(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.fontManifests.set(\n getEntryKey(type, 'server', pageName),\n 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 writeFileAtomic(fontManifestJsonPath, json)\n 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 loadMiddlewareManifest(\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation'\n ): 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 readPartialManifest(this.distDir, MIDDLEWARE_MANIFEST, pageName, type)\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 = safePathToRegexp(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 writeMiddlewareManifest(): 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 writeFileAtomic(\n middlewareManifestPath,\n JSON.stringify(middlewareManifest, null, 2)\n )\n }\n\n loadPagesManifest(pageName: string): void {\n this.pagesManifests.set(\n getEntryKey('pages', 'server', pageName),\n 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 writePagesManifest(): void {\n const pagesManifest = this.mergePagesManifests(this.pagesManifests.values())\n const pagesManifestPath = join(this.distDir, 'server', PAGES_MANIFEST)\n deleteCache(pagesManifestPath)\n writeFileAtomic(pagesManifestPath, JSON.stringify(pagesManifest, null, 2))\n }\n\n writeManifests({\n devRewrites,\n productionRewrites,\n entrypoints,\n }: {\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined\n productionRewrites: CustomRoutes['rewrites'] | undefined\n entrypoints: Entrypoints\n }): void {\n this.writeActionManifest()\n this.writeAppPathsManifest()\n this.writeBuildManifest(entrypoints, devRewrites, productionRewrites)\n this.writeFallbackBuildManifest()\n this.writeMiddlewareManifest()\n this.writeClientMiddlewareManifest()\n this.writeNextFontManifest()\n this.writePagesManifest()\n\n if (process.env.TURBOPACK_STATS != null) {\n 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":["APP_PATHS_MANIFEST","BUILD_MANIFEST","INTERCEPTION_ROUTE_REWRITE_MANIFEST","MIDDLEWARE_BUILD_MANIFEST","MIDDLEWARE_MANIFEST","NEXT_FONT_MANIFEST","PAGES_MANIFEST","SERVER_REFERENCE_MANIFEST","TURBOPACK_CLIENT_BUILD_MANIFEST","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","WEBPACK_STATS","join","posix","readFileSync","deleteCache","writeFileAtomic","isInterceptionRouteRewrite","normalizeRewritesForBuildManifest","srcEmptySsgManifest","processRoute","createEdgeRuntimeManifest","getAssetPathFromRoute","getEntryKey","getSortedRoutes","existsSync","addMetadataIdToRoute","addRouteSuffix","removeRouteSuffix","tryToParsePath","safePathToRegexp","getManifestPath","page","distDir","name","type","firstCall","manifestPath","isSitemapRoute","test","replace","endsWith","metadataPage","readPartialManifest","pageName","JSON","parse","TurbopackManifestLoader","delete","key","actionManifests","appPathsManifests","buildManifests","clientBuildManifests","fontManifests","middlewareManifests","pagesManifests","webpackStats","loadActionManifest","set","mergeActionManifests","manifests","manifest","node","edge","encryptionKey","mergeActionIds","actionEntries","other","action","workers","layer","filename","exportedName","Object","assign","m","entry","sortObjectByKey","writeActionManifest","actionManifest","values","actionManifestJsonPath","actionManifestJsPath","json","stringify","loadAppPathsManifest","writeAppPathsManifest","appPathsManifest","mergePagesManifests","appPathsManifestPath","writeWebpackStats","mergeWebpackStats","path","loadBuildManifest","loadClientBuildManifest","loadWebpackStats","statsFiles","entrypoints","assets","Map","chunks","modules","statsFile","k","v","entries","asset","has","chunk","id","module","existing","get","includes","push","version","mergeBuildManifests","pages","devFiles","ampDevFiles","polyfillFiles","lowPriorityFiles","buildId","rootMainFiles","ampFirstPages","length","mergeClientBuildManifests","rewrites","sortedPageKeys","__rewrites","sortedPages","writeBuildManifest","devRewrites","productionRewrites","beforeFiles","map","afterFiles","fallback","buildManifest","buildManifestPath","middlewareBuildManifestPath","interceptionRewriteManifestPath","interceptionRewrites","filter","pagesKeys","keys","global","app","error","clientBuildManifest","clientBuildManifestJs","writeClientMiddlewareManifest","middlewareManifest","mergeMiddlewareManifests","matchers","middleware","clientMiddlewareManifestPath","writeFallbackBuildManifest","fallbackBuildManifest","Boolean","fallbackBuildManifestPath","loadFontManifest","mergeFontManifests","appUsingSizeAdjust","pagesUsingSizeAdjust","writeNextFontManifest","fontManifest","fontManifestJsonPath","fontManifestJsPath","loadMiddlewareManifest","middlewareManifestPath","getMiddlewareManifest","deleteMiddlewareManifest","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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","ignoreList":[0]}
|
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 { PagesManifest } from '../../../build/webpack/plugins/pages-manifest-plugin'\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_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_BUILD_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n WEBPACK_STATS,\n} from '../constants'\nimport { join, posix } from 'path'\nimport { readFileSync } from 'fs'\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 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 { safePathToRegexp } from '../router/utils/route-match-utils'\nimport type { Entrypoints } from '../../../build/swc/types'\nimport {\n normalizeRewritesForBuildManifest,\n type ClientBuildManifest,\n srcEmptySsgManifest,\n processRoute,\n createEdgeRuntimeManifest,\n} from '../../../build/webpack/plugins/build-manifest-plugin-utils'\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 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 | typeof TURBOPACK_CLIENT_BUILD_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\nfunction readPartialManifest<T>(\n distDir: string,\n name: ManifestName,\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation' = 'pages'\n): T {\n const page = pageName\n const manifestPath = getManifestPath(page, distDir, name, type, true)\n return JSON.parse(readFileSync(posix.join(manifestPath), 'utf-8')) as T\n}\n\nexport class TurbopackManifestLoader {\n private actionManifests: Map<EntryKey, ActionManifest> = new Map()\n private appPathsManifests: Map<EntryKey, PagesManifest> = new Map()\n private buildManifests: Map<EntryKey, BuildManifest> = new Map()\n private clientBuildManifests: Map<EntryKey, ClientBuildManifest> = 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.appPathsManifests.delete(key)\n this.buildManifests.delete(key)\n this.clientBuildManifests.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 loadActionManifest(pageName: string): void {\n this.actionManifests.set(\n getEntryKey('app', 'server', pageName),\n readPartialManifest(\n this.distDir,\n `${SERVER_REFERENCE_MANIFEST}.json`,\n pageName,\n 'app'\n )\n )\n }\n\n private 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 action.filename = other[key].filename\n action.exportedName = other[key].exportedName\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 writeActionManifest(): void {\n const actionManifest = 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 writeFileAtomic(actionManifestJsonPath, json)\n writeFileAtomic(\n actionManifestJsPath,\n `self.__RSC_SERVER_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n loadAppPathsManifest(pageName: string): void {\n this.appPathsManifests.set(\n getEntryKey('app', 'server', pageName),\n readPartialManifest(this.distDir, APP_PATHS_MANIFEST, pageName, 'app')\n )\n }\n\n private writeAppPathsManifest(): 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 writeFileAtomic(\n appPathsManifestPath,\n JSON.stringify(appPathsManifest, null, 2)\n )\n }\n\n private writeWebpackStats(): void {\n const webpackStats = this.mergeWebpackStats(this.webpackStats.values())\n const path = join(this.distDir, 'server', WEBPACK_STATS)\n deleteCache(path)\n writeFileAtomic(path, JSON.stringify(webpackStats, null, 2))\n }\n\n loadBuildManifest(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.buildManifests.set(\n getEntryKey(type, 'server', pageName),\n readPartialManifest(this.distDir, BUILD_MANIFEST, pageName, type)\n )\n }\n\n loadClientBuildManifest(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): void {\n this.clientBuildManifests.set(\n getEntryKey(type, 'server', pageName),\n readPartialManifest(\n this.distDir,\n TURBOPACK_CLIENT_BUILD_MANIFEST,\n pageName,\n type\n )\n )\n }\n\n loadWebpackStats(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.webpackStats.set(\n getEntryKey(type, 'client', pageName),\n 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 | number, 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.id!)) {\n chunks.set(chunk.id!, 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 version: 'Turbopack',\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 mergeClientBuildManifests(\n rewrites: CustomRoutes['rewrites'],\n manifests: Iterable<ClientBuildManifest>,\n sortedPageKeys: string[]\n ): ClientBuildManifest {\n const manifest = {\n __rewrites: normalizeRewritesForBuildManifest(rewrites) as any,\n sortedPages: sortedPageKeys,\n }\n for (const m of manifests) {\n Object.assign(manifest, m)\n }\n return sortObjectByKey(manifest)\n }\n\n private writeBuildManifest(\n entrypoints: Entrypoints,\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined,\n productionRewrites: CustomRoutes['rewrites'] | undefined\n ): 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 writeFileAtomic(buildManifestPath, JSON.stringify(buildManifest, null, 2))\n 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 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 clientBuildManifest = this.mergeClientBuildManifests(\n rewrites,\n this.clientBuildManifests.values(),\n sortedPageKeys\n )\n const clientBuildManifestJs = `self.__BUILD_MANIFEST = ${JSON.stringify(\n clientBuildManifest,\n null,\n 2\n )};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()`\n writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_buildManifest.js'),\n clientBuildManifestJs\n )\n writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_ssgManifest.js'),\n srcEmptySsgManifest\n )\n }\n\n private writeClientMiddlewareManifest(): 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 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 writeFileAtomic(\n fallbackBuildManifestPath,\n JSON.stringify(fallbackBuildManifest, null, 2)\n )\n }\n\n loadFontManifest(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.fontManifests.set(\n getEntryKey(type, 'server', pageName),\n 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 writeFileAtomic(fontManifestJsonPath, json)\n 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 loadMiddlewareManifest(\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation'\n ): 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 readPartialManifest(this.distDir, MIDDLEWARE_MANIFEST, pageName, type)\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 = safePathToRegexp(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 writeMiddlewareManifest(): 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 writeFileAtomic(\n middlewareManifestPath,\n JSON.stringify(middlewareManifest, null, 2)\n )\n }\n\n loadPagesManifest(pageName: string): void {\n this.pagesManifests.set(\n getEntryKey('pages', 'server', pageName),\n 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 writePagesManifest(): void {\n const pagesManifest = this.mergePagesManifests(this.pagesManifests.values())\n const pagesManifestPath = join(this.distDir, 'server', PAGES_MANIFEST)\n deleteCache(pagesManifestPath)\n writeFileAtomic(pagesManifestPath, JSON.stringify(pagesManifest, null, 2))\n }\n\n writeManifests({\n devRewrites,\n productionRewrites,\n entrypoints,\n }: {\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined\n productionRewrites: CustomRoutes['rewrites'] | undefined\n entrypoints: Entrypoints\n }): void {\n this.writeActionManifest()\n this.writeAppPathsManifest()\n this.writeBuildManifest(entrypoints, devRewrites, productionRewrites)\n this.writeFallbackBuildManifest()\n this.writeMiddlewareManifest()\n this.writeClientMiddlewareManifest()\n this.writeNextFontManifest()\n this.writePagesManifest()\n\n if (process.env.TURBOPACK_STATS != null) {\n 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":["APP_PATHS_MANIFEST","BUILD_MANIFEST","INTERCEPTION_ROUTE_REWRITE_MANIFEST","MIDDLEWARE_BUILD_MANIFEST","MIDDLEWARE_MANIFEST","NEXT_FONT_MANIFEST","PAGES_MANIFEST","SERVER_REFERENCE_MANIFEST","TURBOPACK_CLIENT_BUILD_MANIFEST","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","WEBPACK_STATS","join","posix","readFileSync","deleteCache","writeFileAtomic","isInterceptionRouteRewrite","getAssetPathFromRoute","getEntryKey","getSortedRoutes","existsSync","addMetadataIdToRoute","addRouteSuffix","removeRouteSuffix","tryToParsePath","safePathToRegexp","normalizeRewritesForBuildManifest","srcEmptySsgManifest","processRoute","createEdgeRuntimeManifest","getManifestPath","page","distDir","name","type","firstCall","manifestPath","isSitemapRoute","test","replace","endsWith","metadataPage","readPartialManifest","pageName","JSON","parse","TurbopackManifestLoader","delete","key","actionManifests","appPathsManifests","buildManifests","clientBuildManifests","fontManifests","middlewareManifests","pagesManifests","webpackStats","loadActionManifest","set","mergeActionManifests","manifests","manifest","node","edge","encryptionKey","mergeActionIds","actionEntries","other","action","workers","layer","filename","exportedName","Object","assign","m","entry","sortObjectByKey","writeActionManifest","actionManifest","values","actionManifestJsonPath","actionManifestJsPath","json","stringify","loadAppPathsManifest","writeAppPathsManifest","appPathsManifest","mergePagesManifests","appPathsManifestPath","writeWebpackStats","mergeWebpackStats","path","loadBuildManifest","loadClientBuildManifest","loadWebpackStats","statsFiles","entrypoints","assets","Map","chunks","modules","statsFile","k","v","entries","asset","has","chunk","id","module","existing","get","includes","push","version","mergeBuildManifests","pages","devFiles","ampDevFiles","polyfillFiles","lowPriorityFiles","buildId","rootMainFiles","ampFirstPages","length","mergeClientBuildManifests","rewrites","sortedPageKeys","__rewrites","sortedPages","writeBuildManifest","devRewrites","productionRewrites","beforeFiles","map","afterFiles","fallback","buildManifest","buildManifestPath","middlewareBuildManifestPath","interceptionRewriteManifestPath","interceptionRewrites","filter","pagesKeys","keys","global","app","error","clientBuildManifest","clientBuildManifestJs","writeClientMiddlewareManifest","middlewareManifest","mergeMiddlewareManifests","matchers","middleware","clientMiddlewareManifestPath","writeFallbackBuildManifest","fallbackBuildManifest","Boolean","fallbackBuildManifestPath","loadFontManifest","mergeFontManifests","appUsingSizeAdjust","pagesUsingSizeAdjust","writeNextFontManifest","fontManifest","fontManifestJsonPath","fontManifestJsPath","loadMiddlewareManifest","middlewareManifestPath","getMiddlewareManifest","deleteMiddlewareManifest","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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","ignoreList":[0]}
|
@@ -10,12 +10,10 @@ Object.defineProperty(exports, "loadWebpackHook", {
|
|
10
10
|
});
|
11
11
|
let installed = false;
|
12
12
|
function loadWebpackHook() {
|
13
|
-
const { init: initWebpack } = require('next/dist/compiled/webpack/webpack');
|
14
13
|
if (installed) {
|
15
14
|
return;
|
16
15
|
}
|
17
16
|
installed = true;
|
18
|
-
initWebpack();
|
19
17
|
require('../server/require-hook').addHookAliases([
|
20
18
|
[
|
21
19
|
'webpack',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/server/config-utils.ts"],"sourcesContent":["let installed: boolean = false\n\nexport function loadWebpackHook() {\n
|
1
|
+
{"version":3,"sources":["../../src/server/config-utils.ts"],"sourcesContent":["let installed: boolean = false\n\nexport function loadWebpackHook() {\n if (installed) {\n return\n }\n installed = true\n\n // hook the Node.js require so that webpack requires are\n // routed to the bundled and now initialized webpack version\n ;(\n require('../server/require-hook') as typeof import('../server/require-hook')\n ).addHookAliases(\n [\n ['webpack', 'next/dist/compiled/webpack/webpack-lib'],\n ['webpack/package', 'next/dist/compiled/webpack/package'],\n ['webpack/package.json', 'next/dist/compiled/webpack/package'],\n ['webpack/lib/webpack', 'next/dist/compiled/webpack/webpack-lib'],\n ['webpack/lib/webpack.js', 'next/dist/compiled/webpack/webpack-lib'],\n [\n 'webpack/lib/node/NodeEnvironmentPlugin',\n 'next/dist/compiled/webpack/NodeEnvironmentPlugin',\n ],\n [\n 'webpack/lib/node/NodeEnvironmentPlugin.js',\n 'next/dist/compiled/webpack/NodeEnvironmentPlugin',\n ],\n [\n 'webpack/lib/BasicEvaluatedExpression',\n 'next/dist/compiled/webpack/BasicEvaluatedExpression',\n ],\n [\n 'webpack/lib/BasicEvaluatedExpression.js',\n 'next/dist/compiled/webpack/BasicEvaluatedExpression',\n ],\n [\n 'webpack/lib/node/NodeTargetPlugin',\n 'next/dist/compiled/webpack/NodeTargetPlugin',\n ],\n [\n 'webpack/lib/node/NodeTargetPlugin.js',\n 'next/dist/compiled/webpack/NodeTargetPlugin',\n ],\n [\n 'webpack/lib/node/NodeTemplatePlugin',\n 'next/dist/compiled/webpack/NodeTemplatePlugin',\n ],\n [\n 'webpack/lib/node/NodeTemplatePlugin.js',\n 'next/dist/compiled/webpack/NodeTemplatePlugin',\n ],\n [\n 'webpack/lib/LibraryTemplatePlugin',\n 'next/dist/compiled/webpack/LibraryTemplatePlugin',\n ],\n [\n 'webpack/lib/LibraryTemplatePlugin.js',\n 'next/dist/compiled/webpack/LibraryTemplatePlugin',\n ],\n [\n 'webpack/lib/SingleEntryPlugin',\n 'next/dist/compiled/webpack/SingleEntryPlugin',\n ],\n [\n 'webpack/lib/SingleEntryPlugin.js',\n 'next/dist/compiled/webpack/SingleEntryPlugin',\n ],\n [\n 'webpack/lib/optimize/LimitChunkCountPlugin',\n 'next/dist/compiled/webpack/LimitChunkCountPlugin',\n ],\n [\n 'webpack/lib/optimize/LimitChunkCountPlugin.js',\n 'next/dist/compiled/webpack/LimitChunkCountPlugin',\n ],\n [\n 'webpack/lib/webworker/WebWorkerTemplatePlugin',\n 'next/dist/compiled/webpack/WebWorkerTemplatePlugin',\n ],\n [\n 'webpack/lib/webworker/WebWorkerTemplatePlugin.js',\n 'next/dist/compiled/webpack/WebWorkerTemplatePlugin',\n ],\n [\n 'webpack/lib/ExternalsPlugin',\n 'next/dist/compiled/webpack/ExternalsPlugin',\n ],\n [\n 'webpack/lib/ExternalsPlugin.js',\n 'next/dist/compiled/webpack/ExternalsPlugin',\n ],\n [\n 'webpack/lib/web/FetchCompileWasmTemplatePlugin',\n 'next/dist/compiled/webpack/FetchCompileWasmTemplatePlugin',\n ],\n [\n 'webpack/lib/web/FetchCompileWasmTemplatePlugin.js',\n 'next/dist/compiled/webpack/FetchCompileWasmTemplatePlugin',\n ],\n [\n 'webpack/lib/web/FetchCompileWasmPlugin',\n 'next/dist/compiled/webpack/FetchCompileWasmPlugin',\n ],\n [\n 'webpack/lib/web/FetchCompileWasmPlugin.js',\n 'next/dist/compiled/webpack/FetchCompileWasmPlugin',\n ],\n [\n 'webpack/lib/web/FetchCompileAsyncWasmPlugin',\n 'next/dist/compiled/webpack/FetchCompileAsyncWasmPlugin',\n ],\n [\n 'webpack/lib/web/FetchCompileAsyncWasmPlugin.js',\n 'next/dist/compiled/webpack/FetchCompileAsyncWasmPlugin',\n ],\n [\n 'webpack/lib/ModuleFilenameHelpers',\n 'next/dist/compiled/webpack/ModuleFilenameHelpers',\n ],\n [\n 'webpack/lib/ModuleFilenameHelpers.js',\n 'next/dist/compiled/webpack/ModuleFilenameHelpers',\n ],\n ['webpack/lib/GraphHelpers', 'next/dist/compiled/webpack/GraphHelpers'],\n [\n 'webpack/lib/GraphHelpers.js',\n 'next/dist/compiled/webpack/GraphHelpers',\n ],\n ['webpack/lib/NormalModule', 'next/dist/compiled/webpack/NormalModule'],\n ['webpack-sources', 'next/dist/compiled/webpack/sources'],\n ['webpack-sources/lib', 'next/dist/compiled/webpack/sources'],\n ['webpack-sources/lib/index', 'next/dist/compiled/webpack/sources'],\n ['webpack-sources/lib/index.js', 'next/dist/compiled/webpack/sources'],\n ['@babel/runtime', 'next/dist/compiled/@babel/runtime/package.json'],\n [\n '@babel/runtime/package.json',\n 'next/dist/compiled/@babel/runtime/package.json',\n ],\n ].map(\n // Use dynamic require.resolve to avoid statically analyzable since they're only for build time\n ([request, replacement]) => [request, require.resolve(replacement)]\n )\n )\n}\n"],"names":["loadWebpackHook","installed","require","addHookAliases","map","request","replacement","resolve"],"mappings":";;;;+BAEgBA;;;eAAAA;;;AAFhB,IAAIC,YAAqB;AAElB,SAASD;IACd,IAAIC,WAAW;QACb;IACF;IACAA,YAAY;IAKVC,QAAQ,0BACRC,cAAc,CACd;QACE;YAAC;YAAW;SAAyC;QACrD;YAAC;YAAmB;SAAqC;QACzD;YAAC;YAAwB;SAAqC;QAC9D;YAAC;YAAuB;SAAyC;QACjE;YAAC;YAA0B;SAAyC;QACpE;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YACE;YACA;SACD;QACD;YAAC;YAA4B;SAA0C;QACvE;YACE;YACA;SACD;QACD;YAAC;YAA4B;SAA0C;QACvE;YAAC;YAAmB;SAAqC;QACzD;YAAC;YAAuB;SAAqC;QAC7D;YAAC;YAA6B;SAAqC;QACnE;YAAC;YAAgC;SAAqC;QACtE;YAAC;YAAkB;SAAiD;QACpE;YACE;YACA;SACD;KACF,CAACC,GAAG,CACH,+FAA+F;IAC/F,CAAC,CAACC,SAASC,YAAY,GAAK;YAACD;YAASH,QAAQK,OAAO,CAACD;SAAa;AAGzE","ignoreList":[0]}
|
@@ -146,7 +146,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetc
|
|
146
146
|
}
|
147
147
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
148
148
|
const hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
149
|
-
version: "15.6.0-canary.
|
149
|
+
version: "15.6.0-canary.23"
|
150
150
|
});
|
151
151
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
152
152
|
// of the current `next dev` invocation.
|
@@ -226,7 +226,7 @@ class HotReloaderWebpack {
|
|
226
226
|
this.previewProps = previewProps;
|
227
227
|
this.rewrites = rewrites;
|
228
228
|
this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
229
|
-
version: "15.6.0-canary.
|
229
|
+
version: "15.6.0-canary.23"
|
230
230
|
});
|
231
231
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
232
232
|
// of the current `next dev` invocation.
|
@@ -82,7 +82,7 @@ function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures, logBu
|
|
82
82
|
bundlerSuffix = ' (webpack)';
|
83
83
|
}
|
84
84
|
}
|
85
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-canary.
|
85
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-canary.23"}`))}${bundlerSuffix}`);
|
86
86
|
if (appUrl) {
|
87
87
|
_log.bootstrap(`- Local: ${appUrl}`);
|
88
88
|
}
|
@@ -53,7 +53,6 @@ const _pagetypes = require("../../../lib/page-types");
|
|
53
53
|
const _encryptionutilsserver = require("../../app-render/encryption-utils-server");
|
54
54
|
const _ismetadataroute = require("../../../lib/metadata/is-metadata-route");
|
55
55
|
const _getmetadataroute = require("../../../lib/metadata/get-metadata-route");
|
56
|
-
const _createenvdefinitions = require("../experimental/create-env-definitions");
|
57
56
|
const _jsconfigpathsplugin = require("../../../build/webpack/plugins/jsconfig-paths-plugin");
|
58
57
|
const _store = require("../../../build/output/store");
|
59
58
|
const _utils2 = require("../../../shared/lib/turbopack/utils");
|
@@ -776,7 +775,8 @@ async function startWatcher(opts) {
|
|
776
775
|
const loadEnvConfig = require('@next/env').loadEnvConfig;
|
777
776
|
const { loadedEnvFiles } = loadEnvConfig(dir, process.env.NODE_ENV === 'development', // Silent as it's the second time `loadEnvConfig` is called in this pass.
|
778
777
|
undefined, true);
|
779
|
-
|
778
|
+
const createEnvDefinitions = require('../experimental/create-env-definitions').createEnvDefinitions;
|
779
|
+
await createEnvDefinitions({
|
780
780
|
distDir,
|
781
781
|
loadedEnvFiles: [
|
782
782
|
...loadedEnvFiles,
|