next 15.4.0-canary.40 → 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 (59) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/define-env.d.ts +1 -2
  3. package/dist/build/define-env.js +19 -5
  4. package/dist/build/define-env.js.map +1 -1
  5. package/dist/build/index.js +2 -2
  6. package/dist/build/swc/index.js +1 -2
  7. package/dist/build/swc/index.js.map +1 -1
  8. package/dist/build/turbopack-build/impl.js +50 -0
  9. package/dist/build/turbopack-build/impl.js.map +1 -1
  10. package/dist/build/webpack-config.js +2 -3
  11. package/dist/build/webpack-config.js.map +1 -1
  12. package/dist/client/app-bootstrap.js +1 -1
  13. package/dist/client/index.js +1 -1
  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 +1 -1
  19. package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
  20. package/dist/esm/build/define-env.js +19 -5
  21. package/dist/esm/build/define-env.js.map +1 -1
  22. package/dist/esm/build/index.js +2 -2
  23. package/dist/esm/build/swc/index.js +1 -2
  24. package/dist/esm/build/swc/index.js.map +1 -1
  25. package/dist/esm/build/turbopack-build/impl.js +9 -0
  26. package/dist/esm/build/turbopack-build/impl.js.map +1 -1
  27. package/dist/esm/build/webpack-config.js +2 -3
  28. package/dist/esm/build/webpack-config.js.map +1 -1
  29. package/dist/esm/client/app-bootstrap.js +1 -1
  30. package/dist/esm/client/index.js +1 -1
  31. package/dist/esm/server/config-schema.js +1 -0
  32. package/dist/esm/server/config-schema.js.map +1 -1
  33. package/dist/esm/server/config-shared.js.map +1 -1
  34. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  35. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  36. package/dist/esm/server/lib/app-info-log.js +1 -1
  37. package/dist/esm/server/lib/incremental-cache/index.js +4 -2
  38. package/dist/esm/server/lib/incremental-cache/index.js.map +1 -1
  39. package/dist/esm/server/lib/router-utils/setup-dev-bundler.js +0 -1
  40. package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
  41. package/dist/esm/server/lib/start-server.js +1 -1
  42. package/dist/esm/shared/lib/canary-only.js +1 -1
  43. package/dist/server/config-schema.js +1 -0
  44. package/dist/server/config-schema.js.map +1 -1
  45. package/dist/server/config-shared.d.ts +5 -0
  46. package/dist/server/config-shared.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/router-utils/setup-dev-bundler.js +0 -1
  53. package/dist/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
  54. package/dist/server/lib/start-server.js +1 -1
  55. package/dist/shared/lib/canary-only.js +1 -1
  56. package/dist/telemetry/anonymous-meta.js +1 -1
  57. package/dist/telemetry/events/session-stopped.js +2 -2
  58. package/dist/telemetry/events/version.js +2 -2
  59. package/package.json +15 -15
@@ -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":";;;;;;;;;;;;;;;;IAsBsBA,cAAc;eAAdA;;IA2NAC,eAAe;eAAfA;;IA9BAC,UAAU;eAAVA;;;6DAnNL;kCACuB;uBAMjC;8BAC0B;qBACa;mCAIvC;gCACiC;oBACT;2BACQ;+DAChB;wBACe;yBACZ;uBACA;;;;;;AAEnB,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;QACF,kFAAkF;QAClF,MAAM4B,YAAE,CAACC,SAAS,CAACC,aAAI,CAACN,IAAI,CAACzC,SAAS,cAAc;QAEpD,MAAM6C,YAAE,CAACG,KAAK,CAACD,aAAI,CAACN,IAAI,CAACzC,SAAS,WAAW;YAAEiD,WAAW;QAAK;QAC/D,MAAMJ,YAAE,CAACG,KAAK,CAACD,aAAI,CAACN,IAAI,CAACzC,SAAS,UAAUC,UAAU;YACpDgD,WAAW;QACb;QACA,MAAMJ,YAAE,CAACC,SAAS,CAChBC,aAAI,CAACN,IAAI,CAACzC,SAAS,iBACnBkD,KAAKC,SAAS,CACZ;YACEC,MAAM;QACR,GACA,MACA;QAIJ,6DAA6D;QAC7D,MAAMC,cAAc,MAAMlC,QAAQmC,yBAAyB,CAAChD;QAE5D,MAAMiD,iBAAiB,IAAIC,uCAAuB,CAAC;YACjDvD;YACAD;YACAE;QACF;QAEA,MAAMuD,iBAAiB,EAAE;QACzB,MAAMC,mBAAmB,EAAE;QAC3B,KAAK,MAAMC,SAASN,YAAYO,MAAM,CAAE;YACtC,IAAID,MAAME,QAAQ,KAAK,WAAWF,MAAME,QAAQ,KAAK,SAAS;gBAC5DJ,eAAeK,IAAI,CAACC,IAAAA,kBAAW,EAACJ;YAClC,OAAO,IAAIK,IAAAA,wBAAiB,EAACL,QAAQ;gBACnCD,iBAAiBI,IAAI,CAACC,IAAAA,kBAAW,EAACJ;YACpC;QACF;QAEA,IAAID,iBAAiBO,MAAM,GAAG,GAAG;YAC/BC,QAAQC,IAAI,CACV,CAAC,4BAA4B,EAC3BT,iBAAiBO,MAAM,CACxB,YAAY,EAAEP,iBAAiBjB,IAAI,CAAC,OAAO;QAEhD;QAEA,IAAIgB,eAAeQ,MAAM,GAAG,GAAG;YAC7B,MAAM,qBAIL,CAJK,IAAIG,MACR,CAAC,4BAA4B,EAC3BX,eAAeQ,MAAM,CACtB,UAAU,EAAER,eAAehB,IAAI,CAAC,OAAO,GAHpC,qBAAA;uBAAA;4BAAA;8BAAA;YAIN;QACF;QAEA,MAAM4B,qBAAqB,MAAMC,IAAAA,8CAA2B,EAACjB;QAE7D,MAAMkB,WAA2B,EAAE;QAEnC,IAAI,CAACjE,YAAY;YACf,KAAK,MAAM,CAACkE,MAAMC,MAAM,IAAIJ,mBAAmBG,IAAI,CAAE;gBACnDD,SAAST,IAAI,CACXY,IAAAA,kCAAe,EAAC;oBACdF;oBACAC;oBACAlB;gBACF;YAEJ;QACF;QAEA,KAAK,MAAM,CAACiB,MAAMC,MAAM,IAAIJ,mBAAmBM,GAAG,CAAE;YAClDJ,SAAST,IAAI,CACXY,IAAAA,kCAAe,EAAC;gBACdF;gBACAC;gBACAlB;YACF;QAEJ;QAEA,MAAMqB,QAAQC,GAAG,CAACN;QAElB,MAAMK,QAAQC,GAAG,CAAC;YAChBtB,eAAeuB,iBAAiB,CAAC;YACjCvB,eAAewB,iBAAiB,CAAC;YACjCxB,eAAeyB,gBAAgB,CAAC;YAChCzB,eAAewB,iBAAiB,CAAC;YACjCxB,eAAeuB,iBAAiB,CAAC;YACjCvB,eAAewB,iBAAiB,CAAC;YACjCxB,eAAeyB,gBAAgB,CAAC;YAChC3B,YAAY4B,eAAe,IACzB1B,eAAe2B,sBAAsB,CACnC,mBACA;YAEJ7B,YAAY8B,UAAU,IACnB,MAAM5B,eAAe2B,sBAAsB,CAC1C,cACA;SAEL;QAED,MAAM3B,eAAe6B,cAAc,CAAC;YAClCC,aAAa9C;YACb+C,oBAAoBjF;YACpBgD,aAAagB;QACf;QAEA,MAAMkB,kBAAkBpE,QAAQqE,QAAQ;QAExC,MAAMC,OAAOhF,QAAQC,MAAM,CAACF;QAC5B,OAAO;YACLkF,UAAUD,IAAI,CAAC,EAAE,GAAGA,IAAI,CAAC,EAAE,GAAG;YAC9BE,mBAAmBpD;YACnBgD;QACF;IACF,EAAE,OAAOK,KAAK;QACZ,MAAMzE,QAAQqE,QAAQ;QACtB,MAAMI;IACR;AACF;AAEA,IAAIL;AACG,eAAe7F,WAAWmG,UAEhC;IACC,0EAA0E;IAC1EC,OAAOC,MAAM,CAACjG,8BAAgB,EAAE+F,WAAWG,YAAY;IAEvD,iDAAiD;IACjDlG,8BAAgB,CAACH,MAAM,GAAG,MAAMsG,IAAAA,eAAU,EACxCC,iCAAsB,EACtBpG,8BAAgB,CAACD,GAAG;IAGtB,qCAAqC;IACrC,6HAA6H;IAC7H,kDAAkD;IAClD,IAAIsG,IAAAA,6BAAqB,EAACrG,8BAAgB,CAACH,MAAM,GAAG;QAClDG,8BAAgB,CAACH,MAAM,CAACK,OAAO,GAAG;IACpC;IAEA,iCAAiC;IACjC,MAAMoG,YAAY,IAAIC,kBAAS,CAAC;QAC9BrG,SAASF,8BAAgB,CAACH,MAAM,CAACK,OAAO;IAC1C;IACAsG,IAAAA,gBAAS,EAAC,aAAaF;IAEvB,MAAMG,SAAS,MAAM/G;IACrB+F,kBAAkBgB,OAAOhB,eAAe;IACxC,OAAOgB;AACT;AAEO,eAAe9G;IACpB,IAAI8F,iBAAiB;QACnB,MAAMA;IACR;AACF","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":"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","ignoreList":[0]}
@@ -1567,7 +1567,6 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1567
1567
  hasRewrites,
1568
1568
  isClient,
1569
1569
  isEdgeServer,
1570
- isNodeOrEdgeCompilation,
1571
1570
  isNodeServer,
1572
1571
  middlewareMatchers,
1573
1572
  omitNonDeterministic: isCompileMode
@@ -1655,7 +1654,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1655
1654
  isClient && new _copyfileplugin.CopyFilePlugin({
1656
1655
  // file path to build output of `@next/polyfill-nomodule`
1657
1656
  filePath: require.resolve('./polyfills/polyfill-nomodule'),
1658
- cacheKey: "15.4.0-canary.40",
1657
+ cacheKey: "15.4.0-canary.42",
1659
1658
  name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
1660
1659
  minimize: false,
1661
1660
  info: {
@@ -1832,7 +1831,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1832
1831
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1833
1832
  // - Next.js version
1834
1833
  // - next.config.js keys that affect compilation
1835
- version: `${__dirname}|${"15.4.0-canary.40"}|${configVars}`,
1834
+ version: `${__dirname}|${"15.4.0-canary.42"}|${configVars}`,
1836
1835
  cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
1837
1836
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1838
1837
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.