next 15.3.0-canary.0 → 15.3.0-canary.1

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/build-context.d.ts +1 -0
  3. package/dist/build/build-context.js.map +1 -1
  4. package/dist/build/index.js +25 -2
  5. package/dist/build/index.js.map +1 -1
  6. package/dist/build/swc/index.js +1 -1
  7. package/dist/build/webpack/plugins/define-env-plugin.d.ts +2 -1
  8. package/dist/build/webpack/plugins/define-env-plugin.js +23 -2
  9. package/dist/build/webpack/plugins/define-env-plugin.js.map +1 -1
  10. package/dist/build/webpack-build/impl.js +1 -0
  11. package/dist/build/webpack-build/impl.js.map +1 -1
  12. package/dist/build/webpack-config.d.ts +2 -1
  13. package/dist/build/webpack-config.js +5 -4
  14. package/dist/build/webpack-config.js.map +1 -1
  15. package/dist/client/app-bootstrap.js +1 -1
  16. package/dist/client/index.js +1 -1
  17. package/dist/compiled/next-server/server.runtime.prod.js +8 -8
  18. package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
  19. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js +1 -1
  20. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js +1 -1
  21. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.development.js +1 -1
  22. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.production.js +1 -1
  23. package/dist/esm/build/build-context.js.map +1 -1
  24. package/dist/esm/build/index.js +25 -2
  25. package/dist/esm/build/index.js.map +1 -1
  26. package/dist/esm/build/swc/index.js +1 -1
  27. package/dist/esm/build/webpack/plugins/define-env-plugin.js +23 -2
  28. package/dist/esm/build/webpack/plugins/define-env-plugin.js.map +1 -1
  29. package/dist/esm/build/webpack-build/impl.js +1 -0
  30. package/dist/esm/build/webpack-build/impl.js.map +1 -1
  31. package/dist/esm/build/webpack-config.js +5 -4
  32. package/dist/esm/build/webpack-config.js.map +1 -1
  33. package/dist/esm/client/app-bootstrap.js +1 -1
  34. package/dist/esm/client/index.js +1 -1
  35. package/dist/esm/lib/inline-static-env.js +122 -0
  36. package/dist/esm/lib/inline-static-env.js.map +1 -0
  37. package/dist/esm/server/base-server.js +8 -0
  38. package/dist/esm/server/base-server.js.map +1 -1
  39. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  40. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  41. package/dist/esm/server/lib/app-info-log.js +1 -1
  42. package/dist/esm/server/lib/router-utils/setup-dev-bundler.js +10 -2
  43. package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
  44. package/dist/esm/server/lib/start-server.js +1 -1
  45. package/dist/esm/shared/lib/canary-only.js +1 -1
  46. package/dist/lib/inline-static-env.d.ts +7 -0
  47. package/dist/lib/inline-static-env.js +149 -0
  48. package/dist/lib/inline-static-env.js.map +1 -0
  49. package/dist/server/base-server.js +8 -0
  50. package/dist/server/base-server.js.map +1 -1
  51. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  52. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  53. package/dist/server/lib/app-info-log.js +1 -1
  54. package/dist/server/lib/router-utils/setup-dev-bundler.js +8 -0
  55. package/dist/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
  56. package/dist/server/lib/start-server.js +1 -1
  57. package/dist/shared/lib/canary-only.js +1 -1
  58. package/dist/telemetry/anonymous-meta.js +1 -1
  59. package/dist/telemetry/events/build.d.ts +1 -1
  60. package/dist/telemetry/events/build.js.map +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
@@ -119,7 +119,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
119
119
  }
120
120
  return newObj;
121
121
  }
122
- const nextVersion = "15.3.0-canary.0";
122
+ const nextVersion = "15.3.0-canary.1";
123
123
  const ArchName = (0, _os.arch)();
124
124
  const PlatformName = (0, _os.platform)();
125
125
  function infoLog(...args) {
@@ -18,6 +18,7 @@ export interface DefineEnvPluginOptions {
18
18
  isNodeOrEdgeCompilation: boolean;
19
19
  isNodeServer: boolean;
20
20
  middlewareMatchers: MiddlewareMatcher[] | undefined;
21
+ omitNonDeterministic?: boolean;
21
22
  }
22
23
  interface DefineEnv {
23
24
  [key: string]: string | string[] | boolean | MiddlewareMatcher[] | BloomFilter | Partial<NextConfigComplete['images']> | I18NDomains;
@@ -33,6 +34,6 @@ export declare function getNextPublicEnvironmentVariables(): DefineEnv;
33
34
  * Collects the `env` config value from the Next.js config.
34
35
  */
35
36
  export declare function getNextConfigEnv(config: NextConfigComplete): DefineEnv;
36
- export declare function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir, fetchCacheKeyPrefix, hasRewrites, isClient, isEdgeServer, isNodeOrEdgeCompilation, isNodeServer, middlewareMatchers, }: DefineEnvPluginOptions): SerializedDefineEnv;
37
+ export declare function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir, fetchCacheKeyPrefix, hasRewrites, isClient, isEdgeServer, isNodeOrEdgeCompilation, isNodeServer, middlewareMatchers, omitNonDeterministic, }: DefineEnvPluginOptions): SerializedDefineEnv;
37
38
  export declare function getDefineEnvPlugin(options: DefineEnvPluginOptions): webpack.DefinePlugin;
38
39
  export {};
@@ -98,7 +98,7 @@ function getImageConfig(config, dev) {
98
98
  }
99
99
  };
100
100
  }
101
- function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir, fetchCacheKeyPrefix, hasRewrites, isClient, isEdgeServer, isNodeOrEdgeCompilation, isNodeServer, middlewareMatchers }) {
101
+ function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir, fetchCacheKeyPrefix, hasRewrites, isClient, isEdgeServer, isNodeOrEdgeCompilation, isNodeServer, middlewareMatchers, omitNonDeterministic }) {
102
102
  var _config_experimental_staleTimes, _config_experimental_staleTimes1, _config_experimental_staleTimes2, _config_experimental_staleTimes3, _config_i18n, _config_compiler;
103
103
  const nextPublicEnv = getNextPublicEnvironmentVariables();
104
104
  const nextConfigEnv = getNextConfigEnv(config);
@@ -202,7 +202,28 @@ function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir,
202
202
  }
203
203
  defineEnv[key] = userDefines[key];
204
204
  }
205
- return serializeDefineEnv(defineEnv);
205
+ const serializedDefineEnv = serializeDefineEnv(defineEnv);
206
+ // we delay inlining these values until after the build
207
+ // with flying shuttle enabled so we can update them
208
+ // without invalidating entries
209
+ if (!dev && omitNonDeterministic) {
210
+ // client uses window. instead of leaving process.env
211
+ // in case process isn't polyfilled on client already
212
+ // since by this point it won't be added by webpack
213
+ const safeKey = (key)=>isClient ? `window.${key.split('.').pop()}` : key;
214
+ for(const key in nextPublicEnv){
215
+ serializedDefineEnv[key] = safeKey(key);
216
+ }
217
+ for(const key in nextConfigEnv){
218
+ serializedDefineEnv[key] = safeKey(key);
219
+ }
220
+ for (const key of [
221
+ 'process.env.NEXT_DEPLOYMENT_ID'
222
+ ]){
223
+ serializedDefineEnv[key] = safeKey(key);
224
+ }
225
+ }
226
+ return serializedDefineEnv;
206
227
  }
207
228
  function getDefineEnvPlugin(options) {
208
229
  return new _webpack.webpack.DefinePlugin(getDefineEnv(options));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/build/webpack/plugins/define-env-plugin.ts"],"sourcesContent":["import type {\n I18NDomains,\n NextConfigComplete,\n} from '../../../server/config-shared'\nimport type { MiddlewareMatcher } from '../../analysis/get-page-static-info'\nimport { webpack } from 'next/dist/compiled/webpack/webpack'\nimport { needsExperimentalReact } from '../../../lib/needs-experimental-react'\nimport { checkIsAppPPREnabled } from '../../../server/lib/experimental/ppr'\n\nfunction errorIfEnvConflicted(config: NextConfigComplete, key: string) {\n const isPrivateKey = /^(?:NODE_.+)|^(?:__.+)$/i.test(key)\n const hasNextRuntimeKey = key === 'NEXT_RUNTIME'\n\n if (isPrivateKey || hasNextRuntimeKey) {\n throw new Error(\n `The key \"${key}\" under \"env\" in ${config.configFileName} is not allowed. https://nextjs.org/docs/messages/env-key-not-allowed`\n )\n }\n}\n\ntype BloomFilter = ReturnType<\n import('../../../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvPluginOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeOrEdgeCompilation: boolean\n isNodeServer: boolean\n middlewareMatchers: MiddlewareMatcher[] | undefined\n}\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | MiddlewareMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Collects all environment variables that are using the `NEXT_PUBLIC_` prefix.\n */\nexport function getNextPublicEnvironmentVariables(): DefineEnv {\n const defineEnv: DefineEnv = {}\n for (const key in process.env) {\n if (key.startsWith('NEXT_PUBLIC_')) {\n const value = process.env[key]\n if (value != null) {\n defineEnv[`process.env.${key}`] = value\n }\n }\n }\n return defineEnv\n}\n\n/**\n * Collects the `env` config value from the Next.js config.\n */\nexport function getNextConfigEnv(config: NextConfigComplete): DefineEnv {\n // Refactored code below to use for-of\n const defineEnv: DefineEnv = {}\n const env = config.env\n for (const key in env) {\n const value = env[key]\n if (value != null) {\n errorIfEnvConflicted(config, key)\n defineEnv[`process.env.${key}`] = value\n }\n }\n return defineEnv\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = {}\n for (const key in defineEnv) {\n const value = defineEnv[key]\n defineEnvStringified[key] = JSON.stringify(value)\n }\n\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeOrEdgeCompilation,\n isNodeServer,\n middlewareMatchers,\n}: DefineEnvPluginOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isDynamicIOEnabled = !!config.experimental.dynamicIO\n const isUseCacheEnabled = !!config.experimental.useCache\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_DYNAMIC_IO': isDynamicIOEnabled,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_SEGMENT_CACHE': Boolean(\n config.experimental.clientSegmentCache\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.middlewarePrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : config.devIndicators.position ?? 'bottom-left',\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_STRICT_NEXT_HEAD':\n config.experimental.strictNextHead ?? true,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipMiddlewareUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalMiddlewareRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n ...(isNodeOrEdgeCompilation\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeOrEdgeCompilation\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured via the \\`env\\` option.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n return serializeDefineEnv(defineEnv)\n}\n\nexport function getDefineEnvPlugin(options: DefineEnvPluginOptions) {\n return new webpack.DefinePlugin(getDefineEnv(options))\n}\n"],"names":["getDefineEnv","getDefineEnvPlugin","getNextConfigEnv","getNextPublicEnvironmentVariables","errorIfEnvConflicted","config","key","isPrivateKey","test","hasNextRuntimeKey","Error","configFileName","defineEnv","process","env","startsWith","value","serializeDefineEnv","defineEnvStringified","JSON","stringify","getImageConfig","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","nextPublicEnv","nextConfigEnv","isPPREnabled","checkIsAppPPREnabled","experimental","ppr","isDynamicIOEnabled","dynamicIO","isUseCacheEnabled","useCache","__NEXT_DEFINE_ENV","EdgeRuntime","NEXT_EDGE_RUNTIME_PROVIDER","allowDevelopmentBuild","Boolean","appNavFailHandling","deploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","needsExperimentalReact","userDefines","compiler","define","hasOwnProperty","options","webpack","DefinePlugin"],"mappings":";;;;;;;;;;;;;;;;;IAiIgBA,YAAY;eAAZA;;IAoLAC,kBAAkB;eAAlBA;;IAzOAC,gBAAgB;eAAhBA;;IAhBAC,iCAAiC;eAAjCA;;;yBAvDQ;wCACe;qBACF;AAErC,SAASC,qBAAqBC,MAA0B,EAAEC,GAAW;IACnE,MAAMC,eAAe,2BAA2BC,IAAI,CAACF;IACrD,MAAMG,oBAAoBH,QAAQ;IAElC,IAAIC,gBAAgBE,mBAAmB;QACrC,MAAM,qBAEL,CAFK,IAAIC,MACR,CAAC,SAAS,EAAEJ,IAAI,iBAAiB,EAAED,OAAOM,cAAc,CAAC,qEAAqE,CAAC,GAD3H,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;AACF;AA0CO,SAASR;IACd,MAAMS,YAAuB,CAAC;IAC9B,IAAK,MAAMN,OAAOO,QAAQC,GAAG,CAAE;QAC7B,IAAIR,IAAIS,UAAU,CAAC,iBAAiB;YAClC,MAAMC,QAAQH,QAAQC,GAAG,CAACR,IAAI;YAC9B,IAAIU,SAAS,MAAM;gBACjBJ,SAAS,CAAC,CAAC,YAAY,EAAEN,KAAK,CAAC,GAAGU;YACpC;QACF;IACF;IACA,OAAOJ;AACT;AAKO,SAASV,iBAAiBG,MAA0B;IACzD,sCAAsC;IACtC,MAAMO,YAAuB,CAAC;IAC9B,MAAME,MAAMT,OAAOS,GAAG;IACtB,IAAK,MAAMR,OAAOQ,IAAK;QACrB,MAAME,QAAQF,GAAG,CAACR,IAAI;QACtB,IAAIU,SAAS,MAAM;YACjBZ,qBAAqBC,QAAQC;YAC7BM,SAAS,CAAC,CAAC,YAAY,EAAEN,KAAK,CAAC,GAAGU;QACpC;IACF;IACA,OAAOJ;AACT;AAEA;;CAEC,GACD,SAASK,mBAAmBL,SAAoB;IAC9C,MAAMM,uBAA4C,CAAC;IACnD,IAAK,MAAMZ,OAAOM,UAAW;QAC3B,MAAMI,QAAQJ,SAAS,CAACN,IAAI;QAC5BY,oBAAoB,CAACZ,IAAI,GAAGa,KAAKC,SAAS,CAACJ;IAC7C;IAEA,OAAOE;AACT;AAEA,SAASG,eACPhB,MAA0B,EAC1BiB,GAAY;QAUKjB,gBAKSA,iBACDA;IAdzB,OAAO;QACL,iCAAiC;YAC/BkB,aAAalB,OAAOmB,MAAM,CAACD,WAAW;YACtCE,YAAYpB,OAAOmB,MAAM,CAACC,UAAU;YACpCC,WAAWrB,OAAOmB,MAAM,CAACE,SAAS;YAClCC,MAAMtB,OAAOmB,MAAM,CAACG,IAAI;YACxBC,QAAQvB,OAAOmB,MAAM,CAACI,MAAM;YAC5BC,qBAAqBxB,OAAOmB,MAAM,CAACK,mBAAmB;YACtDC,WAAW,EAAEzB,2BAAAA,iBAAAA,OAAQmB,MAAM,qBAAdnB,eAAgByB,WAAW;YACxC,GAAIR,MACA;gBACE,6DAA6D;gBAC7DS,SAAS1B,OAAOmB,MAAM,CAACO,OAAO;gBAC9BC,cAAc,GAAE3B,kBAAAA,OAAOmB,MAAM,qBAAbnB,gBAAe2B,cAAc;gBAC7CC,aAAa,GAAE5B,kBAAAA,OAAOmB,MAAM,qBAAbnB,gBAAe4B,aAAa;gBAC3CC,QAAQ7B,OAAO6B,MAAM;YACvB,IACA,CAAC,CAAC;QACR;IACF;AACF;AAEO,SAASlC,aAAa,EAC3BmC,WAAW,EACXC,mBAAmB,EACnB/B,MAAM,EACNiB,GAAG,EACHe,OAAO,EACPC,mBAAmB,EACnBC,WAAW,EACXC,QAAQ,EACRC,YAAY,EACZC,uBAAuB,EACvBC,YAAY,EACZC,kBAAkB,EACK;QA8DNvC,iCAETA,kCAGSA,kCAETA,kCAgD6BA,cAqCjBA;IAzJpB,MAAMwC,gBAAgB1C;IACtB,MAAM2C,gBAAgB5C,iBAAiBG;IAEvC,MAAM0C,eAAeC,IAAAA,yBAAoB,EAAC3C,OAAO4C,YAAY,CAACC,GAAG;IACjE,MAAMC,qBAAqB,CAAC,CAAC9C,OAAO4C,YAAY,CAACG,SAAS;IAC1D,MAAMC,oBAAoB,CAAC,CAAChD,OAAO4C,YAAY,CAACK,QAAQ;IAExD,MAAM1C,YAAuB;QAC3B,+CAA+C;QAC/C2C,mBAAmB;QAEnB,GAAGV,aAAa;QAChB,GAAGC,aAAa;QAChB,GAAI,CAACL,eACD,CAAC,IACD;YACEe,aACE;;;;aAIC,GACD3C,QAAQC,GAAG,CAAC2C,0BAA0B,IAAI;YAE5C,0DAA0D;YAC1D,sEAAsE;YACtE,gBAAgB;QAClB,CAAC;QACL,qBAAqBtB;QACrB,yBAAyBA;QACzB,6DAA6D;QAC7D,wBACEb,OAAOjB,OAAO4C,YAAY,CAACS,qBAAqB,GAC5C,gBACA;QACN,4BAA4BjB,eACxB,SACAE,eACE,WACA;QACN,4BAA4B;QAC5B,4CAA4CgB,QAC1CtD,OAAO4C,YAAY,CAACW,kBAAkB;QAExC,0BAA0Bb;QAC1B,iCAAiCI;QACjC,gCAAgCE;QAChC,kCAAkChD,OAAOwD,YAAY,IAAI;QACzD,0EAA0E;QAC1E,0BAA0B;QAC1B,0DACEhD,QAAQC,GAAG,CAACgD,0CAA0C,IAAI;QAC5D,6CAA6CxB,uBAAuB;QACpE,GAAIH,cACA,CAAC,IACD;YACE,0CAA0CS,sBAAsB,EAAE;QACpE,CAAC;QACL,8CACEvC,OAAO4C,YAAY,CAACc,oBAAoB,IAAI;QAC9C,sDAAsD5C,KAAKC,SAAS,CAClE4C,MAAMC,QAAO5D,kCAAAA,OAAO4C,YAAY,CAACiB,UAAU,qBAA9B7D,gCAAgC8D,OAAO,KAChD,KACA9D,mCAAAA,OAAO4C,YAAY,CAACiB,UAAU,qBAA9B7D,iCAAgC8D,OAAO;QAE7C,qDAAqDhD,KAAKC,SAAS,CACjE4C,MAAMC,QAAO5D,mCAAAA,OAAO4C,YAAY,CAACiB,UAAU,qBAA9B7D,iCAAgC+D,MAAM,KAC/C,IAAI,GAAG,YAAY;YACnB/D,mCAAAA,OAAO4C,YAAY,CAACiB,UAAU,qBAA9B7D,iCAAgC+D,MAAM;QAE5C,mDACE/D,OAAO4C,YAAY,CAACoB,kBAAkB,IAAI;QAC5C,6CACEjC,CAAAA,uCAAAA,oBAAqBkC,YAAY,KAAI;QACvC,6CACElC,CAAAA,uCAAAA,oBAAqBmC,aAAa,KAAI;QACxC,2CAA2CZ,QACzCtD,OAAO4C,YAAY,CAACuB,kBAAkB;QAExC,8CACEnE,OAAO4C,YAAY,CAACwB,qBAAqB,IAAI;QAC/C,0CACEpE,OAAO4C,YAAY,CAACyB,kBAAkB,IAAI;QAC5C,mCAAmCrE,OAAOsE,WAAW;QACrD,mBAAmBnC;QACnB,gCAAgC3B,QAAQC,GAAG,CAAC8D,gBAAgB,IAAI;QAChE,2FAA2F;QAC3F,GAAItD,OAAQkB,CAAAA,YAAYC,YAAW,IAC/B;YACE,+BAA+BJ;QACjC,IACA,CAAC,CAAC;QACN,qCAAqChC,OAAOwE,aAAa;QACzD,oCAAoCxE,OAAOyE,aAAa,KAAK;QAC7D,6CACEzE,OAAOyE,aAAa,KAAK,QACrB,cAAc,sDAAsD;WACpEzE,OAAOyE,aAAa,CAACC,QAAQ,IAAI;QACvC,kCACE1E,OAAO2E,eAAe,KAAK,OAAO,QAAQ3E,OAAO2E,eAAe;QAClE,sCACE,6EAA6E;QAC7E3E,OAAO2E,eAAe,KAAK,OAAO,OAAO3E,OAAO2E,eAAe;QACjE,mCACE,AAAC3E,CAAAA,OAAO4C,YAAY,CAACgC,WAAW,IAAI,CAAC3D,GAAE,KAAM;QAC/C,qCACE,AAACjB,CAAAA,OAAO4C,YAAY,CAACiC,iBAAiB,IAAI,CAAC5D,GAAE,KAAM;QACrD,yCACEjB,OAAO4C,YAAY,CAACkC,iBAAiB,IAAI;QAC3C,GAAG9D,eAAehB,QAAQiB,IAAI;QAC9B,sCAAsCjB,OAAO+E,QAAQ;QACrD,uCACE/E,OAAO4C,YAAY,CAACoC,cAAc,IAAI;QACxC,mCAAmC9C;QACnC,oCAAoClC,OAAO6B,MAAM;QACjD,mCAAmC,CAAC,CAAC7B,OAAOiF,IAAI;QAChD,mCAAmCjF,EAAAA,eAAAA,OAAOiF,IAAI,qBAAXjF,aAAa0B,OAAO,KAAI;QAC3D,kDACE1B,OAAOkF,0BAA0B;QACnC,0DACElF,OAAO4C,YAAY,CAACuC,iCAAiC,IAAI;QAC3D,4CACEnF,OAAOoF,yBAAyB;QAClC,iDACE,AAACpF,CAAAA,OAAO4C,YAAY,CAACyC,oBAAoB,IACvCrF,OAAO4C,YAAY,CAACyC,oBAAoB,CAACC,MAAM,GAAG,CAAA,KACpD;QACF,6CACEtF,OAAO4C,YAAY,CAACyC,oBAAoB,IAAI;QAC9C,0CACErF,OAAO4C,YAAY,CAAC2C,gBAAgB,IAAI;QAC1C,mCAAmCvF,OAAOwF,WAAW;QACrD,mDACE,CAAC,CAACxF,OAAO4C,YAAY,CAAC6C,cAAc;QACtC,yCAAyCnC,QACvC9C,QAAQC,GAAG,CAACiF,uBAAuB;QAErC,GAAIrD,0BACA;YACE,+DAA+D;YAC/D,2DAA2D;YAC3D,+CAA+C;YAC/C,iBAAiB;QACnB,IACAsD,SAAS;QACb,GAAItD,0BACA;YACE,yCACEuD,IAAAA,8CAAsB,EAAC5F;QAC3B,IACA2F,SAAS;IACf;IAEA,MAAME,cAAc7F,EAAAA,mBAAAA,OAAO8F,QAAQ,qBAAf9F,iBAAiB+F,MAAM,KAAI,CAAC;IAChD,IAAK,MAAM9F,OAAO4F,YAAa;QAC7B,IAAItF,UAAUyF,cAAc,CAAC/F,MAAM;YACjC,MAAM,qBAEL,CAFK,IAAII,MACR,CAAC,8DAA8D,EAAEJ,IAAI,gHAAgH,CAAC,GADlL,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QACAM,SAAS,CAACN,IAAI,GAAG4F,WAAW,CAAC5F,IAAI;IACnC;IAEA,OAAOW,mBAAmBL;AAC5B;AAEO,SAASX,mBAAmBqG,OAA+B;IAChE,OAAO,IAAIC,gBAAO,CAACC,YAAY,CAACxG,aAAasG;AAC/C"}
1
+ {"version":3,"sources":["../../../../src/build/webpack/plugins/define-env-plugin.ts"],"sourcesContent":["import type {\n I18NDomains,\n NextConfigComplete,\n} from '../../../server/config-shared'\nimport type { MiddlewareMatcher } from '../../analysis/get-page-static-info'\nimport { webpack } from 'next/dist/compiled/webpack/webpack'\nimport { needsExperimentalReact } from '../../../lib/needs-experimental-react'\nimport { checkIsAppPPREnabled } from '../../../server/lib/experimental/ppr'\n\nfunction errorIfEnvConflicted(config: NextConfigComplete, key: string) {\n const isPrivateKey = /^(?:NODE_.+)|^(?:__.+)$/i.test(key)\n const hasNextRuntimeKey = key === 'NEXT_RUNTIME'\n\n if (isPrivateKey || hasNextRuntimeKey) {\n throw new Error(\n `The key \"${key}\" under \"env\" in ${config.configFileName} is not allowed. https://nextjs.org/docs/messages/env-key-not-allowed`\n )\n }\n}\n\ntype BloomFilter = ReturnType<\n import('../../../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvPluginOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeOrEdgeCompilation: boolean\n isNodeServer: boolean\n middlewareMatchers: MiddlewareMatcher[] | undefined\n omitNonDeterministic?: boolean\n}\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | MiddlewareMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Collects all environment variables that are using the `NEXT_PUBLIC_` prefix.\n */\nexport function getNextPublicEnvironmentVariables(): DefineEnv {\n const defineEnv: DefineEnv = {}\n for (const key in process.env) {\n if (key.startsWith('NEXT_PUBLIC_')) {\n const value = process.env[key]\n if (value != null) {\n defineEnv[`process.env.${key}`] = value\n }\n }\n }\n return defineEnv\n}\n\n/**\n * Collects the `env` config value from the Next.js config.\n */\nexport function getNextConfigEnv(config: NextConfigComplete): DefineEnv {\n // Refactored code below to use for-of\n const defineEnv: DefineEnv = {}\n const env = config.env\n for (const key in env) {\n const value = env[key]\n if (value != null) {\n errorIfEnvConflicted(config, key)\n defineEnv[`process.env.${key}`] = value\n }\n }\n return defineEnv\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = {}\n for (const key in defineEnv) {\n const value = defineEnv[key]\n defineEnvStringified[key] = JSON.stringify(value)\n }\n\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeOrEdgeCompilation,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n}: DefineEnvPluginOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isDynamicIOEnabled = !!config.experimental.dynamicIO\n const isUseCacheEnabled = !!config.experimental.useCache\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_DYNAMIC_IO': isDynamicIOEnabled,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_SEGMENT_CACHE': Boolean(\n config.experimental.clientSegmentCache\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.middlewarePrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : config.devIndicators.position ?? 'bottom-left',\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_STRICT_NEXT_HEAD':\n config.experimental.strictNextHead ?? true,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipMiddlewareUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalMiddlewareRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n ...(isNodeOrEdgeCompilation\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeOrEdgeCompilation\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured via the \\`env\\` option.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n const serializedDefineEnv = serializeDefineEnv(defineEnv)\n\n // we delay inlining these values until after the build\n // with flying shuttle enabled so we can update them\n // without invalidating entries\n if (!dev && omitNonDeterministic) {\n // client uses window. instead of leaving process.env\n // in case process isn't polyfilled on client already\n // since by this point it won't be added by webpack\n const safeKey = (key: string) =>\n isClient ? `window.${key.split('.').pop()}` : key\n\n for (const key in nextPublicEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key in nextConfigEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n\n return serializedDefineEnv\n}\n\nexport function getDefineEnvPlugin(options: DefineEnvPluginOptions) {\n return new webpack.DefinePlugin(getDefineEnv(options))\n}\n"],"names":["getDefineEnv","getDefineEnvPlugin","getNextConfigEnv","getNextPublicEnvironmentVariables","errorIfEnvConflicted","config","key","isPrivateKey","test","hasNextRuntimeKey","Error","configFileName","defineEnv","process","env","startsWith","value","serializeDefineEnv","defineEnvStringified","JSON","stringify","getImageConfig","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","omitNonDeterministic","nextPublicEnv","nextConfigEnv","isPPREnabled","checkIsAppPPREnabled","experimental","ppr","isDynamicIOEnabled","dynamicIO","isUseCacheEnabled","useCache","__NEXT_DEFINE_ENV","EdgeRuntime","NEXT_EDGE_RUNTIME_PROVIDER","allowDevelopmentBuild","Boolean","appNavFailHandling","deploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","needsExperimentalReact","userDefines","compiler","define","hasOwnProperty","serializedDefineEnv","safeKey","split","pop","options","webpack","DefinePlugin"],"mappings":"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"}
@@ -120,6 +120,7 @@ async function webpackBuildImpl(compilerName) {
120
120
  }));
121
121
  const commonWebpackOptions = {
122
122
  isServer: false,
123
+ isCompileMode: _buildcontext.NextBuildContext.isCompileMode,
123
124
  buildId: _buildcontext.NextBuildContext.buildId,
124
125
  encryptionKey: _buildcontext.NextBuildContext.encryptionKey,
125
126
  config: config,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/build/webpack-build/impl.ts"],"sourcesContent":["import type { webpack } from 'next/dist/compiled/webpack/webpack'\nimport { stringBufferUtils } from 'next/dist/compiled/webpack-sources3'\nimport { red } from '../../lib/picocolors'\nimport formatWebpackMessages from '../../client/components/react-dev-overlay/utils/format-webpack-messages'\nimport { nonNullable } from '../../lib/non-nullable'\nimport type { COMPILER_INDEXES } from '../../shared/lib/constants'\nimport {\n COMPILER_NAMES,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP,\n APP_CLIENT_INTERNALS,\n PHASE_PRODUCTION_BUILD,\n} from '../../shared/lib/constants'\nimport { runCompiler } from '../compiler'\nimport * as Log from '../output/log'\nimport getBaseWebpackConfig, { loadProjectInfo } from '../webpack-config'\nimport type { NextError } from '../../lib/is-error'\nimport {\n TelemetryPlugin,\n type TelemetryPluginState,\n} from '../webpack/plugins/telemetry-plugin/telemetry-plugin'\nimport {\n NextBuildContext,\n resumePluginState,\n getPluginState,\n} from '../build-context'\nimport { createEntrypoints } from '../entries'\nimport loadConfig from '../../server/config'\nimport {\n getTraceEvents,\n initializeTraceState,\n setGlobal,\n trace,\n type TraceEvent,\n type TraceState,\n} from '../../trace'\nimport { WEBPACK_LAYERS } from '../../lib/constants'\nimport { TraceEntryPointsPlugin } from '../webpack/plugins/next-trace-entrypoints-plugin'\nimport type { BuildTraceContext } from '../webpack/plugins/next-trace-entrypoints-plugin'\nimport type { UnwrapPromise } from '../../lib/coalesced-function'\n\nimport origDebug from 'next/dist/compiled/debug'\nimport { Telemetry } from '../../telemetry/storage'\n\nconst debug = origDebug('next:build:webpack-build')\n\ntype CompilerResult = {\n errors: webpack.StatsError[]\n warnings: webpack.StatsError[]\n stats: (webpack.Stats | undefined)[]\n}\n\ntype SingleCompilerResult = {\n errors: webpack.StatsError[]\n warnings: webpack.StatsError[]\n stats: webpack.Stats | undefined\n}\n\nfunction isTelemetryPlugin(plugin: unknown): plugin is TelemetryPlugin {\n return plugin instanceof TelemetryPlugin\n}\n\nfunction isTraceEntryPointsPlugin(\n plugin: unknown\n): plugin is TraceEntryPointsPlugin {\n return plugin instanceof TraceEntryPointsPlugin\n}\n\nexport async function webpackBuildImpl(\n compilerName: keyof typeof COMPILER_INDEXES | null\n): Promise<{\n duration: number\n pluginState: any\n buildTraceContext?: BuildTraceContext\n telemetryState?: TelemetryPluginState\n}> {\n let result: CompilerResult | null = {\n warnings: [],\n errors: [],\n stats: [],\n }\n let webpackBuildStart\n const nextBuildSpan = NextBuildContext.nextBuildSpan!\n const dir = NextBuildContext.dir!\n const config = NextBuildContext.config!\n process.env.NEXT_COMPILER_NAME = compilerName || 'server'\n\n const runWebpackSpan = nextBuildSpan.traceChild('run-webpack-compiler')\n const entrypoints = await nextBuildSpan\n .traceChild('create-entrypoints')\n .traceAsyncFn(() =>\n createEntrypoints({\n buildId: NextBuildContext.buildId!,\n config: config,\n envFiles: NextBuildContext.loadedEnvFiles!,\n isDev: false,\n rootDir: dir,\n pageExtensions: config.pageExtensions!,\n pagesDir: NextBuildContext.pagesDir!,\n appDir: NextBuildContext.appDir!,\n pages: NextBuildContext.mappedPages!,\n appPaths: NextBuildContext.mappedAppPages!,\n previewMode: NextBuildContext.previewProps!,\n rootPaths: NextBuildContext.mappedRootPaths!,\n hasInstrumentationHook: NextBuildContext.hasInstrumentationHook!,\n })\n )\n\n const commonWebpackOptions = {\n isServer: false,\n buildId: NextBuildContext.buildId!,\n encryptionKey: NextBuildContext.encryptionKey!,\n config: config,\n appDir: NextBuildContext.appDir!,\n pagesDir: NextBuildContext.pagesDir!,\n rewrites: NextBuildContext.rewrites!,\n originalRewrites: NextBuildContext.originalRewrites,\n originalRedirects: NextBuildContext.originalRedirects,\n reactProductionProfiling: NextBuildContext.reactProductionProfiling!,\n noMangling: NextBuildContext.noMangling!,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n previewModeId: NextBuildContext.previewModeId!,\n allowedRevalidateHeaderKeys: NextBuildContext.allowedRevalidateHeaderKeys!,\n fetchCacheKeyPrefix: NextBuildContext.fetchCacheKeyPrefix!,\n }\n\n const configs = await runWebpackSpan\n .traceChild('generate-webpack-config')\n .traceAsyncFn(async () => {\n const info = await loadProjectInfo({\n dir,\n config: commonWebpackOptions.config,\n dev: false,\n })\n return Promise.all([\n getBaseWebpackConfig(dir, {\n ...commonWebpackOptions,\n middlewareMatchers: entrypoints.middlewareMatchers,\n runWebpackSpan,\n compilerType: COMPILER_NAMES.client,\n entrypoints: entrypoints.client,\n ...info,\n }),\n getBaseWebpackConfig(dir, {\n ...commonWebpackOptions,\n runWebpackSpan,\n middlewareMatchers: entrypoints.middlewareMatchers,\n compilerType: COMPILER_NAMES.server,\n entrypoints: entrypoints.server,\n ...info,\n }),\n getBaseWebpackConfig(dir, {\n ...commonWebpackOptions,\n runWebpackSpan,\n middlewareMatchers: entrypoints.middlewareMatchers,\n compilerType: COMPILER_NAMES.edgeServer,\n entrypoints: entrypoints.edgeServer,\n edgePreviewProps: {\n __NEXT_PREVIEW_MODE_ID:\n NextBuildContext.previewProps!.previewModeId,\n __NEXT_PREVIEW_MODE_ENCRYPTION_KEY:\n NextBuildContext.previewProps!.previewModeEncryptionKey,\n __NEXT_PREVIEW_MODE_SIGNING_KEY:\n NextBuildContext.previewProps!.previewModeSigningKey,\n },\n ...info,\n }),\n ])\n })\n\n const clientConfig = configs[0]\n const serverConfig = configs[1]\n const edgeConfig = configs[2]\n\n if (\n clientConfig.optimization &&\n (clientConfig.optimization.minimize !== true ||\n (clientConfig.optimization.minimizer &&\n clientConfig.optimization.minimizer.length === 0))\n ) {\n Log.warn(\n `Production code optimization has been disabled in your project. Read more: https://nextjs.org/docs/messages/minification-disabled`\n )\n }\n\n webpackBuildStart = process.hrtime()\n\n debug(`starting compiler`, compilerName)\n // We run client and server compilation separately to optimize for memory usage\n await runWebpackSpan.traceAsyncFn(async () => {\n if (config.experimental.webpackMemoryOptimizations) {\n stringBufferUtils.disableDualStringBufferCaching()\n stringBufferUtils.enterStringInterningRange()\n }\n\n // Run the server compilers first and then the client\n // compiler to track the boundary of server/client components.\n let clientResult: SingleCompilerResult | null = null\n\n // During the server compilations, entries of client components will be\n // injected to this set and then will be consumed by the client compiler.\n let serverResult: UnwrapPromise<ReturnType<typeof runCompiler>>[0] | null =\n null\n let edgeServerResult:\n | UnwrapPromise<ReturnType<typeof runCompiler>>[0]\n | null = null\n\n let inputFileSystem: webpack.Compiler['inputFileSystem'] | undefined\n\n if (!compilerName || compilerName === 'server') {\n debug('starting server compiler')\n const start = Date.now()\n ;[serverResult, inputFileSystem] = await runCompiler(serverConfig, {\n runWebpackSpan,\n inputFileSystem,\n })\n debug(`server compiler finished ${Date.now() - start}ms`)\n }\n\n if (!compilerName || compilerName === 'edge-server') {\n debug('starting edge-server compiler')\n const start = Date.now()\n ;[edgeServerResult, inputFileSystem] = edgeConfig\n ? await runCompiler(edgeConfig, { runWebpackSpan, inputFileSystem })\n : [null]\n debug(`edge-server compiler finished ${Date.now() - start}ms`)\n }\n\n // Only continue if there were no errors\n if (!serverResult?.errors.length && !edgeServerResult?.errors.length) {\n const pluginState = getPluginState()\n for (const key in pluginState.injectedClientEntries) {\n const value = pluginState.injectedClientEntries[key]\n const clientEntry = clientConfig.entry as webpack.EntryObject\n if (key === APP_CLIENT_INTERNALS) {\n clientEntry[CLIENT_STATIC_FILES_RUNTIME_MAIN_APP] = {\n import: [\n // TODO-APP: cast clientEntry[CLIENT_STATIC_FILES_RUNTIME_MAIN_APP] to type EntryDescription once it's available from webpack\n // @ts-expect-error clientEntry['main-app'] is type EntryDescription { import: ... }\n ...clientEntry[CLIENT_STATIC_FILES_RUNTIME_MAIN_APP].import,\n value,\n ],\n layer: WEBPACK_LAYERS.appPagesBrowser,\n }\n } else {\n clientEntry[key] = {\n dependOn: [CLIENT_STATIC_FILES_RUNTIME_MAIN_APP],\n import: value,\n layer: WEBPACK_LAYERS.appPagesBrowser,\n }\n }\n }\n\n if (!compilerName || compilerName === 'client') {\n debug('starting client compiler')\n const start = Date.now()\n ;[clientResult, inputFileSystem] = await runCompiler(clientConfig, {\n runWebpackSpan,\n inputFileSystem,\n })\n debug(`client compiler finished ${Date.now() - start}ms`)\n }\n }\n\n if (config.experimental.webpackMemoryOptimizations) {\n stringBufferUtils.exitStringInterningRange()\n }\n inputFileSystem?.purge?.()\n\n result = {\n warnings: [\n ...(clientResult?.warnings ?? []),\n ...(serverResult?.warnings ?? []),\n ...(edgeServerResult?.warnings ?? []),\n ].filter(nonNullable),\n errors: [\n ...(clientResult?.errors ?? []),\n ...(serverResult?.errors ?? []),\n ...(edgeServerResult?.errors ?? []),\n ].filter(nonNullable),\n stats: [\n clientResult?.stats,\n serverResult?.stats,\n edgeServerResult?.stats,\n ],\n }\n })\n result = nextBuildSpan\n .traceChild('format-webpack-messages')\n .traceFn(() => formatWebpackMessages(result, true)) as CompilerResult\n\n const telemetryPlugin = (clientConfig as webpack.Configuration).plugins?.find(\n isTelemetryPlugin\n )\n\n const traceEntryPointsPlugin = (\n serverConfig as webpack.Configuration\n ).plugins?.find(isTraceEntryPointsPlugin)\n\n const webpackBuildEnd = process.hrtime(webpackBuildStart)\n\n if (result.errors.length > 0) {\n // Only keep the first few errors. Others are often indicative\n // of the same problem, but confuse the reader with noise.\n if (result.errors.length > 5) {\n result.errors.length = 5\n }\n let error = result.errors.filter(Boolean).join('\\n\\n')\n\n console.error(red('Failed to compile.\\n'))\n\n if (\n error.indexOf('private-next-pages') > -1 &&\n error.indexOf('does not contain a default export') > -1\n ) {\n const page_name_regex = /'private-next-pages\\/(?<page_name>[^']*)'/\n const parsed = page_name_regex.exec(error)\n const page_name = parsed && parsed.groups && parsed.groups.page_name\n throw new Error(\n `webpack build failed: found page without a React Component as default export in pages/${page_name}\\n\\nSee https://nextjs.org/docs/messages/page-without-valid-component for more info.`\n )\n }\n\n console.error(error)\n console.error()\n\n if (\n error.indexOf('private-next-pages') > -1 ||\n error.indexOf('__next_polyfill__') > -1\n ) {\n const err = new Error(\n 'webpack config.resolve.alias was incorrectly overridden. https://nextjs.org/docs/messages/invalid-resolve-alias'\n ) as NextError\n err.code = 'INVALID_RESOLVE_ALIAS'\n throw err\n }\n const err = new Error(\n `Build failed because of ${process.env.NEXT_RSPACK ? 'rspack' : 'webpack'} errors`\n ) as NextError\n err.code = 'WEBPACK_ERRORS'\n throw err\n } else {\n if (result.warnings.length > 0) {\n Log.warn('Compiled with warnings\\n')\n console.warn(result.warnings.filter(Boolean).join('\\n\\n'))\n console.warn()\n } else if (!compilerName) {\n Log.event('Compiled successfully')\n }\n\n return {\n duration: webpackBuildEnd[0],\n buildTraceContext: traceEntryPointsPlugin?.buildTraceContext,\n pluginState: getPluginState(),\n telemetryState: {\n usages: telemetryPlugin?.usages() || [],\n packagesUsedInServerSideProps:\n telemetryPlugin?.packagesUsedInServerSideProps() || [],\n useCacheTracker: telemetryPlugin?.getUseCacheTracker() || {},\n },\n }\n }\n}\n\n// the main function when this file is run as a worker\nexport async function workerMain(workerData: {\n compilerName: keyof typeof COMPILER_INDEXES\n buildContext: typeof NextBuildContext\n traceState: TraceState\n}): Promise<\n Awaited<ReturnType<typeof webpackBuildImpl>> & {\n debugTraceEvents: TraceEvent[]\n }\n> {\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: workerData.buildContext.config!.distDir,\n })\n setGlobal('telemetry', telemetry)\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n // Initialize tracer state from the parent\n initializeTraceState(workerData.traceState)\n\n // Resume plugin state\n resumePluginState(NextBuildContext.pluginState)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n NextBuildContext.nextBuildSpan = trace(\n `worker-main-${workerData.compilerName}`\n )\n\n const result = await webpackBuildImpl(workerData.compilerName)\n const { entriesTrace, chunksTrace } = result.buildTraceContext ?? {}\n if (entriesTrace) {\n const { entryNameMap, depModArray } = entriesTrace\n if (depModArray) {\n result.buildTraceContext!.entriesTrace!.depModArray = depModArray\n }\n if (entryNameMap) {\n const entryEntries = entryNameMap\n result.buildTraceContext!.entriesTrace!.entryNameMap = entryEntries\n }\n }\n if (chunksTrace?.entryNameFilesMap) {\n const entryNameFilesMap = chunksTrace.entryNameFilesMap\n result.buildTraceContext!.chunksTrace!.entryNameFilesMap = entryNameFilesMap\n }\n NextBuildContext.nextBuildSpan.stop()\n return { ...result, debugTraceEvents: getTraceEvents() }\n}\n"],"names":["webpackBuildImpl","workerMain","debug","origDebug","isTelemetryPlugin","plugin","TelemetryPlugin","isTraceEntryPointsPlugin","TraceEntryPointsPlugin","compilerName","result","warnings","errors","stats","webpackBuildStart","nextBuildSpan","NextBuildContext","dir","config","process","env","NEXT_COMPILER_NAME","runWebpackSpan","traceChild","entrypoints","traceAsyncFn","createEntrypoints","buildId","envFiles","loadedEnvFiles","isDev","rootDir","pageExtensions","pagesDir","appDir","pages","mappedPages","appPaths","mappedAppPages","previewMode","previewProps","rootPaths","mappedRootPaths","hasInstrumentationHook","commonWebpackOptions","isServer","encryptionKey","rewrites","originalRewrites","originalRedirects","reactProductionProfiling","noMangling","clientRouterFilters","previewModeId","allowedRevalidateHeaderKeys","fetchCacheKeyPrefix","configs","info","loadProjectInfo","dev","Promise","all","getBaseWebpackConfig","middlewareMatchers","compilerType","COMPILER_NAMES","client","server","edgeServer","edgePreviewProps","__NEXT_PREVIEW_MODE_ID","__NEXT_PREVIEW_MODE_ENCRYPTION_KEY","previewModeEncryptionKey","__NEXT_PREVIEW_MODE_SIGNING_KEY","previewModeSigningKey","clientConfig","serverConfig","edgeConfig","optimization","minimize","minimizer","length","Log","warn","hrtime","inputFileSystem","experimental","webpackMemoryOptimizations","stringBufferUtils","disableDualStringBufferCaching","enterStringInterningRange","clientResult","serverResult","edgeServerResult","start","Date","now","runCompiler","pluginState","getPluginState","key","injectedClientEntries","value","clientEntry","entry","APP_CLIENT_INTERNALS","CLIENT_STATIC_FILES_RUNTIME_MAIN_APP","import","layer","WEBPACK_LAYERS","appPagesBrowser","dependOn","exitStringInterningRange","purge","filter","nonNullable","traceFn","formatWebpackMessages","telemetryPlugin","plugins","find","traceEntryPointsPlugin","webpackBuildEnd","error","Boolean","join","console","red","indexOf","page_name_regex","parsed","exec","page_name","groups","Error","err","code","NEXT_RSPACK","event","duration","buildTraceContext","telemetryState","usages","packagesUsedInServerSideProps","useCacheTracker","getUseCacheTracker","workerData","telemetry","Telemetry","distDir","buildContext","setGlobal","Object","assign","initializeTraceState","traceState","resumePluginState","loadConfig","PHASE_PRODUCTION_BUILD","trace","entriesTrace","chunksTrace","entryNameMap","depModArray","entryEntries","entryNameFilesMap","stop","debugTraceEvents","getTraceEvents"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/build/webpack-build/impl.ts"],"sourcesContent":["import type { webpack } from 'next/dist/compiled/webpack/webpack'\nimport { stringBufferUtils } from 'next/dist/compiled/webpack-sources3'\nimport { red } from '../../lib/picocolors'\nimport formatWebpackMessages from '../../client/components/react-dev-overlay/utils/format-webpack-messages'\nimport { nonNullable } from '../../lib/non-nullable'\nimport type { COMPILER_INDEXES } from '../../shared/lib/constants'\nimport {\n COMPILER_NAMES,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP,\n APP_CLIENT_INTERNALS,\n PHASE_PRODUCTION_BUILD,\n} from '../../shared/lib/constants'\nimport { runCompiler } from '../compiler'\nimport * as Log from '../output/log'\nimport getBaseWebpackConfig, { loadProjectInfo } from '../webpack-config'\nimport type { NextError } from '../../lib/is-error'\nimport {\n TelemetryPlugin,\n type TelemetryPluginState,\n} from '../webpack/plugins/telemetry-plugin/telemetry-plugin'\nimport {\n NextBuildContext,\n resumePluginState,\n getPluginState,\n} from '../build-context'\nimport { createEntrypoints } from '../entries'\nimport loadConfig from '../../server/config'\nimport {\n getTraceEvents,\n initializeTraceState,\n setGlobal,\n trace,\n type TraceEvent,\n type TraceState,\n} from '../../trace'\nimport { WEBPACK_LAYERS } from '../../lib/constants'\nimport { TraceEntryPointsPlugin } from '../webpack/plugins/next-trace-entrypoints-plugin'\nimport type { BuildTraceContext } from '../webpack/plugins/next-trace-entrypoints-plugin'\nimport type { UnwrapPromise } from '../../lib/coalesced-function'\n\nimport origDebug from 'next/dist/compiled/debug'\nimport { Telemetry } from '../../telemetry/storage'\n\nconst debug = origDebug('next:build:webpack-build')\n\ntype CompilerResult = {\n errors: webpack.StatsError[]\n warnings: webpack.StatsError[]\n stats: (webpack.Stats | undefined)[]\n}\n\ntype SingleCompilerResult = {\n errors: webpack.StatsError[]\n warnings: webpack.StatsError[]\n stats: webpack.Stats | undefined\n}\n\nfunction isTelemetryPlugin(plugin: unknown): plugin is TelemetryPlugin {\n return plugin instanceof TelemetryPlugin\n}\n\nfunction isTraceEntryPointsPlugin(\n plugin: unknown\n): plugin is TraceEntryPointsPlugin {\n return plugin instanceof TraceEntryPointsPlugin\n}\n\nexport async function webpackBuildImpl(\n compilerName: keyof typeof COMPILER_INDEXES | null\n): Promise<{\n duration: number\n pluginState: any\n buildTraceContext?: BuildTraceContext\n telemetryState?: TelemetryPluginState\n}> {\n let result: CompilerResult | null = {\n warnings: [],\n errors: [],\n stats: [],\n }\n let webpackBuildStart\n const nextBuildSpan = NextBuildContext.nextBuildSpan!\n const dir = NextBuildContext.dir!\n const config = NextBuildContext.config!\n process.env.NEXT_COMPILER_NAME = compilerName || 'server'\n\n const runWebpackSpan = nextBuildSpan.traceChild('run-webpack-compiler')\n const entrypoints = await nextBuildSpan\n .traceChild('create-entrypoints')\n .traceAsyncFn(() =>\n createEntrypoints({\n buildId: NextBuildContext.buildId!,\n config: config,\n envFiles: NextBuildContext.loadedEnvFiles!,\n isDev: false,\n rootDir: dir,\n pageExtensions: config.pageExtensions!,\n pagesDir: NextBuildContext.pagesDir!,\n appDir: NextBuildContext.appDir!,\n pages: NextBuildContext.mappedPages!,\n appPaths: NextBuildContext.mappedAppPages!,\n previewMode: NextBuildContext.previewProps!,\n rootPaths: NextBuildContext.mappedRootPaths!,\n hasInstrumentationHook: NextBuildContext.hasInstrumentationHook!,\n })\n )\n\n const commonWebpackOptions = {\n isServer: false,\n isCompileMode: NextBuildContext.isCompileMode,\n buildId: NextBuildContext.buildId!,\n encryptionKey: NextBuildContext.encryptionKey!,\n config: config,\n appDir: NextBuildContext.appDir!,\n pagesDir: NextBuildContext.pagesDir!,\n rewrites: NextBuildContext.rewrites!,\n originalRewrites: NextBuildContext.originalRewrites,\n originalRedirects: NextBuildContext.originalRedirects,\n reactProductionProfiling: NextBuildContext.reactProductionProfiling!,\n noMangling: NextBuildContext.noMangling!,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n previewModeId: NextBuildContext.previewModeId!,\n allowedRevalidateHeaderKeys: NextBuildContext.allowedRevalidateHeaderKeys!,\n fetchCacheKeyPrefix: NextBuildContext.fetchCacheKeyPrefix!,\n }\n\n const configs = await runWebpackSpan\n .traceChild('generate-webpack-config')\n .traceAsyncFn(async () => {\n const info = await loadProjectInfo({\n dir,\n config: commonWebpackOptions.config,\n dev: false,\n })\n return Promise.all([\n getBaseWebpackConfig(dir, {\n ...commonWebpackOptions,\n middlewareMatchers: entrypoints.middlewareMatchers,\n runWebpackSpan,\n compilerType: COMPILER_NAMES.client,\n entrypoints: entrypoints.client,\n ...info,\n }),\n getBaseWebpackConfig(dir, {\n ...commonWebpackOptions,\n runWebpackSpan,\n middlewareMatchers: entrypoints.middlewareMatchers,\n compilerType: COMPILER_NAMES.server,\n entrypoints: entrypoints.server,\n ...info,\n }),\n getBaseWebpackConfig(dir, {\n ...commonWebpackOptions,\n runWebpackSpan,\n middlewareMatchers: entrypoints.middlewareMatchers,\n compilerType: COMPILER_NAMES.edgeServer,\n entrypoints: entrypoints.edgeServer,\n edgePreviewProps: {\n __NEXT_PREVIEW_MODE_ID:\n NextBuildContext.previewProps!.previewModeId,\n __NEXT_PREVIEW_MODE_ENCRYPTION_KEY:\n NextBuildContext.previewProps!.previewModeEncryptionKey,\n __NEXT_PREVIEW_MODE_SIGNING_KEY:\n NextBuildContext.previewProps!.previewModeSigningKey,\n },\n ...info,\n }),\n ])\n })\n\n const clientConfig = configs[0]\n const serverConfig = configs[1]\n const edgeConfig = configs[2]\n\n if (\n clientConfig.optimization &&\n (clientConfig.optimization.minimize !== true ||\n (clientConfig.optimization.minimizer &&\n clientConfig.optimization.minimizer.length === 0))\n ) {\n Log.warn(\n `Production code optimization has been disabled in your project. Read more: https://nextjs.org/docs/messages/minification-disabled`\n )\n }\n\n webpackBuildStart = process.hrtime()\n\n debug(`starting compiler`, compilerName)\n // We run client and server compilation separately to optimize for memory usage\n await runWebpackSpan.traceAsyncFn(async () => {\n if (config.experimental.webpackMemoryOptimizations) {\n stringBufferUtils.disableDualStringBufferCaching()\n stringBufferUtils.enterStringInterningRange()\n }\n\n // Run the server compilers first and then the client\n // compiler to track the boundary of server/client components.\n let clientResult: SingleCompilerResult | null = null\n\n // During the server compilations, entries of client components will be\n // injected to this set and then will be consumed by the client compiler.\n let serverResult: UnwrapPromise<ReturnType<typeof runCompiler>>[0] | null =\n null\n let edgeServerResult:\n | UnwrapPromise<ReturnType<typeof runCompiler>>[0]\n | null = null\n\n let inputFileSystem: webpack.Compiler['inputFileSystem'] | undefined\n\n if (!compilerName || compilerName === 'server') {\n debug('starting server compiler')\n const start = Date.now()\n ;[serverResult, inputFileSystem] = await runCompiler(serverConfig, {\n runWebpackSpan,\n inputFileSystem,\n })\n debug(`server compiler finished ${Date.now() - start}ms`)\n }\n\n if (!compilerName || compilerName === 'edge-server') {\n debug('starting edge-server compiler')\n const start = Date.now()\n ;[edgeServerResult, inputFileSystem] = edgeConfig\n ? await runCompiler(edgeConfig, { runWebpackSpan, inputFileSystem })\n : [null]\n debug(`edge-server compiler finished ${Date.now() - start}ms`)\n }\n\n // Only continue if there were no errors\n if (!serverResult?.errors.length && !edgeServerResult?.errors.length) {\n const pluginState = getPluginState()\n for (const key in pluginState.injectedClientEntries) {\n const value = pluginState.injectedClientEntries[key]\n const clientEntry = clientConfig.entry as webpack.EntryObject\n if (key === APP_CLIENT_INTERNALS) {\n clientEntry[CLIENT_STATIC_FILES_RUNTIME_MAIN_APP] = {\n import: [\n // TODO-APP: cast clientEntry[CLIENT_STATIC_FILES_RUNTIME_MAIN_APP] to type EntryDescription once it's available from webpack\n // @ts-expect-error clientEntry['main-app'] is type EntryDescription { import: ... }\n ...clientEntry[CLIENT_STATIC_FILES_RUNTIME_MAIN_APP].import,\n value,\n ],\n layer: WEBPACK_LAYERS.appPagesBrowser,\n }\n } else {\n clientEntry[key] = {\n dependOn: [CLIENT_STATIC_FILES_RUNTIME_MAIN_APP],\n import: value,\n layer: WEBPACK_LAYERS.appPagesBrowser,\n }\n }\n }\n\n if (!compilerName || compilerName === 'client') {\n debug('starting client compiler')\n const start = Date.now()\n ;[clientResult, inputFileSystem] = await runCompiler(clientConfig, {\n runWebpackSpan,\n inputFileSystem,\n })\n debug(`client compiler finished ${Date.now() - start}ms`)\n }\n }\n\n if (config.experimental.webpackMemoryOptimizations) {\n stringBufferUtils.exitStringInterningRange()\n }\n inputFileSystem?.purge?.()\n\n result = {\n warnings: [\n ...(clientResult?.warnings ?? []),\n ...(serverResult?.warnings ?? []),\n ...(edgeServerResult?.warnings ?? []),\n ].filter(nonNullable),\n errors: [\n ...(clientResult?.errors ?? []),\n ...(serverResult?.errors ?? []),\n ...(edgeServerResult?.errors ?? []),\n ].filter(nonNullable),\n stats: [\n clientResult?.stats,\n serverResult?.stats,\n edgeServerResult?.stats,\n ],\n }\n })\n result = nextBuildSpan\n .traceChild('format-webpack-messages')\n .traceFn(() => formatWebpackMessages(result, true)) as CompilerResult\n\n const telemetryPlugin = (clientConfig as webpack.Configuration).plugins?.find(\n isTelemetryPlugin\n )\n\n const traceEntryPointsPlugin = (\n serverConfig as webpack.Configuration\n ).plugins?.find(isTraceEntryPointsPlugin)\n\n const webpackBuildEnd = process.hrtime(webpackBuildStart)\n\n if (result.errors.length > 0) {\n // Only keep the first few errors. Others are often indicative\n // of the same problem, but confuse the reader with noise.\n if (result.errors.length > 5) {\n result.errors.length = 5\n }\n let error = result.errors.filter(Boolean).join('\\n\\n')\n\n console.error(red('Failed to compile.\\n'))\n\n if (\n error.indexOf('private-next-pages') > -1 &&\n error.indexOf('does not contain a default export') > -1\n ) {\n const page_name_regex = /'private-next-pages\\/(?<page_name>[^']*)'/\n const parsed = page_name_regex.exec(error)\n const page_name = parsed && parsed.groups && parsed.groups.page_name\n throw new Error(\n `webpack build failed: found page without a React Component as default export in pages/${page_name}\\n\\nSee https://nextjs.org/docs/messages/page-without-valid-component for more info.`\n )\n }\n\n console.error(error)\n console.error()\n\n if (\n error.indexOf('private-next-pages') > -1 ||\n error.indexOf('__next_polyfill__') > -1\n ) {\n const err = new Error(\n 'webpack config.resolve.alias was incorrectly overridden. https://nextjs.org/docs/messages/invalid-resolve-alias'\n ) as NextError\n err.code = 'INVALID_RESOLVE_ALIAS'\n throw err\n }\n const err = new Error(\n `Build failed because of ${process.env.NEXT_RSPACK ? 'rspack' : 'webpack'} errors`\n ) as NextError\n err.code = 'WEBPACK_ERRORS'\n throw err\n } else {\n if (result.warnings.length > 0) {\n Log.warn('Compiled with warnings\\n')\n console.warn(result.warnings.filter(Boolean).join('\\n\\n'))\n console.warn()\n } else if (!compilerName) {\n Log.event('Compiled successfully')\n }\n\n return {\n duration: webpackBuildEnd[0],\n buildTraceContext: traceEntryPointsPlugin?.buildTraceContext,\n pluginState: getPluginState(),\n telemetryState: {\n usages: telemetryPlugin?.usages() || [],\n packagesUsedInServerSideProps:\n telemetryPlugin?.packagesUsedInServerSideProps() || [],\n useCacheTracker: telemetryPlugin?.getUseCacheTracker() || {},\n },\n }\n }\n}\n\n// the main function when this file is run as a worker\nexport async function workerMain(workerData: {\n compilerName: keyof typeof COMPILER_INDEXES\n buildContext: typeof NextBuildContext\n traceState: TraceState\n}): Promise<\n Awaited<ReturnType<typeof webpackBuildImpl>> & {\n debugTraceEvents: TraceEvent[]\n }\n> {\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: workerData.buildContext.config!.distDir,\n })\n setGlobal('telemetry', telemetry)\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n // Initialize tracer state from the parent\n initializeTraceState(workerData.traceState)\n\n // Resume plugin state\n resumePluginState(NextBuildContext.pluginState)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n NextBuildContext.nextBuildSpan = trace(\n `worker-main-${workerData.compilerName}`\n )\n\n const result = await webpackBuildImpl(workerData.compilerName)\n const { entriesTrace, chunksTrace } = result.buildTraceContext ?? {}\n if (entriesTrace) {\n const { entryNameMap, depModArray } = entriesTrace\n if (depModArray) {\n result.buildTraceContext!.entriesTrace!.depModArray = depModArray\n }\n if (entryNameMap) {\n const entryEntries = entryNameMap\n result.buildTraceContext!.entriesTrace!.entryNameMap = entryEntries\n }\n }\n if (chunksTrace?.entryNameFilesMap) {\n const entryNameFilesMap = chunksTrace.entryNameFilesMap\n result.buildTraceContext!.chunksTrace!.entryNameFilesMap = entryNameFilesMap\n }\n NextBuildContext.nextBuildSpan.stop()\n return { ...result, debugTraceEvents: getTraceEvents() }\n}\n"],"names":["webpackBuildImpl","workerMain","debug","origDebug","isTelemetryPlugin","plugin","TelemetryPlugin","isTraceEntryPointsPlugin","TraceEntryPointsPlugin","compilerName","result","warnings","errors","stats","webpackBuildStart","nextBuildSpan","NextBuildContext","dir","config","process","env","NEXT_COMPILER_NAME","runWebpackSpan","traceChild","entrypoints","traceAsyncFn","createEntrypoints","buildId","envFiles","loadedEnvFiles","isDev","rootDir","pageExtensions","pagesDir","appDir","pages","mappedPages","appPaths","mappedAppPages","previewMode","previewProps","rootPaths","mappedRootPaths","hasInstrumentationHook","commonWebpackOptions","isServer","isCompileMode","encryptionKey","rewrites","originalRewrites","originalRedirects","reactProductionProfiling","noMangling","clientRouterFilters","previewModeId","allowedRevalidateHeaderKeys","fetchCacheKeyPrefix","configs","info","loadProjectInfo","dev","Promise","all","getBaseWebpackConfig","middlewareMatchers","compilerType","COMPILER_NAMES","client","server","edgeServer","edgePreviewProps","__NEXT_PREVIEW_MODE_ID","__NEXT_PREVIEW_MODE_ENCRYPTION_KEY","previewModeEncryptionKey","__NEXT_PREVIEW_MODE_SIGNING_KEY","previewModeSigningKey","clientConfig","serverConfig","edgeConfig","optimization","minimize","minimizer","length","Log","warn","hrtime","inputFileSystem","experimental","webpackMemoryOptimizations","stringBufferUtils","disableDualStringBufferCaching","enterStringInterningRange","clientResult","serverResult","edgeServerResult","start","Date","now","runCompiler","pluginState","getPluginState","key","injectedClientEntries","value","clientEntry","entry","APP_CLIENT_INTERNALS","CLIENT_STATIC_FILES_RUNTIME_MAIN_APP","import","layer","WEBPACK_LAYERS","appPagesBrowser","dependOn","exitStringInterningRange","purge","filter","nonNullable","traceFn","formatWebpackMessages","telemetryPlugin","plugins","find","traceEntryPointsPlugin","webpackBuildEnd","error","Boolean","join","console","red","indexOf","page_name_regex","parsed","exec","page_name","groups","Error","err","code","NEXT_RSPACK","event","duration","buildTraceContext","telemetryState","usages","packagesUsedInServerSideProps","useCacheTracker","getUseCacheTracker","workerData","telemetry","Telemetry","distDir","buildContext","setGlobal","Object","assign","initializeTraceState","traceState","resumePluginState","loadConfig","PHASE_PRODUCTION_BUILD","trace","entriesTrace","chunksTrace","entryNameMap","depModArray","entryEntries","entryNameFilesMap","stop","debugTraceEvents","getTraceEvents"],"mappings":";;;;;;;;;;;;;;;IAmEsBA,gBAAgB;eAAhBA;;IA0SAC,UAAU;eAAVA;;;iCA5WY;4BACd;8EACc;6BACN;2BAOrB;0BACqB;6DACP;uEACiC;iCAK/C;8BAKA;yBAC2B;+DACX;uBAQhB;4BACwB;4CACQ;8DAIjB;yBACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE1B,MAAMC,QAAQC,IAAAA,cAAS,EAAC;AAcxB,SAASC,kBAAkBC,MAAe;IACxC,OAAOA,kBAAkBC,gCAAe;AAC1C;AAEA,SAASC,yBACPF,MAAe;IAEf,OAAOA,kBAAkBG,kDAAsB;AACjD;AAEO,eAAeR,iBACpBS,YAAkD;QA+N1B,uBAIO;IA5N/B,IAAIC,SAAgC;QAClCC,UAAU,EAAE;QACZC,QAAQ,EAAE;QACVC,OAAO,EAAE;IACX;IACA,IAAIC;IACJ,MAAMC,gBAAgBC,8BAAgB,CAACD,aAAa;IACpD,MAAME,MAAMD,8BAAgB,CAACC,GAAG;IAChC,MAAMC,SAASF,8BAAgB,CAACE,MAAM;IACtCC,QAAQC,GAAG,CAACC,kBAAkB,GAAGZ,gBAAgB;IAEjD,MAAMa,iBAAiBP,cAAcQ,UAAU,CAAC;IAChD,MAAMC,cAAc,MAAMT,cACvBQ,UAAU,CAAC,sBACXE,YAAY,CAAC,IACZC,IAAAA,0BAAiB,EAAC;YAChBC,SAASX,8BAAgB,CAACW,OAAO;YACjCT,QAAQA;YACRU,UAAUZ,8BAAgB,CAACa,cAAc;YACzCC,OAAO;YACPC,SAASd;YACTe,gBAAgBd,OAAOc,cAAc;YACrCC,UAAUjB,8BAAgB,CAACiB,QAAQ;YACnCC,QAAQlB,8BAAgB,CAACkB,MAAM;YAC/BC,OAAOnB,8BAAgB,CAACoB,WAAW;YACnCC,UAAUrB,8BAAgB,CAACsB,cAAc;YACzCC,aAAavB,8BAAgB,CAACwB,YAAY;YAC1CC,WAAWzB,8BAAgB,CAAC0B,eAAe;YAC3CC,wBAAwB3B,8BAAgB,CAAC2B,sBAAsB;QACjE;IAGJ,MAAMC,uBAAuB;QAC3BC,UAAU;QACVC,eAAe9B,8BAAgB,CAAC8B,aAAa;QAC7CnB,SAASX,8BAAgB,CAACW,OAAO;QACjCoB,eAAe/B,8BAAgB,CAAC+B,aAAa;QAC7C7B,QAAQA;QACRgB,QAAQlB,8BAAgB,CAACkB,MAAM;QAC/BD,UAAUjB,8BAAgB,CAACiB,QAAQ;QACnCe,UAAUhC,8BAAgB,CAACgC,QAAQ;QACnCC,kBAAkBjC,8BAAgB,CAACiC,gBAAgB;QACnDC,mBAAmBlC,8BAAgB,CAACkC,iBAAiB;QACrDC,0BAA0BnC,8BAAgB,CAACmC,wBAAwB;QACnEC,YAAYpC,8BAAgB,CAACoC,UAAU;QACvCC,qBAAqBrC,8BAAgB,CAACqC,mBAAmB;QACzDC,eAAetC,8BAAgB,CAACsC,aAAa;QAC7CC,6BAA6BvC,8BAAgB,CAACuC,2BAA2B;QACzEC,qBAAqBxC,8BAAgB,CAACwC,mBAAmB;IAC3D;IAEA,MAAMC,UAAU,MAAMnC,eACnBC,UAAU,CAAC,2BACXE,YAAY,CAAC;QACZ,MAAMiC,OAAO,MAAMC,IAAAA,8BAAe,EAAC;YACjC1C;YACAC,QAAQ0B,qBAAqB1B,MAAM;YACnC0C,KAAK;QACP;QACA,OAAOC,QAAQC,GAAG,CAAC;YACjBC,IAAAA,sBAAoB,EAAC9C,KAAK;gBACxB,GAAG2B,oBAAoB;gBACvBoB,oBAAoBxC,YAAYwC,kBAAkB;gBAClD1C;gBACA2C,cAAcC,yBAAc,CAACC,MAAM;gBACnC3C,aAAaA,YAAY2C,MAAM;gBAC/B,GAAGT,IAAI;YACT;YACAK,IAAAA,sBAAoB,EAAC9C,KAAK;gBACxB,GAAG2B,oBAAoB;gBACvBtB;gBACA0C,oBAAoBxC,YAAYwC,kBAAkB;gBAClDC,cAAcC,yBAAc,CAACE,MAAM;gBACnC5C,aAAaA,YAAY4C,MAAM;gBAC/B,GAAGV,IAAI;YACT;YACAK,IAAAA,sBAAoB,EAAC9C,KAAK;gBACxB,GAAG2B,oBAAoB;gBACvBtB;gBACA0C,oBAAoBxC,YAAYwC,kBAAkB;gBAClDC,cAAcC,yBAAc,CAACG,UAAU;gBACvC7C,aAAaA,YAAY6C,UAAU;gBACnCC,kBAAkB;oBAChBC,wBACEvD,8BAAgB,CAACwB,YAAY,CAAEc,aAAa;oBAC9CkB,oCACExD,8BAAgB,CAACwB,YAAY,CAAEiC,wBAAwB;oBACzDC,iCACE1D,8BAAgB,CAACwB,YAAY,CAAEmC,qBAAqB;gBACxD;gBACA,GAAGjB,IAAI;YACT;SACD;IACH;IAEF,MAAMkB,eAAenB,OAAO,CAAC,EAAE;IAC/B,MAAMoB,eAAepB,OAAO,CAAC,EAAE;IAC/B,MAAMqB,aAAarB,OAAO,CAAC,EAAE;IAE7B,IACEmB,aAAaG,YAAY,IACxBH,CAAAA,aAAaG,YAAY,CAACC,QAAQ,KAAK,QACrCJ,aAAaG,YAAY,CAACE,SAAS,IAClCL,aAAaG,YAAY,CAACE,SAAS,CAACC,MAAM,KAAK,CAAC,GACpD;QACAC,KAAIC,IAAI,CACN,CAAC,iIAAiI,CAAC;IAEvI;IAEAtE,oBAAoBK,QAAQkE,MAAM;IAElCnF,MAAM,CAAC,iBAAiB,CAAC,EAAEO;IAC3B,+EAA+E;IAC/E,MAAMa,eAAeG,YAAY,CAAC;YA8EhC6D;QA7EA,IAAIpE,OAAOqE,YAAY,CAACC,0BAA0B,EAAE;YAClDC,kCAAiB,CAACC,8BAA8B;YAChDD,kCAAiB,CAACE,yBAAyB;QAC7C;QAEA,qDAAqD;QACrD,8DAA8D;QAC9D,IAAIC,eAA4C;QAEhD,uEAAuE;QACvE,yEAAyE;QACzE,IAAIC,eACF;QACF,IAAIC,mBAEO;QAEX,IAAIR;QAEJ,IAAI,CAAC7E,gBAAgBA,iBAAiB,UAAU;YAC9CP,MAAM;YACN,MAAM6F,QAAQC,KAAKC,GAAG;YACrB,CAACJ,cAAcP,gBAAgB,GAAG,MAAMY,IAAAA,qBAAW,EAACrB,cAAc;gBACjEvD;gBACAgE;YACF;YACApF,MAAM,CAAC,yBAAyB,EAAE8F,KAAKC,GAAG,KAAKF,MAAM,EAAE,CAAC;QAC1D;QAEA,IAAI,CAACtF,gBAAgBA,iBAAiB,eAAe;YACnDP,MAAM;YACN,MAAM6F,QAAQC,KAAKC,GAAG;YACrB,CAACH,kBAAkBR,gBAAgB,GAAGR,aACnC,MAAMoB,IAAAA,qBAAW,EAACpB,YAAY;gBAAExD;gBAAgBgE;YAAgB,KAChE;gBAAC;aAAK;YACVpF,MAAM,CAAC,8BAA8B,EAAE8F,KAAKC,GAAG,KAAKF,MAAM,EAAE,CAAC;QAC/D;QAEA,wCAAwC;QACxC,IAAI,EAACF,gCAAAA,aAAcjF,MAAM,CAACsE,MAAM,KAAI,EAACY,oCAAAA,iBAAkBlF,MAAM,CAACsE,MAAM,GAAE;YACpE,MAAMiB,cAAcC,IAAAA,4BAAc;YAClC,IAAK,MAAMC,OAAOF,YAAYG,qBAAqB,CAAE;gBACnD,MAAMC,QAAQJ,YAAYG,qBAAqB,CAACD,IAAI;gBACpD,MAAMG,cAAc5B,aAAa6B,KAAK;gBACtC,IAAIJ,QAAQK,+BAAoB,EAAE;oBAChCF,WAAW,CAACG,+CAAoC,CAAC,GAAG;wBAClDC,QAAQ;4BACN,6HAA6H;4BAC7H,oFAAoF;+BACjFJ,WAAW,CAACG,+CAAoC,CAAC,CAACC,MAAM;4BAC3DL;yBACD;wBACDM,OAAOC,0BAAc,CAACC,eAAe;oBACvC;gBACF,OAAO;oBACLP,WAAW,CAACH,IAAI,GAAG;wBACjBW,UAAU;4BAACL,+CAAoC;yBAAC;wBAChDC,QAAQL;wBACRM,OAAOC,0BAAc,CAACC,eAAe;oBACvC;gBACF;YACF;YAEA,IAAI,CAACtG,gBAAgBA,iBAAiB,UAAU;gBAC9CP,MAAM;gBACN,MAAM6F,QAAQC,KAAKC,GAAG;gBACrB,CAACL,cAAcN,gBAAgB,GAAG,MAAMY,IAAAA,qBAAW,EAACtB,cAAc;oBACjEtD;oBACAgE;gBACF;gBACApF,MAAM,CAAC,yBAAyB,EAAE8F,KAAKC,GAAG,KAAKF,MAAM,EAAE,CAAC;YAC1D;QACF;QAEA,IAAI7E,OAAOqE,YAAY,CAACC,0BAA0B,EAAE;YAClDC,kCAAiB,CAACwB,wBAAwB;QAC5C;QACA3B,oCAAAA,yBAAAA,gBAAiB4B,KAAK,qBAAtB5B,4BAAAA;QAEA5E,SAAS;YACPC,UAAU;mBACJiF,CAAAA,gCAAAA,aAAcjF,QAAQ,KAAI,EAAE;mBAC5BkF,CAAAA,gCAAAA,aAAclF,QAAQ,KAAI,EAAE;mBAC5BmF,CAAAA,oCAAAA,iBAAkBnF,QAAQ,KAAI,EAAE;aACrC,CAACwG,MAAM,CAACC,wBAAW;YACpBxG,QAAQ;mBACFgF,CAAAA,gCAAAA,aAAchF,MAAM,KAAI,EAAE;mBAC1BiF,CAAAA,gCAAAA,aAAcjF,MAAM,KAAI,EAAE;mBAC1BkF,CAAAA,oCAAAA,iBAAkBlF,MAAM,KAAI,EAAE;aACnC,CAACuG,MAAM,CAACC,wBAAW;YACpBvG,OAAO;gBACL+E,gCAAAA,aAAc/E,KAAK;gBACnBgF,gCAAAA,aAAchF,KAAK;gBACnBiF,oCAAAA,iBAAkBjF,KAAK;aACxB;QACH;IACF;IACAH,SAASK,cACNQ,UAAU,CAAC,2BACX8F,OAAO,CAAC,IAAMC,IAAAA,8BAAqB,EAAC5G,QAAQ;IAE/C,MAAM6G,mBAAkB,wBAAA,AAAC3C,aAAuC4C,OAAO,qBAA/C,sBAAiDC,IAAI,CAC3ErH;IAGF,MAAMsH,0BAAyB,wBAAA,AAC7B7C,aACA2C,OAAO,qBAFsB,sBAEpBC,IAAI,CAAClH;IAEhB,MAAMoH,kBAAkBxG,QAAQkE,MAAM,CAACvE;IAEvC,IAAIJ,OAAOE,MAAM,CAACsE,MAAM,GAAG,GAAG;QAC5B,8DAA8D;QAC9D,0DAA0D;QAC1D,IAAIxE,OAAOE,MAAM,CAACsE,MAAM,GAAG,GAAG;YAC5BxE,OAAOE,MAAM,CAACsE,MAAM,GAAG;QACzB;QACA,IAAI0C,QAAQlH,OAAOE,MAAM,CAACuG,MAAM,CAACU,SAASC,IAAI,CAAC;QAE/CC,QAAQH,KAAK,CAACI,IAAAA,eAAG,EAAC;QAElB,IACEJ,MAAMK,OAAO,CAAC,wBAAwB,CAAC,KACvCL,MAAMK,OAAO,CAAC,uCAAuC,CAAC,GACtD;YACA,MAAMC,kBAAkB;YACxB,MAAMC,SAASD,gBAAgBE,IAAI,CAACR;YACpC,MAAMS,YAAYF,UAAUA,OAAOG,MAAM,IAAIH,OAAOG,MAAM,CAACD,SAAS;YACpE,MAAM,qBAEL,CAFK,IAAIE,MACR,CAAC,sFAAsF,EAAEF,UAAU,oFAAoF,CAAC,GADpL,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QAEAN,QAAQH,KAAK,CAACA;QACdG,QAAQH,KAAK;QAEb,IACEA,MAAMK,OAAO,CAAC,wBAAwB,CAAC,KACvCL,MAAMK,OAAO,CAAC,uBAAuB,CAAC,GACtC;YACA,MAAMO,MAAM,qBAEX,CAFW,IAAID,MACd,oHADU,qBAAA;uBAAA;4BAAA;8BAAA;YAEZ;YACAC,IAAIC,IAAI,GAAG;YACX,MAAMD;QACR;QACA,MAAMA,MAAM,qBAEX,CAFW,IAAID,MACd,CAAC,wBAAwB,EAAEpH,QAAQC,GAAG,CAACsH,WAAW,GAAG,WAAW,UAAU,OAAO,CAAC,GADxE,qBAAA;mBAAA;wBAAA;0BAAA;QAEZ;QACAF,IAAIC,IAAI,GAAG;QACX,MAAMD;IACR,OAAO;QACL,IAAI9H,OAAOC,QAAQ,CAACuE,MAAM,GAAG,GAAG;YAC9BC,KAAIC,IAAI,CAAC;YACT2C,QAAQ3C,IAAI,CAAC1E,OAAOC,QAAQ,CAACwG,MAAM,CAACU,SAASC,IAAI,CAAC;YAClDC,QAAQ3C,IAAI;QACd,OAAO,IAAI,CAAC3E,cAAc;YACxB0E,KAAIwD,KAAK,CAAC;QACZ;QAEA,OAAO;YACLC,UAAUjB,eAAe,CAAC,EAAE;YAC5BkB,iBAAiB,EAAEnB,0CAAAA,uBAAwBmB,iBAAiB;YAC5D1C,aAAaC,IAAAA,4BAAc;YAC3B0C,gBAAgB;gBACdC,QAAQxB,CAAAA,mCAAAA,gBAAiBwB,MAAM,OAAM,EAAE;gBACvCC,+BACEzB,CAAAA,mCAAAA,gBAAiByB,6BAA6B,OAAM,EAAE;gBACxDC,iBAAiB1B,CAAAA,mCAAAA,gBAAiB2B,kBAAkB,OAAM,CAAC;YAC7D;QACF;IACF;AACF;AAGO,eAAejJ,WAAWkJ,UAIhC;IAKC,iCAAiC;IACjC,MAAMC,YAAY,IAAIC,kBAAS,CAAC;QAC9BC,SAASH,WAAWI,YAAY,CAACrI,MAAM,CAAEoI,OAAO;IAClD;IACAE,IAAAA,gBAAS,EAAC,aAAaJ;IACvB,0EAA0E;IAC1EK,OAAOC,MAAM,CAAC1I,8BAAgB,EAAEmI,WAAWI,YAAY;IAEvD,0CAA0C;IAC1CI,IAAAA,2BAAoB,EAACR,WAAWS,UAAU;IAE1C,sBAAsB;IACtBC,IAAAA,+BAAiB,EAAC7I,8BAAgB,CAACmF,WAAW;IAE9C,iDAAiD;IACjDnF,8BAAgB,CAACE,MAAM,GAAG,MAAM4I,IAAAA,eAAU,EACxCC,iCAAsB,EACtB/I,8BAAgB,CAACC,GAAG;IAEtBD,8BAAgB,CAACD,aAAa,GAAGiJ,IAAAA,YAAK,EACpC,CAAC,YAAY,EAAEb,WAAW1I,YAAY,EAAE;IAG1C,MAAMC,SAAS,MAAMV,iBAAiBmJ,WAAW1I,YAAY;IAC7D,MAAM,EAAEwJ,YAAY,EAAEC,WAAW,EAAE,GAAGxJ,OAAOmI,iBAAiB,IAAI,CAAC;IACnE,IAAIoB,cAAc;QAChB,MAAM,EAAEE,YAAY,EAAEC,WAAW,EAAE,GAAGH;QACtC,IAAIG,aAAa;YACf1J,OAAOmI,iBAAiB,CAAEoB,YAAY,CAAEG,WAAW,GAAGA;QACxD;QACA,IAAID,cAAc;YAChB,MAAME,eAAeF;YACrBzJ,OAAOmI,iBAAiB,CAAEoB,YAAY,CAAEE,YAAY,GAAGE;QACzD;IACF;IACA,IAAIH,+BAAAA,YAAaI,iBAAiB,EAAE;QAClC,MAAMA,oBAAoBJ,YAAYI,iBAAiB;QACvD5J,OAAOmI,iBAAiB,CAAEqB,WAAW,CAAEI,iBAAiB,GAAGA;IAC7D;IACAtJ,8BAAgB,CAACD,aAAa,CAACwJ,IAAI;IACnC,OAAO;QAAE,GAAG7J,MAAM;QAAE8J,kBAAkBC,IAAAA,qBAAc;IAAG;AACzD"}
@@ -98,7 +98,8 @@ export declare function loadProjectInfo({ dir, config, dev, }: {
98
98
  supportedBrowsers: string[] | undefined;
99
99
  }>;
100
100
  export declare function hasExternalOtelApiPackage(): boolean;
101
- export default function getBaseWebpackConfig(dir: string, { buildId, encryptionKey, config, compilerType, dev, entrypoints, isDevFallback, pagesDir, reactProductionProfiling, rewrites, originalRewrites, originalRedirects, runWebpackSpan, appDir, middlewareMatchers, noMangling, jsConfig, jsConfigPath, resolvedBaseUrl, supportedBrowsers, clientRouterFilters, fetchCacheKeyPrefix, edgePreviewProps, }: {
101
+ export default function getBaseWebpackConfig(dir: string, { buildId, encryptionKey, config, compilerType, dev, entrypoints, isDevFallback, pagesDir, reactProductionProfiling, rewrites, originalRewrites, originalRedirects, runWebpackSpan, appDir, middlewareMatchers, noMangling, jsConfig, jsConfigPath, resolvedBaseUrl, supportedBrowsers, clientRouterFilters, fetchCacheKeyPrefix, edgePreviewProps, isCompileMode, }: {
102
+ isCompileMode?: boolean;
102
103
  buildId: string;
103
104
  encryptionKey: string;
104
105
  config: NextConfigComplete;
@@ -291,7 +291,7 @@ function hasExternalOtelApiPackage() {
291
291
  }
292
292
  }
293
293
  const UNSAFE_CACHE_REGEX = /[\\/]pages[\\/][^\\/]+(?:$|\?|#)/;
294
- async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compilerType, dev = false, entrypoints, isDevFallback = false, pagesDir, reactProductionProfiling = false, rewrites, originalRewrites, originalRedirects, runWebpackSpan, appDir, middlewareMatchers, noMangling, jsConfig, jsConfigPath, resolvedBaseUrl, supportedBrowsers, clientRouterFilters, fetchCacheKeyPrefix, edgePreviewProps }) {
294
+ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compilerType, dev = false, entrypoints, isDevFallback = false, pagesDir, reactProductionProfiling = false, rewrites, originalRewrites, originalRedirects, runWebpackSpan, appDir, middlewareMatchers, noMangling, jsConfig, jsConfigPath, resolvedBaseUrl, supportedBrowsers, clientRouterFilters, fetchCacheKeyPrefix, edgePreviewProps, isCompileMode }) {
295
295
  var _config_experimental, _config_experimental1, _config_compiler, _config_compiler1, _config_compiler2, _jsConfig_compilerOptions, _config_compiler3, _jsConfig_compilerOptions1, _config_compiler4, _config_watchOptions, _config_experimental_sri, _config_experimental_sri1, _jsConfig_compilerOptions2, // always add JsConfigPathsPlugin to allow hot-reloading
296
296
  // if the config is added/removed
297
297
  _webpackConfig_resolve_plugins, _webpackConfig_resolve, _config_experimental2, _config_compiler5, _config_compiler6, _config_compiler7, _config_compiler8, _config_compiler9, _webpack5Config_plugins, _webpackConfig_module, _webpackConfig_module1, _webpackConfig_module_rules, _webpackConfig_module2;
@@ -1543,7 +1543,8 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1543
1543
  isEdgeServer,
1544
1544
  isNodeOrEdgeCompilation,
1545
1545
  isNodeServer,
1546
- middlewareMatchers
1546
+ middlewareMatchers,
1547
+ omitNonDeterministic: isCompileMode
1547
1548
  }),
1548
1549
  isClient && new _reactloadableplugin.ReactLoadablePlugin({
1549
1550
  filename: _constants1.REACT_LOADABLE_MANIFEST,
@@ -1625,7 +1626,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1625
1626
  isClient && new _copyfileplugin.CopyFilePlugin({
1626
1627
  // file path to build output of `@next/polyfill-nomodule`
1627
1628
  filePath: require.resolve('./polyfills/polyfill-nomodule'),
1628
- cacheKey: "15.3.0-canary.0",
1629
+ cacheKey: "15.3.0-canary.1",
1629
1630
  name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
1630
1631
  minimize: false,
1631
1632
  info: {
@@ -1802,7 +1803,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1802
1803
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1803
1804
  // - Next.js version
1804
1805
  // - next.config.js keys that affect compilation
1805
- version: `${__dirname}|${"15.3.0-canary.0"}|${configVars}`,
1806
+ version: `${__dirname}|${"15.3.0-canary.1"}|${configVars}`,
1806
1807
  cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
1807
1808
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1808
1809
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.