next 15.4.0-canary.41 → 15.4.0-canary.42

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 (40) 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/webpack-config.js +2 -2
  7. package/dist/client/app-bootstrap.js +1 -1
  8. package/dist/client/index.js +1 -1
  9. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
  10. package/dist/compiled/next-server/pages-turbo.runtime.dev.js +2 -2
  11. package/dist/compiled/next-server/pages-turbo.runtime.dev.js.map +1 -1
  12. package/dist/compiled/next-server/pages.runtime.dev.js +2 -2
  13. package/dist/compiled/next-server/pages.runtime.dev.js.map +1 -1
  14. package/dist/compiled/next-server/server.runtime.prod.js +1 -1
  15. package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
  16. package/dist/esm/build/index.js +2 -2
  17. package/dist/esm/build/swc/index.js +1 -1
  18. package/dist/esm/build/turbopack-build/impl.js +9 -0
  19. package/dist/esm/build/turbopack-build/impl.js.map +1 -1
  20. package/dist/esm/build/webpack-config.js +2 -2
  21. package/dist/esm/client/app-bootstrap.js +1 -1
  22. package/dist/esm/client/index.js +1 -1
  23. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  24. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  25. package/dist/esm/server/lib/app-info-log.js +1 -1
  26. package/dist/esm/server/lib/incremental-cache/index.js +4 -2
  27. package/dist/esm/server/lib/incremental-cache/index.js.map +1 -1
  28. package/dist/esm/server/lib/start-server.js +1 -1
  29. package/dist/esm/shared/lib/canary-only.js +1 -1
  30. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  31. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  32. package/dist/server/lib/app-info-log.js +1 -1
  33. package/dist/server/lib/incremental-cache/index.js +4 -2
  34. package/dist/server/lib/incremental-cache/index.js.map +1 -1
  35. package/dist/server/lib/start-server.js +1 -1
  36. package/dist/shared/lib/canary-only.js +1 -1
  37. package/dist/telemetry/anonymous-meta.js +1 -1
  38. package/dist/telemetry/events/session-stopped.js +2 -2
  39. package/dist/telemetry/events/version.js +2 -2
  40. package/package.json +15 -15
package/dist/bin/next CHANGED
@@ -79,7 +79,7 @@ const program = new NextRootCommand();
79
79
  program.name('next').description('The Next.js CLI allows you to develop, build, start your application, and more.').configureHelp({
80
80
  formatHelp: (cmd, helper)=>(0, _formatclihelpoutput.formatCliHelpOutput)(cmd, helper),
81
81
  subcommandTerm: (cmd)=>`${cmd.name()} ${cmd.usage()}`
82
- }).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.4.0-canary.41"}`, '-v, --version', 'Outputs the Next.js version.');
82
+ }).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.4.0-canary.42"}`, '-v, --version', 'Outputs the Next.js version.');
83
83
  program.command('build').description('Creates an optimized production build of your application. The output displays information about each route.').argument('[directory]', `A directory on which to build the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('-d, --debug', 'Enables a more verbose build output.').option('--no-lint', 'Disables linting.').option('--no-mangling', 'Disables mangling.').option('--profile', 'Enables production profiling for React.').option('--experimental-app-only', 'Builds only App Router routes.').option('--turbo', 'Starts development mode using Turbopack.').option('--turbopack', 'Starts development mode using Turbopack.').addOption(new _commander.Option('--experimental-build-mode [mode]', 'Uses an experimental build mode.').choices([
84
84
  'compile',
85
85
  'generate',
@@ -364,7 +364,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
364
364
  const nextBuildSpan = (0, _trace.trace)('next-build', undefined, {
365
365
  buildMode: experimentalBuildMode,
366
366
  isTurboBuild: String(isTurbopack),
367
- version: "15.4.0-canary.41"
367
+ version: "15.4.0-canary.42"
368
368
  });
369
369
  _buildcontext.NextBuildContext.nextBuildSpan = nextBuildSpan;
370
370
  _buildcontext.NextBuildContext.dir = dir;
@@ -746,7 +746,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
746
746
  // Files outside of the distDir can be "type": "module"
747
747
  await writeFileUtf8(_path.default.join(distDir, 'package.json'), '{"type": "commonjs"}');
748
748
  // These are written to distDir, so they need to come after creating and cleaning distDr.
749
- await (0, _builddiagnostics.recordFrameworkVersion)("15.4.0-canary.41");
749
+ await (0, _builddiagnostics.recordFrameworkVersion)("15.4.0-canary.42");
750
750
  await (0, _builddiagnostics.updateBuildDiagnostics)({
751
751
  buildStage: 'start'
752
752
  });
@@ -123,7 +123,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
123
123
  }
124
124
  return newObj;
125
125
  }
126
- const nextVersion = "15.4.0-canary.41";
126
+ const nextVersion = "15.4.0-canary.42";
127
127
  const ArchName = (0, _os.arch)();
128
128
  const PlatformName = (0, _os.platform)();
129
129
  function infoLog(...args) {
@@ -37,11 +37,53 @@ const _config = /*#__PURE__*/ _interop_require_default(require("../../server/con
37
37
  const _utils1 = require("../../export/utils");
38
38
  const _storage = require("../../telemetry/storage");
39
39
  const _trace = require("../../trace");
40
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../output/log"));
40
41
  function _interop_require_default(obj) {
41
42
  return obj && obj.__esModule ? obj : {
42
43
  default: obj
43
44
  };
44
45
  }
46
+ function _getRequireWildcardCache(nodeInterop) {
47
+ if (typeof WeakMap !== "function") return null;
48
+ var cacheBabelInterop = new WeakMap();
49
+ var cacheNodeInterop = new WeakMap();
50
+ return (_getRequireWildcardCache = function(nodeInterop) {
51
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
52
+ })(nodeInterop);
53
+ }
54
+ function _interop_require_wildcard(obj, nodeInterop) {
55
+ if (!nodeInterop && obj && obj.__esModule) {
56
+ return obj;
57
+ }
58
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
59
+ return {
60
+ default: obj
61
+ };
62
+ }
63
+ var cache = _getRequireWildcardCache(nodeInterop);
64
+ if (cache && cache.has(obj)) {
65
+ return cache.get(obj);
66
+ }
67
+ var newObj = {
68
+ __proto__: null
69
+ };
70
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
71
+ for(var key in obj){
72
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
73
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
74
+ if (desc && (desc.get || desc.set)) {
75
+ Object.defineProperty(newObj, key, desc);
76
+ } else {
77
+ newObj[key] = obj[key];
78
+ }
79
+ }
80
+ }
81
+ newObj.default = obj;
82
+ if (cache) {
83
+ cache.set(obj, newObj);
84
+ }
85
+ return newObj;
86
+ }
45
87
  async function turbopackBuild() {
46
88
  var _config_experimental, _config_turbopack, _config_experimental1;
47
89
  await (0, _turbopackwarning.validateTurboNextConfig)({
@@ -99,6 +141,14 @@ async function turbopackBuild() {
99
141
  dependencyTracking: persistentCaching
100
142
  });
101
143
  try {
144
+ ;
145
+ (async function logCompilationEvents() {
146
+ for await (const event of project.compilationEventsSubscribe()){
147
+ if (event.severity === 'EVENT') {
148
+ _log.event(event.message);
149
+ }
150
+ }
151
+ })();
102
152
  // Write an empty file in a known location to signal this was built with Turbopack
103
153
  await _fs.promises.writeFile(_path.default.join(distDir, 'turbopack'), '');
104
154
  await _fs.promises.mkdir(_path.default.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":["turbopackBuild","waitForShutdown","workerMain","config","validateTurboNextConfig","dir","NextBuildContext","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","process","hrtime","bindings","loadBindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","isPersistentCachingEnabled","project","turbo","createProject","projectPath","rootPath","turbopack","root","outputFileTracingRoot","nextConfig","jsConfig","getTurbopackJsConfig","watch","enable","env","defineEnv","createDefineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","turbopackMemoryLimit","dependencyTracking","fs","writeFile","path","mkdir","recursive","JSON","stringify","type","entrypoints","writeAllEntrypointsToDisk","manifestLoader","TurbopackManifestLoader","topLevelErrors","topLevelWarnings","issue","issues","severity","push","formatIssue","isRelevantWarning","length","console","warn","Error","currentEntrypoints","rawEntrypointsToEntrypoints","promises","page","route","handleRouteType","app","Promise","all","loadBuildManifest","loadPagesManifest","loadFontManifest","instrumentation","loadMiddlewareManifest","middleware","writeManifests","devRewrites","productionRewrites","shutdownPromise","shutdown","time","duration","buildTraceContext","err","workerData","Object","assign","buildContext","loadConfig","PHASE_PRODUCTION_BUILD","hasCustomExportOutput","telemetry","Telemetry","setGlobal","result"],"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":["turbopackBuild","waitForShutdown","workerMain","config","validateTurboNextConfig","dir","NextBuildContext","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","process","hrtime","bindings","loadBindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","isPersistentCachingEnabled","project","turbo","createProject","projectPath","rootPath","turbopack","root","outputFileTracingRoot","nextConfig","jsConfig","getTurbopackJsConfig","watch","enable","env","defineEnv","createDefineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","turbopackMemoryLimit","dependencyTracking","logCompilationEvents","event","compilationEventsSubscribe","severity","Log","message","fs","writeFile","path","mkdir","recursive","JSON","stringify","type","entrypoints","writeAllEntrypointsToDisk","manifestLoader","TurbopackManifestLoader","topLevelErrors","topLevelWarnings","issue","issues","push","formatIssue","isRelevantWarning","length","console","warn","Error","currentEntrypoints","rawEntrypointsToEntrypoints","promises","page","route","handleRouteType","app","Promise","all","loadBuildManifest","loadPagesManifest","loadFontManifest","instrumentation","loadMiddlewareManifest","middleware","writeManifests","devRewrites","productionRewrites","shutdownPromise","shutdown","time","duration","buildTraceContext","err","workerData","Object","assign","buildContext","loadConfig","PHASE_PRODUCTION_BUILD","hasCustomExportOutput","telemetry","Telemetry","setGlobal","result"],"mappings":";;;;;;;;;;;;;;;;IAuBsBA,cAAc;eAAdA;;IAmOAC,eAAe;eAAfA;;IA9BAC,UAAU;eAAVA;;;6DA5NL;kCACuB;uBAMjC;8BAC0B;qBACa;mCAIvC;gCACiC;oBACT;2BACQ;+DAChB;wBACe;yBACZ;uBACA;6DACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,eAAeF;QAsBgBG,sBAYtBA,mBA4BGA;IAzDjB,MAAMC,IAAAA,yCAAuB,EAAC;QAC5BC,KAAKC,8BAAgB,CAACD,GAAG;QACzBE,OAAO;IACT;IAEA,MAAMJ,SAASG,8BAAgB,CAACH,MAAM;IACtC,MAAME,MAAMC,8BAAgB,CAACD,GAAG;IAChC,MAAMG,UAAUF,8BAAgB,CAACE,OAAO;IACxC,MAAMC,UAAUH,8BAAgB,CAACG,OAAO;IACxC,MAAMC,gBAAgBJ,8BAAgB,CAACI,aAAa;IACpD,MAAMC,eAAeL,8BAAgB,CAACK,YAAY;IAClD,MAAMC,cAAcN,8BAAgB,CAACM,WAAW;IAChD,MAAMC,WAAWP,8BAAgB,CAACO,QAAQ;IAC1C,MAAMC,aAAaR,8BAAgB,CAACQ,UAAU;IAC9C,MAAMC,aAAaT,8BAAgB,CAACS,UAAU;IAE9C,MAAMC,YAAYC,QAAQC,MAAM;IAChC,MAAMC,WAAW,MAAMC,IAAAA,iBAAY,EAACjB,2BAAAA,uBAAAA,OAAQkB,YAAY,qBAApBlB,qBAAsBmB,aAAa;IACvE,MAAMC,MAAM;IAEZ,iEAAiE;IACjE,MAAMC,oBAAoB;QACxB;KACD;IAED,MAAMC,oBAAoBC,IAAAA,iCAA0B,EAACvB;IACrD,MAAMwB,UAAU,MAAMR,SAASS,KAAK,CAACC,aAAa,CAChD;QACEC,aAAazB;QACb0B,UAAU5B,EAAAA,oBAAAA,OAAO6B,SAAS,qBAAhB7B,kBAAkB8B,IAAI,KAAI9B,OAAO+B,qBAAqB,IAAI7B;QACpEG;QACA2B,YAAYhC;QACZiC,UAAU,MAAMC,IAAAA,2BAAoB,EAAChC,KAAKF;QAC1CmC,OAAO;YACLC,QAAQ;QACV;QACAhB;QACAiB,KAAKvB,QAAQuB,GAAG;QAChBC,WAAWC,IAAAA,oBAAe,EAAC;YACzBC,aAAa;YACbC,qBAAqBtC,8BAAgB,CAACsC,mBAAmB;YACzDzC;YACAoB;YACAf;YACAqC,qBAAqB1C,OAAOkB,YAAY,CAACwB,mBAAmB;YAC5DjC;YACA,uEAAuE;YACvEkC,oBAAoBC;QACtB;QACAtC;QACAC;QACAC;QACAqC,mBAAmBxB,kBAAkByB,IAAI,CAAC;QAC1ClC;IACF,GACA;QACEU;QACAyB,WAAW,GAAE/C,wBAAAA,OAAOkB,YAAY,qBAAnBlB,sBAAqBgD,oBAAoB;QACtDC,oBAAoB3B;IACtB;IAEF,IAAI;;QACA,CAAA,eAAe4B;YACf,WAAW,MAAMC,SAAS3B,QAAQ4B,0BAA0B,GAAI;gBAC9D,IAAID,MAAME,QAAQ,KAAK,SAAS;oBAC9BC,KAAIH,KAAK,CAACA,MAAMI,OAAO;gBACzB;YACF;QACF,CAAA;QAEA,kFAAkF;QAClF,MAAMC,YAAE,CAACC,SAAS,CAACC,aAAI,CAACZ,IAAI,CAACzC,SAAS,cAAc;QAEpD,MAAMmD,YAAE,CAACG,KAAK,CAACD,aAAI,CAACZ,IAAI,CAACzC,SAAS,WAAW;YAAEuD,WAAW;QAAK;QAC/D,MAAMJ,YAAE,CAACG,KAAK,CAACD,aAAI,CAACZ,IAAI,CAACzC,SAAS,UAAUC,UAAU;YACpDsD,WAAW;QACb;QACA,MAAMJ,YAAE,CAACC,SAAS,CAChBC,aAAI,CAACZ,IAAI,CAACzC,SAAS,iBACnBwD,KAAKC,SAAS,CACZ;YACEC,MAAM;QACR,GACA,MACA;QAIJ,6DAA6D;QAC7D,MAAMC,cAAc,MAAMxC,QAAQyC,yBAAyB,CAACtD;QAE5D,MAAMuD,iBAAiB,IAAIC,uCAAuB,CAAC;YACjD7D;YACAD;YACAE;QACF;QAEA,MAAM6D,iBAAiB,EAAE;QACzB,MAAMC,mBAAmB,EAAE;QAC3B,KAAK,MAAMC,SAASN,YAAYO,MAAM,CAAE;YACtC,IAAID,MAAMjB,QAAQ,KAAK,WAAWiB,MAAMjB,QAAQ,KAAK,SAAS;gBAC5De,eAAeI,IAAI,CAACC,IAAAA,kBAAW,EAACH;YAClC,OAAO,IAAII,IAAAA,wBAAiB,EAACJ,QAAQ;gBACnCD,iBAAiBG,IAAI,CAACC,IAAAA,kBAAW,EAACH;YACpC;QACF;QAEA,IAAID,iBAAiBM,MAAM,GAAG,GAAG;YAC/BC,QAAQC,IAAI,CACV,CAAC,4BAA4B,EAC3BR,iBAAiBM,MAAM,CACxB,YAAY,EAAEN,iBAAiBvB,IAAI,CAAC,OAAO;QAEhD;QAEA,IAAIsB,eAAeO,MAAM,GAAG,GAAG;YAC7B,MAAM,qBAIL,CAJK,IAAIG,MACR,CAAC,4BAA4B,EAC3BV,eAAeO,MAAM,CACtB,UAAU,EAAEP,eAAetB,IAAI,CAAC,OAAO,GAHpC,qBAAA;uBAAA;4BAAA;8BAAA;YAIN;QACF;QAEA,MAAMiC,qBAAqB,MAAMC,IAAAA,8CAA2B,EAAChB;QAE7D,MAAMiB,WAA2B,EAAE;QAEnC,IAAI,CAACtE,YAAY;YACf,KAAK,MAAM,CAACuE,MAAMC,MAAM,IAAIJ,mBAAmBG,IAAI,CAAE;gBACnDD,SAAST,IAAI,CACXY,IAAAA,kCAAe,EAAC;oBACdF;oBACAC;oBACAjB;gBACF;YAEJ;QACF;QAEA,KAAK,MAAM,CAACgB,MAAMC,MAAM,IAAIJ,mBAAmBM,GAAG,CAAE;YAClDJ,SAAST,IAAI,CACXY,IAAAA,kCAAe,EAAC;gBACdF;gBACAC;gBACAjB;YACF;QAEJ;QAEA,MAAMoB,QAAQC,GAAG,CAACN;QAElB,MAAMK,QAAQC,GAAG,CAAC;YAChBrB,eAAesB,iBAAiB,CAAC;YACjCtB,eAAeuB,iBAAiB,CAAC;YACjCvB,eAAewB,gBAAgB,CAAC;YAChCxB,eAAeuB,iBAAiB,CAAC;YACjCvB,eAAesB,iBAAiB,CAAC;YACjCtB,eAAeuB,iBAAiB,CAAC;YACjCvB,eAAewB,gBAAgB,CAAC;YAChC1B,YAAY2B,eAAe,IACzBzB,eAAe0B,sBAAsB,CACnC,mBACA;YAEJ5B,YAAY6B,UAAU,IACnB,MAAM3B,eAAe0B,sBAAsB,CAC1C,cACA;SAEL;QAED,MAAM1B,eAAe4B,cAAc,CAAC;YAClCC,aAAanD;YACboD,oBAAoBtF;YACpBsD,aAAae;QACf;QAEA,MAAMkB,kBAAkBzE,QAAQ0E,QAAQ;QAExC,MAAMC,OAAOrF,QAAQC,MAAM,CAACF;QAC5B,OAAO;YACLuF,UAAUD,IAAI,CAAC,EAAE,GAAGA,IAAI,CAAC,EAAE,GAAG;YAC9BE,mBAAmBzD;YACnBqD;QACF;IACF,EAAE,OAAOK,KAAK;QACZ,MAAM9E,QAAQ0E,QAAQ;QACtB,MAAMI;IACR;AACF;AAEA,IAAIL;AACG,eAAelG,WAAWwG,UAEhC;IACC,0EAA0E;IAC1EC,OAAOC,MAAM,CAACtG,8BAAgB,EAAEoG,WAAWG,YAAY;IAEvD,iDAAiD;IACjDvG,8BAAgB,CAACH,MAAM,GAAG,MAAM2G,IAAAA,eAAU,EACxCC,iCAAsB,EACtBzG,8BAAgB,CAACD,GAAG;IAGtB,qCAAqC;IACrC,6HAA6H;IAC7H,kDAAkD;IAClD,IAAI2G,IAAAA,6BAAqB,EAAC1G,8BAAgB,CAACH,MAAM,GAAG;QAClDG,8BAAgB,CAACH,MAAM,CAACK,OAAO,GAAG;IACpC;IAEA,iCAAiC;IACjC,MAAMyG,YAAY,IAAIC,kBAAS,CAAC;QAC9B1G,SAASF,8BAAgB,CAACH,MAAM,CAACK,OAAO;IAC1C;IACA2G,IAAAA,gBAAS,EAAC,aAAaF;IAEvB,MAAMG,SAAS,MAAMpH;IACrBoG,kBAAkBgB,OAAOhB,eAAe;IACxC,OAAOgB;AACT;AAEO,eAAenH;IACpB,IAAImG,iBAAiB;QACnB,MAAMA;IACR;AACF","ignoreList":[0]}
@@ -1654,7 +1654,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1654
1654
  isClient && new _copyfileplugin.CopyFilePlugin({
1655
1655
  // file path to build output of `@next/polyfill-nomodule`
1656
1656
  filePath: require.resolve('./polyfills/polyfill-nomodule'),
1657
- cacheKey: "15.4.0-canary.41",
1657
+ cacheKey: "15.4.0-canary.42",
1658
1658
  name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
1659
1659
  minimize: false,
1660
1660
  info: {
@@ -1831,7 +1831,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1831
1831
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1832
1832
  // - Next.js version
1833
1833
  // - next.config.js keys that affect compilation
1834
- version: `${__dirname}|${"15.4.0-canary.41"}|${configVars}`,
1834
+ version: `${__dirname}|${"15.4.0-canary.42"}|${configVars}`,
1835
1835
  cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
1836
1836
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1837
1837
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "appBootstrap", {
13
13
  return appBootstrap;
14
14
  }
15
15
  });
16
- const version = "15.4.0-canary.41";
16
+ const version = "15.4.0-canary.42";
17
17
  window.next = {
18
18
  version,
19
19
  appDir: true
@@ -61,7 +61,7 @@ const _hooksclientcontextsharedruntime = require("../shared/lib/hooks-client-con
61
61
  const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-error");
62
62
  const _tracer = /*#__PURE__*/ _interop_require_default._(require("./tracing/tracer"));
63
63
  const _isnextroutererror = require("./components/is-next-router-error");
64
- const version = "15.4.0-canary.41";
64
+ const version = "15.4.0-canary.42";
65
65
  let router;
66
66
  const emitter = (0, _mitt.default)();
67
67
  const looseToArray = (input)=>[].slice.call(input);