next 15.4.0-canary.41 → 15.4.0-canary.43

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.
Files changed (63) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/index.js +2 -2
  3. package/dist/build/swc/index.js +1 -1
  4. package/dist/build/turbopack-build/impl.js +50 -0
  5. package/dist/build/turbopack-build/impl.js.map +1 -1
  6. package/dist/build/utils.d.ts +1 -0
  7. package/dist/build/utils.js +9 -0
  8. package/dist/build/utils.js.map +1 -1
  9. package/dist/build/webpack-config.js +20 -4
  10. package/dist/build/webpack-config.js.map +1 -1
  11. package/dist/client/app-bootstrap.js +1 -1
  12. package/dist/client/index.js +1 -1
  13. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
  14. package/dist/compiled/next-server/pages-turbo.runtime.prod.js +2 -2
  15. package/dist/compiled/next-server/pages-turbo.runtime.prod.js.map +1 -1
  16. package/dist/compiled/next-server/pages.runtime.prod.js +2 -2
  17. package/dist/compiled/next-server/pages.runtime.prod.js.map +1 -1
  18. package/dist/compiled/next-server/server.runtime.prod.js +2 -2
  19. package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
  20. package/dist/esm/build/index.js +2 -2
  21. package/dist/esm/build/swc/index.js +1 -1
  22. package/dist/esm/build/turbopack-build/impl.js +9 -0
  23. package/dist/esm/build/turbopack-build/impl.js.map +1 -1
  24. package/dist/esm/build/utils.js +5 -0
  25. package/dist/esm/build/utils.js.map +1 -1
  26. package/dist/esm/build/webpack-config.js +21 -5
  27. package/dist/esm/build/webpack-config.js.map +1 -1
  28. package/dist/esm/client/app-bootstrap.js +1 -1
  29. package/dist/esm/client/index.js +1 -1
  30. package/dist/esm/server/base-server.js +1 -1
  31. package/dist/esm/server/base-server.js.map +1 -1
  32. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  33. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  34. package/dist/esm/server/lib/app-info-log.js +1 -1
  35. package/dist/esm/server/lib/incremental-cache/index.js +4 -2
  36. package/dist/esm/server/lib/incremental-cache/index.js.map +1 -1
  37. package/dist/esm/server/lib/start-server.js +1 -1
  38. package/dist/esm/server/typescript/rules/client-boundary.js +2 -1
  39. package/dist/esm/server/typescript/rules/client-boundary.js.map +1 -1
  40. package/dist/esm/server/web/adapter.js +4 -1
  41. package/dist/esm/server/web/adapter.js.map +1 -1
  42. package/dist/esm/server/web/sandbox/sandbox.js +1 -0
  43. package/dist/esm/server/web/sandbox/sandbox.js.map +1 -1
  44. package/dist/esm/shared/lib/canary-only.js +1 -1
  45. package/dist/server/base-server.js +1 -1
  46. package/dist/server/base-server.js.map +1 -1
  47. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  48. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  49. package/dist/server/lib/app-info-log.js +1 -1
  50. package/dist/server/lib/incremental-cache/index.js +4 -2
  51. package/dist/server/lib/incremental-cache/index.js.map +1 -1
  52. package/dist/server/lib/start-server.js +1 -1
  53. package/dist/server/typescript/rules/client-boundary.js +2 -1
  54. package/dist/server/typescript/rules/client-boundary.js.map +1 -1
  55. package/dist/server/web/adapter.js +4 -1
  56. package/dist/server/web/adapter.js.map +1 -1
  57. package/dist/server/web/sandbox/sandbox.js +1 -0
  58. package/dist/server/web/sandbox/sandbox.js.map +1 -1
  59. package/dist/shared/lib/canary-only.js +1 -1
  60. package/dist/telemetry/anonymous-meta.js +1 -1
  61. package/dist/telemetry/events/session-stopped.js +2 -2
  62. package/dist/telemetry/events/version.js +2 -2
  63. package/package.json +15 -15
@@ -296,7 +296,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
296
296
  const nextBuildSpan = trace('next-build', undefined, {
297
297
  buildMode: experimentalBuildMode,
298
298
  isTurboBuild: String(isTurbopack),
299
- version: "15.4.0-canary.41"
299
+ version: "15.4.0-canary.43"
300
300
  });
301
301
  NextBuildContext.nextBuildSpan = nextBuildSpan;
302
302
  NextBuildContext.dir = dir;
@@ -678,7 +678,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
678
678
  // Files outside of the distDir can be "type": "module"
679
679
  await writeFileUtf8(path.join(distDir, 'package.json'), '{"type": "commonjs"}');
680
680
  // These are written to distDir, so they need to come after creating and cleaning distDr.
681
- await recordFrameworkVersion("15.4.0-canary.41");
681
+ await recordFrameworkVersion("15.4.0-canary.43");
682
682
  await updateBuildDiagnostics({
683
683
  buildStage: 'start'
684
684
  });
@@ -11,7 +11,7 @@ import { isDeepStrictEqual } from 'util';
11
11
  import { getDefineEnv } from '../define-env';
12
12
  import { getReactCompilerLoader } from '../get-babel-loader-config';
13
13
  import { TurbopackInternalError } from '../../shared/lib/turbopack/utils';
14
- const nextVersion = "15.4.0-canary.41";
14
+ const nextVersion = "15.4.0-canary.43";
15
15
  const ArchName = arch();
16
16
  const PlatformName = platform();
17
17
  function infoLog(...args) {
@@ -11,6 +11,7 @@ import loadConfig from '../../server/config';
11
11
  import { hasCustomExportOutput } from '../../export/utils';
12
12
  import { Telemetry } from '../../telemetry/storage';
13
13
  import { setGlobal } from '../../trace';
14
+ import * as Log from '../output/log';
14
15
  export async function turbopackBuild() {
15
16
  var _config_experimental, _config_turbopack, _config_experimental1;
16
17
  await validateTurboNextConfig({
@@ -68,6 +69,14 @@ export async function turbopackBuild() {
68
69
  dependencyTracking: persistentCaching
69
70
  });
70
71
  try {
72
+ ;
73
+ (async function logCompilationEvents() {
74
+ for await (const event of project.compilationEventsSubscribe()){
75
+ if (event.severity === 'EVENT') {
76
+ Log.event(event.message);
77
+ }
78
+ }
79
+ })();
71
80
  // Write an empty file in a known location to signal this was built with Turbopack
72
81
  await fs.writeFile(path.join(distDir, 'turbopack'), '');
73
82
  await fs.mkdir(path.join(distDir, 'server'), {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/build/turbopack-build/impl.ts"],"sourcesContent":["import path from 'path'\nimport { validateTurboNextConfig } from '../../lib/turbopack-warning'\nimport {\n formatIssue,\n getTurbopackJsConfig,\n isPersistentCachingEnabled,\n isRelevantWarning,\n} from '../../shared/lib/turbopack/utils'\nimport { NextBuildContext } from '../build-context'\nimport { createDefineEnv, loadBindings } from '../swc'\nimport {\n rawEntrypointsToEntrypoints,\n handleRouteType,\n} from '../handle-entrypoints'\nimport { TurbopackManifestLoader } from '../../shared/lib/turbopack/manifest-loader'\nimport { promises as fs } from 'fs'\nimport { PHASE_PRODUCTION_BUILD } from '../../shared/lib/constants'\nimport loadConfig from '../../server/config'\nimport { hasCustomExportOutput } from '../../export/utils'\nimport { Telemetry } from '../../telemetry/storage'\nimport { setGlobal } from '../../trace'\n\nexport async function turbopackBuild(): Promise<{\n duration: number\n buildTraceContext: undefined\n shutdownPromise: Promise<void>\n}> {\n await validateTurboNextConfig({\n dir: NextBuildContext.dir!,\n isDev: false,\n })\n\n const config = NextBuildContext.config!\n const dir = NextBuildContext.dir!\n const distDir = NextBuildContext.distDir!\n const buildId = NextBuildContext.buildId!\n const encryptionKey = NextBuildContext.encryptionKey!\n const previewProps = NextBuildContext.previewProps!\n const hasRewrites = NextBuildContext.hasRewrites!\n const rewrites = NextBuildContext.rewrites!\n const appDirOnly = NextBuildContext.appDirOnly!\n const noMangling = NextBuildContext.noMangling!\n\n const startTime = process.hrtime()\n const bindings = await loadBindings(config?.experimental?.useWasmBinary)\n const dev = false\n\n // const supportedBrowsers = await getSupportedBrowsers(dir, dev)\n const supportedBrowsers = [\n 'last 1 Chrome versions, last 1 Firefox versions, last 1 Safari versions, last 1 Edge versions',\n ]\n\n const persistentCaching = isPersistentCachingEnabled(config)\n const project = await bindings.turbo.createProject(\n {\n projectPath: dir,\n rootPath: config.turbopack?.root || config.outputFileTracingRoot || dir,\n distDir,\n nextConfig: config,\n jsConfig: await getTurbopackJsConfig(dir, config),\n watch: {\n enable: false,\n },\n dev,\n env: process.env as Record<string, string>,\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix: config.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // Implemented separately in Turbopack, doesn't have to be passed here.\n middlewareMatchers: undefined,\n }),\n buildId,\n encryptionKey,\n previewProps,\n browserslistQuery: supportedBrowsers.join(', '),\n noMangling,\n },\n {\n persistentCaching,\n memoryLimit: config.experimental?.turbopackMemoryLimit,\n dependencyTracking: persistentCaching,\n }\n )\n try {\n // Write an empty file in a known location to signal this was built with Turbopack\n await fs.writeFile(path.join(distDir, 'turbopack'), '')\n\n await fs.mkdir(path.join(distDir, 'server'), { recursive: true })\n await fs.mkdir(path.join(distDir, 'static', buildId), {\n recursive: true,\n })\n await fs.writeFile(\n path.join(distDir, 'package.json'),\n JSON.stringify(\n {\n type: 'commonjs',\n },\n null,\n 2\n )\n )\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const entrypoints = await project.writeAllEntrypointsToDisk(appDirOnly)\n\n const manifestLoader = new TurbopackManifestLoader({\n buildId,\n distDir,\n encryptionKey,\n })\n\n const topLevelErrors = []\n const topLevelWarnings = []\n for (const issue of entrypoints.issues) {\n if (issue.severity === 'error' || issue.severity === 'fatal') {\n topLevelErrors.push(formatIssue(issue))\n } else if (isRelevantWarning(issue)) {\n topLevelWarnings.push(formatIssue(issue))\n }\n }\n\n if (topLevelWarnings.length > 0) {\n console.warn(\n `Turbopack build encountered ${\n topLevelWarnings.length\n } warnings:\\n${topLevelWarnings.join('\\n')}`\n )\n }\n\n if (topLevelErrors.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelErrors.length\n } errors:\\n${topLevelErrors.join('\\n')}`\n )\n }\n\n const currentEntrypoints = await rawEntrypointsToEntrypoints(entrypoints)\n\n const promises: Promise<any>[] = []\n\n if (!appDirOnly) {\n for (const [page, route] of currentEntrypoints.page) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n }\n\n for (const [page, route] of currentEntrypoints.app) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n\n await Promise.all(promises)\n\n await Promise.all([\n manifestLoader.loadBuildManifest('_app'),\n manifestLoader.loadPagesManifest('_app'),\n manifestLoader.loadFontManifest('_app'),\n manifestLoader.loadPagesManifest('_document'),\n manifestLoader.loadBuildManifest('_error'),\n manifestLoader.loadPagesManifest('_error'),\n manifestLoader.loadFontManifest('_error'),\n entrypoints.instrumentation &&\n manifestLoader.loadMiddlewareManifest(\n 'instrumentation',\n 'instrumentation'\n ),\n entrypoints.middleware &&\n (await manifestLoader.loadMiddlewareManifest(\n 'middleware',\n 'middleware'\n )),\n ])\n\n await manifestLoader.writeManifests({\n devRewrites: undefined,\n productionRewrites: rewrites,\n entrypoints: currentEntrypoints,\n })\n\n const shutdownPromise = project.shutdown()\n\n const time = process.hrtime(startTime)\n return {\n duration: time[0] + time[1] / 1e9,\n buildTraceContext: undefined,\n shutdownPromise,\n }\n } catch (err) {\n await project.shutdown()\n throw err\n }\n}\n\nlet shutdownPromise: Promise<void> | undefined\nexport async function workerMain(workerData: {\n buildContext: typeof NextBuildContext\n}): Promise<Awaited<ReturnType<typeof turbopackBuild>>> {\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n\n // Matches handling in build/index.ts\n // https://github.com/vercel/next.js/blob/84f347fc86f4efc4ec9f13615c215e4b9fb6f8f0/packages/next/src/build/index.ts#L815-L818\n // Ensures the `config.distDir` option is matched.\n if (hasCustomExportOutput(NextBuildContext.config)) {\n NextBuildContext.config.distDir = '.next'\n }\n\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: NextBuildContext.config.distDir,\n })\n setGlobal('telemetry', telemetry)\n\n const result = await turbopackBuild()\n shutdownPromise = result.shutdownPromise\n return result\n}\n\nexport async function waitForShutdown(): Promise<void> {\n if (shutdownPromise) {\n await shutdownPromise\n }\n}\n"],"names":["path","validateTurboNextConfig","formatIssue","getTurbopackJsConfig","isPersistentCachingEnabled","isRelevantWarning","NextBuildContext","createDefineEnv","loadBindings","rawEntrypointsToEntrypoints","handleRouteType","TurbopackManifestLoader","promises","fs","PHASE_PRODUCTION_BUILD","loadConfig","hasCustomExportOutput","Telemetry","setGlobal","turbopackBuild","config","dir","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","process","hrtime","bindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","project","turbo","createProject","projectPath","rootPath","turbopack","root","outputFileTracingRoot","nextConfig","jsConfig","watch","enable","env","defineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","turbopackMemoryLimit","dependencyTracking","writeFile","mkdir","recursive","JSON","stringify","type","entrypoints","writeAllEntrypointsToDisk","manifestLoader","topLevelErrors","topLevelWarnings","issue","issues","severity","push","length","console","warn","Error","currentEntrypoints","page","route","app","Promise","all","loadBuildManifest","loadPagesManifest","loadFontManifest","instrumentation","loadMiddlewareManifest","middleware","writeManifests","devRewrites","productionRewrites","shutdownPromise","shutdown","time","duration","buildTraceContext","err","workerMain","workerData","Object","assign","buildContext","telemetry","result","waitForShutdown"],"mappings":"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","ignoreList":[0]}
1
+ {"version":3,"sources":["../../../src/build/turbopack-build/impl.ts"],"sourcesContent":["import path from 'path'\nimport { validateTurboNextConfig } from '../../lib/turbopack-warning'\nimport {\n formatIssue,\n getTurbopackJsConfig,\n isPersistentCachingEnabled,\n isRelevantWarning,\n} from '../../shared/lib/turbopack/utils'\nimport { NextBuildContext } from '../build-context'\nimport { createDefineEnv, loadBindings } from '../swc'\nimport {\n rawEntrypointsToEntrypoints,\n handleRouteType,\n} from '../handle-entrypoints'\nimport { TurbopackManifestLoader } from '../../shared/lib/turbopack/manifest-loader'\nimport { promises as fs } from 'fs'\nimport { PHASE_PRODUCTION_BUILD } from '../../shared/lib/constants'\nimport loadConfig from '../../server/config'\nimport { hasCustomExportOutput } from '../../export/utils'\nimport { Telemetry } from '../../telemetry/storage'\nimport { setGlobal } from '../../trace'\nimport * as Log from '../output/log'\n\nexport async function turbopackBuild(): Promise<{\n duration: number\n buildTraceContext: undefined\n shutdownPromise: Promise<void>\n}> {\n await validateTurboNextConfig({\n dir: NextBuildContext.dir!,\n isDev: false,\n })\n\n const config = NextBuildContext.config!\n const dir = NextBuildContext.dir!\n const distDir = NextBuildContext.distDir!\n const buildId = NextBuildContext.buildId!\n const encryptionKey = NextBuildContext.encryptionKey!\n const previewProps = NextBuildContext.previewProps!\n const hasRewrites = NextBuildContext.hasRewrites!\n const rewrites = NextBuildContext.rewrites!\n const appDirOnly = NextBuildContext.appDirOnly!\n const noMangling = NextBuildContext.noMangling!\n\n const startTime = process.hrtime()\n const bindings = await loadBindings(config?.experimental?.useWasmBinary)\n const dev = false\n\n // const supportedBrowsers = await getSupportedBrowsers(dir, dev)\n const supportedBrowsers = [\n 'last 1 Chrome versions, last 1 Firefox versions, last 1 Safari versions, last 1 Edge versions',\n ]\n\n const persistentCaching = isPersistentCachingEnabled(config)\n const project = await bindings.turbo.createProject(\n {\n projectPath: dir,\n rootPath: config.turbopack?.root || config.outputFileTracingRoot || dir,\n distDir,\n nextConfig: config,\n jsConfig: await getTurbopackJsConfig(dir, config),\n watch: {\n enable: false,\n },\n dev,\n env: process.env as Record<string, string>,\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix: config.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // Implemented separately in Turbopack, doesn't have to be passed here.\n middlewareMatchers: undefined,\n }),\n buildId,\n encryptionKey,\n previewProps,\n browserslistQuery: supportedBrowsers.join(', '),\n noMangling,\n },\n {\n persistentCaching,\n memoryLimit: config.experimental?.turbopackMemoryLimit,\n dependencyTracking: persistentCaching,\n }\n )\n try {\n ;(async function logCompilationEvents() {\n for await (const event of project.compilationEventsSubscribe()) {\n if (event.severity === 'EVENT') {\n Log.event(event.message)\n }\n }\n })()\n\n // Write an empty file in a known location to signal this was built with Turbopack\n await fs.writeFile(path.join(distDir, 'turbopack'), '')\n\n await fs.mkdir(path.join(distDir, 'server'), { recursive: true })\n await fs.mkdir(path.join(distDir, 'static', buildId), {\n recursive: true,\n })\n await fs.writeFile(\n path.join(distDir, 'package.json'),\n JSON.stringify(\n {\n type: 'commonjs',\n },\n null,\n 2\n )\n )\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const entrypoints = await project.writeAllEntrypointsToDisk(appDirOnly)\n\n const manifestLoader = new TurbopackManifestLoader({\n buildId,\n distDir,\n encryptionKey,\n })\n\n const topLevelErrors = []\n const topLevelWarnings = []\n for (const issue of entrypoints.issues) {\n if (issue.severity === 'error' || issue.severity === 'fatal') {\n topLevelErrors.push(formatIssue(issue))\n } else if (isRelevantWarning(issue)) {\n topLevelWarnings.push(formatIssue(issue))\n }\n }\n\n if (topLevelWarnings.length > 0) {\n console.warn(\n `Turbopack build encountered ${\n topLevelWarnings.length\n } warnings:\\n${topLevelWarnings.join('\\n')}`\n )\n }\n\n if (topLevelErrors.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelErrors.length\n } errors:\\n${topLevelErrors.join('\\n')}`\n )\n }\n\n const currentEntrypoints = await rawEntrypointsToEntrypoints(entrypoints)\n\n const promises: Promise<any>[] = []\n\n if (!appDirOnly) {\n for (const [page, route] of currentEntrypoints.page) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n }\n\n for (const [page, route] of currentEntrypoints.app) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n\n await Promise.all(promises)\n\n await Promise.all([\n manifestLoader.loadBuildManifest('_app'),\n manifestLoader.loadPagesManifest('_app'),\n manifestLoader.loadFontManifest('_app'),\n manifestLoader.loadPagesManifest('_document'),\n manifestLoader.loadBuildManifest('_error'),\n manifestLoader.loadPagesManifest('_error'),\n manifestLoader.loadFontManifest('_error'),\n entrypoints.instrumentation &&\n manifestLoader.loadMiddlewareManifest(\n 'instrumentation',\n 'instrumentation'\n ),\n entrypoints.middleware &&\n (await manifestLoader.loadMiddlewareManifest(\n 'middleware',\n 'middleware'\n )),\n ])\n\n await manifestLoader.writeManifests({\n devRewrites: undefined,\n productionRewrites: rewrites,\n entrypoints: currentEntrypoints,\n })\n\n const shutdownPromise = project.shutdown()\n\n const time = process.hrtime(startTime)\n return {\n duration: time[0] + time[1] / 1e9,\n buildTraceContext: undefined,\n shutdownPromise,\n }\n } catch (err) {\n await project.shutdown()\n throw err\n }\n}\n\nlet shutdownPromise: Promise<void> | undefined\nexport async function workerMain(workerData: {\n buildContext: typeof NextBuildContext\n}): Promise<Awaited<ReturnType<typeof turbopackBuild>>> {\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n\n // Matches handling in build/index.ts\n // https://github.com/vercel/next.js/blob/84f347fc86f4efc4ec9f13615c215e4b9fb6f8f0/packages/next/src/build/index.ts#L815-L818\n // Ensures the `config.distDir` option is matched.\n if (hasCustomExportOutput(NextBuildContext.config)) {\n NextBuildContext.config.distDir = '.next'\n }\n\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: NextBuildContext.config.distDir,\n })\n setGlobal('telemetry', telemetry)\n\n const result = await turbopackBuild()\n shutdownPromise = result.shutdownPromise\n return result\n}\n\nexport async function waitForShutdown(): Promise<void> {\n if (shutdownPromise) {\n await shutdownPromise\n }\n}\n"],"names":["path","validateTurboNextConfig","formatIssue","getTurbopackJsConfig","isPersistentCachingEnabled","isRelevantWarning","NextBuildContext","createDefineEnv","loadBindings","rawEntrypointsToEntrypoints","handleRouteType","TurbopackManifestLoader","promises","fs","PHASE_PRODUCTION_BUILD","loadConfig","hasCustomExportOutput","Telemetry","setGlobal","Log","turbopackBuild","config","dir","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","process","hrtime","bindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","project","turbo","createProject","projectPath","rootPath","turbopack","root","outputFileTracingRoot","nextConfig","jsConfig","watch","enable","env","defineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","turbopackMemoryLimit","dependencyTracking","logCompilationEvents","event","compilationEventsSubscribe","severity","message","writeFile","mkdir","recursive","JSON","stringify","type","entrypoints","writeAllEntrypointsToDisk","manifestLoader","topLevelErrors","topLevelWarnings","issue","issues","push","length","console","warn","Error","currentEntrypoints","page","route","app","Promise","all","loadBuildManifest","loadPagesManifest","loadFontManifest","instrumentation","loadMiddlewareManifest","middleware","writeManifests","devRewrites","productionRewrites","shutdownPromise","shutdown","time","duration","buildTraceContext","err","workerMain","workerData","Object","assign","buildContext","telemetry","result","waitForShutdown"],"mappings":"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","ignoreList":[0]}
@@ -1256,5 +1256,10 @@ export function collectMeta({ status, headers }) {
1256
1256
  }
1257
1257
  return meta;
1258
1258
  }
1259
+ export const RSPACK_DEFAULT_LAYERS_REGEX = new RegExp(`^(|${[
1260
+ WEBPACK_LAYERS.pagesDirBrowser,
1261
+ WEBPACK_LAYERS.pagesDirEdge,
1262
+ WEBPACK_LAYERS.pagesDirNode
1263
+ ].join('|')})$`);
1259
1264
 
1260
1265
  //# sourceMappingURL=utils.js.map