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.
- package/dist/bin/next +1 -1
- package/dist/build/build-context.d.ts +1 -0
- package/dist/build/build-context.js.map +1 -1
- package/dist/build/index.js +25 -2
- package/dist/build/index.js.map +1 -1
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack/plugins/define-env-plugin.d.ts +2 -1
- package/dist/build/webpack/plugins/define-env-plugin.js +23 -2
- package/dist/build/webpack/plugins/define-env-plugin.js.map +1 -1
- package/dist/build/webpack-build/impl.js +1 -0
- package/dist/build/webpack-build/impl.js.map +1 -1
- package/dist/build/webpack-config.d.ts +2 -1
- package/dist/build/webpack-config.js +5 -4
- package/dist/build/webpack-config.js.map +1 -1
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/server.runtime.prod.js +8 -8
- package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
- package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js +1 -1
- package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js +1 -1
- package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.development.js +1 -1
- package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.production.js +1 -1
- package/dist/esm/build/build-context.js.map +1 -1
- package/dist/esm/build/index.js +25 -2
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/webpack/plugins/define-env-plugin.js +23 -2
- package/dist/esm/build/webpack/plugins/define-env-plugin.js.map +1 -1
- package/dist/esm/build/webpack-build/impl.js +1 -0
- package/dist/esm/build/webpack-build/impl.js.map +1 -1
- package/dist/esm/build/webpack-config.js +5 -4
- package/dist/esm/build/webpack-config.js.map +1 -1
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/lib/inline-static-env.js +122 -0
- package/dist/esm/lib/inline-static-env.js.map +1 -0
- package/dist/esm/server/base-server.js +8 -0
- package/dist/esm/server/base-server.js.map +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js +10 -2
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/lib/inline-static-env.d.ts +7 -0
- package/dist/lib/inline-static-env.js +149 -0
- package/dist/lib/inline-static-env.js.map +1 -0
- package/dist/server/base-server.js +8 -0
- package/dist/server/base-server.js.map +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/router-utils/setup-dev-bundler.js +8 -0
- package/dist/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/shared/lib/canary-only.js +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/build.d.ts +1 -1
- package/dist/telemetry/events/build.js.map +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
@@ -11,7 +11,7 @@ import { isDeepStrictEqual } from 'util';
|
|
11
11
|
import { getDefineEnv } from '../webpack/plugins/define-env-plugin';
|
12
12
|
import { getReactCompilerLoader } from '../get-babel-loader-config';
|
13
13
|
import { TurbopackInternalError } from '../../shared/lib/turbopack/utils';
|
14
|
-
const nextVersion = "15.3.0-canary.
|
14
|
+
const nextVersion = "15.3.0-canary.1";
|
15
15
|
const ArchName = arch();
|
16
16
|
const PlatformName = platform();
|
17
17
|
function infoLog(...args) {
|
@@ -72,7 +72,7 @@ function getImageConfig(config, dev) {
|
|
72
72
|
}
|
73
73
|
};
|
74
74
|
}
|
75
|
-
export function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir, fetchCacheKeyPrefix, hasRewrites, isClient, isEdgeServer, isNodeOrEdgeCompilation, isNodeServer, middlewareMatchers }) {
|
75
|
+
export function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir, fetchCacheKeyPrefix, hasRewrites, isClient, isEdgeServer, isNodeOrEdgeCompilation, isNodeServer, middlewareMatchers, omitNonDeterministic }) {
|
76
76
|
var _config_experimental_staleTimes, _config_experimental_staleTimes1, _config_experimental_staleTimes2, _config_experimental_staleTimes3, _config_i18n, _config_compiler;
|
77
77
|
const nextPublicEnv = getNextPublicEnvironmentVariables();
|
78
78
|
const nextConfigEnv = getNextConfigEnv(config);
|
@@ -176,7 +176,28 @@ export function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, di
|
|
176
176
|
}
|
177
177
|
defineEnv[key] = userDefines[key];
|
178
178
|
}
|
179
|
-
|
179
|
+
const serializedDefineEnv = serializeDefineEnv(defineEnv);
|
180
|
+
// we delay inlining these values until after the build
|
181
|
+
// with flying shuttle enabled so we can update them
|
182
|
+
// without invalidating entries
|
183
|
+
if (!dev && omitNonDeterministic) {
|
184
|
+
// client uses window. instead of leaving process.env
|
185
|
+
// in case process isn't polyfilled on client already
|
186
|
+
// since by this point it won't be added by webpack
|
187
|
+
const safeKey = (key)=>isClient ? `window.${key.split('.').pop()}` : key;
|
188
|
+
for(const key in nextPublicEnv){
|
189
|
+
serializedDefineEnv[key] = safeKey(key);
|
190
|
+
}
|
191
|
+
for(const key in nextConfigEnv){
|
192
|
+
serializedDefineEnv[key] = safeKey(key);
|
193
|
+
}
|
194
|
+
for (const key of [
|
195
|
+
'process.env.NEXT_DEPLOYMENT_ID'
|
196
|
+
]){
|
197
|
+
serializedDefineEnv[key] = safeKey(key);
|
198
|
+
}
|
199
|
+
}
|
200
|
+
return serializedDefineEnv;
|
180
201
|
}
|
181
202
|
export function getDefineEnvPlugin(options) {
|
182
203
|
return new 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":["webpack","needsExperimentalReact","checkIsAppPPREnabled","errorIfEnvConflicted","config","key","isPrivateKey","test","hasNextRuntimeKey","Error","configFileName","getNextPublicEnvironmentVariables","defineEnv","process","env","startsWith","value","getNextConfigEnv","serializeDefineEnv","defineEnvStringified","JSON","stringify","getImageConfig","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","getDefineEnv","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","nextPublicEnv","nextConfigEnv","isPPREnabled","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","userDefines","compiler","define","hasOwnProperty","getDefineEnvPlugin","options","DefinePlugin"],"mappings":"AAKA,SAASA,OAAO,QAAQ,qCAAoC;AAC5D,SAASC,sBAAsB,QAAQ,wCAAuC;AAC9E,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,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;AAuCA;;CAEC,GACD,OAAO,SAASC;IACd,MAAMC,YAAuB,CAAC;IAC9B,IAAK,MAAMP,OAAOQ,QAAQC,GAAG,CAAE;QAC7B,IAAIT,IAAIU,UAAU,CAAC,iBAAiB;YAClC,MAAMC,QAAQH,QAAQC,GAAG,CAACT,IAAI;YAC9B,IAAIW,SAAS,MAAM;gBACjBJ,SAAS,CAAC,CAAC,YAAY,EAAEP,KAAK,CAAC,GAAGW;YACpC;QACF;IACF;IACA,OAAOJ;AACT;AAEA;;CAEC,GACD,OAAO,SAASK,iBAAiBb,MAA0B;IACzD,sCAAsC;IACtC,MAAMQ,YAAuB,CAAC;IAC9B,MAAME,MAAMV,OAAOU,GAAG;IACtB,IAAK,MAAMT,OAAOS,IAAK;QACrB,MAAME,QAAQF,GAAG,CAACT,IAAI;QACtB,IAAIW,SAAS,MAAM;YACjBb,qBAAqBC,QAAQC;YAC7BO,SAAS,CAAC,CAAC,YAAY,EAAEP,KAAK,CAAC,GAAGW;QACpC;IACF;IACA,OAAOJ;AACT;AAEA;;CAEC,GACD,SAASM,mBAAmBN,SAAoB;IAC9C,MAAMO,uBAA4C,CAAC;IACnD,IAAK,MAAMd,OAAOO,UAAW;QAC3B,MAAMI,QAAQJ,SAAS,CAACP,IAAI;QAC5Bc,oBAAoB,CAACd,IAAI,GAAGe,KAAKC,SAAS,CAACL;IAC7C;IAEA,OAAOG;AACT;AAEA,SAASG,eACPlB,MAA0B,EAC1BmB,GAAY;QAUKnB,gBAKSA,iBACDA;IAdzB,OAAO;QACL,iCAAiC;YAC/BoB,aAAapB,OAAOqB,MAAM,CAACD,WAAW;YACtCE,YAAYtB,OAAOqB,MAAM,CAACC,UAAU;YACpCC,WAAWvB,OAAOqB,MAAM,CAACE,SAAS;YAClCC,MAAMxB,OAAOqB,MAAM,CAACG,IAAI;YACxBC,QAAQzB,OAAOqB,MAAM,CAACI,MAAM;YAC5BC,qBAAqB1B,OAAOqB,MAAM,CAACK,mBAAmB;YACtDC,WAAW,EAAE3B,2BAAAA,iBAAAA,OAAQqB,MAAM,qBAAdrB,eAAgB2B,WAAW;YACxC,GAAIR,MACA;gBACE,6DAA6D;gBAC7DS,SAAS5B,OAAOqB,MAAM,CAACO,OAAO;gBAC9BC,cAAc,GAAE7B,kBAAAA,OAAOqB,MAAM,qBAAbrB,gBAAe6B,cAAc;gBAC7CC,aAAa,GAAE9B,kBAAAA,OAAOqB,MAAM,qBAAbrB,gBAAe8B,aAAa;gBAC3CC,QAAQ/B,OAAO+B,MAAM;YACvB,IACA,CAAC,CAAC;QACR;IACF;AACF;AAEA,OAAO,SAASC,aAAa,EAC3BC,WAAW,EACXC,mBAAmB,EACnBlC,MAAM,EACNmB,GAAG,EACHgB,OAAO,EACPC,mBAAmB,EACnBC,WAAW,EACXC,QAAQ,EACRC,YAAY,EACZC,uBAAuB,EACvBC,YAAY,EACZC,kBAAkB,EACK;QA8DN1C,iCAETA,kCAGSA,kCAETA,kCAgD6BA,cAqCjBA;IAzJpB,MAAM2C,gBAAgBpC;IACtB,MAAMqC,gBAAgB/B,iBAAiBb;IAEvC,MAAM6C,eAAe/C,qBAAqBE,OAAO8C,YAAY,CAACC,GAAG;IACjE,MAAMC,qBAAqB,CAAC,CAAChD,OAAO8C,YAAY,CAACG,SAAS;IAC1D,MAAMC,oBAAoB,CAAC,CAAClD,OAAO8C,YAAY,CAACK,QAAQ;IAExD,MAAM3C,YAAuB;QAC3B,+CAA+C;QAC/C4C,mBAAmB;QAEnB,GAAGT,aAAa;QAChB,GAAGC,aAAa;QAChB,GAAI,CAACL,eACD,CAAC,IACD;YACEc,aACE;;;;aAIC,GACD5C,QAAQC,GAAG,CAAC4C,0BAA0B,IAAI;YAE5C,0DAA0D;YAC1D,sEAAsE;YACtE,gBAAgB;QAClB,CAAC;QACL,qBAAqBrB;QACrB,yBAAyBA;QACzB,6DAA6D;QAC7D,wBACEd,OAAOnB,OAAO8C,YAAY,CAACS,qBAAqB,GAC5C,gBACA;QACN,4BAA4BhB,eACxB,SACAE,eACE,WACA;QACN,4BAA4B;QAC5B,4CAA4Ce,QAC1CxD,OAAO8C,YAAY,CAACW,kBAAkB;QAExC,0BAA0BZ;QAC1B,iCAAiCG;QACjC,gCAAgCE;QAChC,kCAAkClD,OAAO0D,YAAY,IAAI;QACzD,0EAA0E;QAC1E,0BAA0B;QAC1B,0DACEjD,QAAQC,GAAG,CAACiD,0CAA0C,IAAI;QAC5D,6CAA6CvB,uBAAuB;QACpE,GAAIH,cACA,CAAC,IACD;YACE,0CAA0CS,sBAAsB,EAAE;QACpE,CAAC;QACL,8CACE1C,OAAO8C,YAAY,CAACc,oBAAoB,IAAI;QAC9C,sDAAsD5C,KAAKC,SAAS,CAClE4C,MAAMC,QAAO9D,kCAAAA,OAAO8C,YAAY,CAACiB,UAAU,qBAA9B/D,gCAAgCgE,OAAO,KAChD,KACAhE,mCAAAA,OAAO8C,YAAY,CAACiB,UAAU,qBAA9B/D,iCAAgCgE,OAAO;QAE7C,qDAAqDhD,KAAKC,SAAS,CACjE4C,MAAMC,QAAO9D,mCAAAA,OAAO8C,YAAY,CAACiB,UAAU,qBAA9B/D,iCAAgCiE,MAAM,KAC/C,IAAI,GAAG,YAAY;YACnBjE,mCAAAA,OAAO8C,YAAY,CAACiB,UAAU,qBAA9B/D,iCAAgCiE,MAAM;QAE5C,mDACEjE,OAAO8C,YAAY,CAACoB,kBAAkB,IAAI;QAC5C,6CACEhC,CAAAA,uCAAAA,oBAAqBiC,YAAY,KAAI;QACvC,6CACEjC,CAAAA,uCAAAA,oBAAqBkC,aAAa,KAAI;QACxC,2CAA2CZ,QACzCxD,OAAO8C,YAAY,CAACuB,kBAAkB;QAExC,8CACErE,OAAO8C,YAAY,CAACwB,qBAAqB,IAAI;QAC/C,0CACEtE,OAAO8C,YAAY,CAACyB,kBAAkB,IAAI;QAC5C,mCAAmCvE,OAAOwE,WAAW;QACrD,mBAAmBlC;QACnB,gCAAgC7B,QAAQC,GAAG,CAAC+D,gBAAgB,IAAI;QAChE,2FAA2F;QAC3F,GAAItD,OAAQmB,CAAAA,YAAYC,YAAW,IAC/B;YACE,+BAA+BJ;QACjC,IACA,CAAC,CAAC;QACN,qCAAqCnC,OAAO0E,aAAa;QACzD,oCAAoC1E,OAAO2E,aAAa,KAAK;QAC7D,6CACE3E,OAAO2E,aAAa,KAAK,QACrB,cAAc,sDAAsD;WACpE3E,OAAO2E,aAAa,CAACC,QAAQ,IAAI;QACvC,kCACE5E,OAAO6E,eAAe,KAAK,OAAO,QAAQ7E,OAAO6E,eAAe;QAClE,sCACE,6EAA6E;QAC7E7E,OAAO6E,eAAe,KAAK,OAAO,OAAO7E,OAAO6E,eAAe;QACjE,mCACE,AAAC7E,CAAAA,OAAO8C,YAAY,CAACgC,WAAW,IAAI,CAAC3D,GAAE,KAAM;QAC/C,qCACE,AAACnB,CAAAA,OAAO8C,YAAY,CAACiC,iBAAiB,IAAI,CAAC5D,GAAE,KAAM;QACrD,yCACEnB,OAAO8C,YAAY,CAACkC,iBAAiB,IAAI;QAC3C,GAAG9D,eAAelB,QAAQmB,IAAI;QAC9B,sCAAsCnB,OAAOiF,QAAQ;QACrD,uCACEjF,OAAO8C,YAAY,CAACoC,cAAc,IAAI;QACxC,mCAAmC7C;QACnC,oCAAoCrC,OAAO+B,MAAM;QACjD,mCAAmC,CAAC,CAAC/B,OAAOmF,IAAI;QAChD,mCAAmCnF,EAAAA,eAAAA,OAAOmF,IAAI,qBAAXnF,aAAa4B,OAAO,KAAI;QAC3D,kDACE5B,OAAOoF,0BAA0B;QACnC,0DACEpF,OAAO8C,YAAY,CAACuC,iCAAiC,IAAI;QAC3D,4CACErF,OAAOsF,yBAAyB;QAClC,iDACE,AAACtF,CAAAA,OAAO8C,YAAY,CAACyC,oBAAoB,IACvCvF,OAAO8C,YAAY,CAACyC,oBAAoB,CAACC,MAAM,GAAG,CAAA,KACpD;QACF,6CACExF,OAAO8C,YAAY,CAACyC,oBAAoB,IAAI;QAC9C,0CACEvF,OAAO8C,YAAY,CAAC2C,gBAAgB,IAAI;QAC1C,mCAAmCzF,OAAO0F,WAAW;QACrD,mDACE,CAAC,CAAC1F,OAAO8C,YAAY,CAAC6C,cAAc;QACtC,yCAAyCnC,QACvC/C,QAAQC,GAAG,CAACkF,uBAAuB;QAErC,GAAIpD,0BACA;YACE,+DAA+D;YAC/D,2DAA2D;YAC3D,+CAA+C;YAC/C,iBAAiB;QACnB,IACAqD,SAAS;QACb,GAAIrD,0BACA;YACE,yCACE3C,uBAAuBG;QAC3B,IACA6F,SAAS;IACf;IAEA,MAAMC,cAAc9F,EAAAA,mBAAAA,OAAO+F,QAAQ,qBAAf/F,iBAAiBgG,MAAM,KAAI,CAAC;IAChD,IAAK,MAAM/F,OAAO6F,YAAa;QAC7B,IAAItF,UAAUyF,cAAc,CAAChG,MAAM;YACjC,MAAM,qBAEL,CAFK,IAAII,MACR,CAAC,8DAA8D,EAAEJ,IAAI,gHAAgH,CAAC,GADlL,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QACAO,SAAS,CAACP,IAAI,GAAG6F,WAAW,CAAC7F,IAAI;IACnC;IAEA,OAAOa,mBAAmBN;AAC5B;AAEA,OAAO,SAAS0F,mBAAmBC,OAA+B;IAChE,OAAO,IAAIvG,QAAQwG,YAAY,CAACpE,aAAamE;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":["webpack","needsExperimentalReact","checkIsAppPPREnabled","errorIfEnvConflicted","config","key","isPrivateKey","test","hasNextRuntimeKey","Error","configFileName","getNextPublicEnvironmentVariables","defineEnv","process","env","startsWith","value","getNextConfigEnv","serializeDefineEnv","defineEnvStringified","JSON","stringify","getImageConfig","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","getDefineEnv","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","omitNonDeterministic","nextPublicEnv","nextConfigEnv","isPPREnabled","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","userDefines","compiler","define","hasOwnProperty","serializedDefineEnv","safeKey","split","pop","getDefineEnvPlugin","options","DefinePlugin"],"mappings":"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"}
|
@@ -52,6 +52,7 @@ export async function webpackBuildImpl(compilerName) {
|
|
52
52
|
}));
|
53
53
|
const commonWebpackOptions = {
|
54
54
|
isServer: false,
|
55
|
+
isCompileMode: NextBuildContext.isCompileMode,
|
55
56
|
buildId: NextBuildContext.buildId,
|
56
57
|
encryptionKey: NextBuildContext.encryptionKey,
|
57
58
|
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":["stringBufferUtils","red","formatWebpackMessages","nonNullable","COMPILER_NAMES","CLIENT_STATIC_FILES_RUNTIME_MAIN_APP","APP_CLIENT_INTERNALS","PHASE_PRODUCTION_BUILD","runCompiler","Log","getBaseWebpackConfig","loadProjectInfo","TelemetryPlugin","NextBuildContext","resumePluginState","getPluginState","createEntrypoints","loadConfig","getTraceEvents","initializeTraceState","setGlobal","trace","WEBPACK_LAYERS","TraceEntryPointsPlugin","origDebug","Telemetry","debug","isTelemetryPlugin","plugin","isTraceEntryPointsPlugin","webpackBuildImpl","compilerName","result","warnings","errors","stats","webpackBuildStart","nextBuildSpan","dir","config","process","env","NEXT_COMPILER_NAME","runWebpackSpan","traceChild","entrypoints","traceAsyncFn","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","dev","Promise","all","middlewareMatchers","compilerType","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","warn","hrtime","inputFileSystem","experimental","webpackMemoryOptimizations","disableDualStringBufferCaching","enterStringInterningRange","clientResult","serverResult","edgeServerResult","start","Date","now","pluginState","key","injectedClientEntries","value","clientEntry","entry","import","layer","appPagesBrowser","dependOn","exitStringInterningRange","purge","filter","traceFn","telemetryPlugin","plugins","find","traceEntryPointsPlugin","webpackBuildEnd","error","Boolean","join","console","indexOf","page_name_regex","parsed","exec","page_name","groups","Error","err","code","NEXT_RSPACK","event","duration","buildTraceContext","telemetryState","usages","packagesUsedInServerSideProps","useCacheTracker","getUseCacheTracker","workerMain","workerData","telemetry","distDir","buildContext","Object","assign","traceState","entriesTrace","chunksTrace","entryNameMap","depModArray","entryEntries","entryNameFilesMap","stop","debugTraceEvents"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,sCAAqC;AACvE,SAASC,GAAG,QAAQ,uBAAsB;AAC1C,OAAOC,2BAA2B,0EAAyE;AAC3G,SAASC,WAAW,QAAQ,yBAAwB;AAEpD,SACEC,cAAc,EACdC,oCAAoC,EACpCC,oBAAoB,EACpBC,sBAAsB,QACjB,6BAA4B;AACnC,SAASC,WAAW,QAAQ,cAAa;AACzC,YAAYC,SAAS,gBAAe;AACpC,OAAOC,wBAAwBC,eAAe,QAAQ,oBAAmB;AAEzE,SACEC,eAAe,QAEV,uDAAsD;AAC7D,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,cAAc,QACT,mBAAkB;AACzB,SAASC,iBAAiB,QAAQ,aAAY;AAC9C,OAAOC,gBAAgB,sBAAqB;AAC5C,SACEC,cAAc,EACdC,oBAAoB,EACpBC,SAAS,EACTC,KAAK,QAGA,cAAa;AACpB,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,sBAAsB,QAAQ,mDAAkD;AAIzF,OAAOC,eAAe,2BAA0B;AAChD,SAASC,SAAS,QAAQ,0BAAyB;AAEnD,MAAMC,QAAQF,UAAU;AAcxB,SAASG,kBAAkBC,MAAe;IACxC,OAAOA,kBAAkBhB;AAC3B;AAEA,SAASiB,yBACPD,MAAe;IAEf,OAAOA,kBAAkBL;AAC3B;AAEA,OAAO,eAAeO,iBACpBC,YAAkD;QA8N1B,uBAIO;IA3N/B,IAAIC,SAAgC;QAClCC,UAAU,EAAE;QACZC,QAAQ,EAAE;QACVC,OAAO,EAAE;IACX;IACA,IAAIC;IACJ,MAAMC,gBAAgBxB,iBAAiBwB,aAAa;IACpD,MAAMC,MAAMzB,iBAAiByB,GAAG;IAChC,MAAMC,SAAS1B,iBAAiB0B,MAAM;IACtCC,QAAQC,GAAG,CAACC,kBAAkB,GAAGX,gBAAgB;IAEjD,MAAMY,iBAAiBN,cAAcO,UAAU,CAAC;IAChD,MAAMC,cAAc,MAAMR,cACvBO,UAAU,CAAC,sBACXE,YAAY,CAAC,IACZ9B,kBAAkB;YAChB+B,SAASlC,iBAAiBkC,OAAO;YACjCR,QAAQA;YACRS,UAAUnC,iBAAiBoC,cAAc;YACzCC,OAAO;YACPC,SAASb;YACTc,gBAAgBb,OAAOa,cAAc;YACrCC,UAAUxC,iBAAiBwC,QAAQ;YACnCC,QAAQzC,iBAAiByC,MAAM;YAC/BC,OAAO1C,iBAAiB2C,WAAW;YACnCC,UAAU5C,iBAAiB6C,cAAc;YACzCC,aAAa9C,iBAAiB+C,YAAY;YAC1CC,WAAWhD,iBAAiBiD,eAAe;YAC3CC,wBAAwBlD,iBAAiBkD,sBAAsB;QACjE;IAGJ,MAAMC,uBAAuB;QAC3BC,UAAU;QACVlB,SAASlC,iBAAiBkC,OAAO;QACjCmB,eAAerD,iBAAiBqD,aAAa;QAC7C3B,QAAQA;QACRe,QAAQzC,iBAAiByC,MAAM;QAC/BD,UAAUxC,iBAAiBwC,QAAQ;QACnCc,UAAUtD,iBAAiBsD,QAAQ;QACnCC,kBAAkBvD,iBAAiBuD,gBAAgB;QACnDC,mBAAmBxD,iBAAiBwD,iBAAiB;QACrDC,0BAA0BzD,iBAAiByD,wBAAwB;QACnEC,YAAY1D,iBAAiB0D,UAAU;QACvCC,qBAAqB3D,iBAAiB2D,mBAAmB;QACzDC,eAAe5D,iBAAiB4D,aAAa;QAC7CC,6BAA6B7D,iBAAiB6D,2BAA2B;QACzEC,qBAAqB9D,iBAAiB8D,mBAAmB;IAC3D;IAEA,MAAMC,UAAU,MAAMjC,eACnBC,UAAU,CAAC,2BACXE,YAAY,CAAC;QACZ,MAAM+B,OAAO,MAAMlE,gBAAgB;YACjC2B;YACAC,QAAQyB,qBAAqBzB,MAAM;YACnCuC,KAAK;QACP;QACA,OAAOC,QAAQC,GAAG,CAAC;YACjBtE,qBAAqB4B,KAAK;gBACxB,GAAG0B,oBAAoB;gBACvBiB,oBAAoBpC,YAAYoC,kBAAkB;gBAClDtC;gBACAuC,cAAc9E,eAAe+E,MAAM;gBACnCtC,aAAaA,YAAYsC,MAAM;gBAC/B,GAAGN,IAAI;YACT;YACAnE,qBAAqB4B,KAAK;gBACxB,GAAG0B,oBAAoB;gBACvBrB;gBACAsC,oBAAoBpC,YAAYoC,kBAAkB;gBAClDC,cAAc9E,eAAegF,MAAM;gBACnCvC,aAAaA,YAAYuC,MAAM;gBAC/B,GAAGP,IAAI;YACT;YACAnE,qBAAqB4B,KAAK;gBACxB,GAAG0B,oBAAoB;gBACvBrB;gBACAsC,oBAAoBpC,YAAYoC,kBAAkB;gBAClDC,cAAc9E,eAAeiF,UAAU;gBACvCxC,aAAaA,YAAYwC,UAAU;gBACnCC,kBAAkB;oBAChBC,wBACE1E,iBAAiB+C,YAAY,CAAEa,aAAa;oBAC9Ce,oCACE3E,iBAAiB+C,YAAY,CAAE6B,wBAAwB;oBACzDC,iCACE7E,iBAAiB+C,YAAY,CAAE+B,qBAAqB;gBACxD;gBACA,GAAGd,IAAI;YACT;SACD;IACH;IAEF,MAAMe,eAAehB,OAAO,CAAC,EAAE;IAC/B,MAAMiB,eAAejB,OAAO,CAAC,EAAE;IAC/B,MAAMkB,aAAalB,OAAO,CAAC,EAAE;IAE7B,IACEgB,aAAaG,YAAY,IACxBH,CAAAA,aAAaG,YAAY,CAACC,QAAQ,KAAK,QACrCJ,aAAaG,YAAY,CAACE,SAAS,IAClCL,aAAaG,YAAY,CAACE,SAAS,CAACC,MAAM,KAAK,CAAC,GACpD;QACAzF,IAAI0F,IAAI,CACN,CAAC,iIAAiI,CAAC;IAEvI;IAEA/D,oBAAoBI,QAAQ4D,MAAM;IAElC1E,MAAM,CAAC,iBAAiB,CAAC,EAAEK;IAC3B,+EAA+E;IAC/E,MAAMY,eAAeG,YAAY,CAAC;YA8EhCuD;QA7EA,IAAI9D,OAAO+D,YAAY,CAACC,0BAA0B,EAAE;YAClDvG,kBAAkBwG,8BAA8B;YAChDxG,kBAAkByG,yBAAyB;QAC7C;QAEA,qDAAqD;QACrD,8DAA8D;QAC9D,IAAIC,eAA4C;QAEhD,uEAAuE;QACvE,yEAAyE;QACzE,IAAIC,eACF;QACF,IAAIC,mBAEO;QAEX,IAAIP;QAEJ,IAAI,CAACtE,gBAAgBA,iBAAiB,UAAU;YAC9CL,MAAM;YACN,MAAMmF,QAAQC,KAAKC,GAAG;YACrB,CAACJ,cAAcN,gBAAgB,GAAG,MAAM7F,YAAYqF,cAAc;gBACjElD;gBACA0D;YACF;YACA3E,MAAM,CAAC,yBAAyB,EAAEoF,KAAKC,GAAG,KAAKF,MAAM,EAAE,CAAC;QAC1D;QAEA,IAAI,CAAC9E,gBAAgBA,iBAAiB,eAAe;YACnDL,MAAM;YACN,MAAMmF,QAAQC,KAAKC,GAAG;YACrB,CAACH,kBAAkBP,gBAAgB,GAAGP,aACnC,MAAMtF,YAAYsF,YAAY;gBAAEnD;gBAAgB0D;YAAgB,KAChE;gBAAC;aAAK;YACV3E,MAAM,CAAC,8BAA8B,EAAEoF,KAAKC,GAAG,KAAKF,MAAM,EAAE,CAAC;QAC/D;QAEA,wCAAwC;QACxC,IAAI,EAACF,gCAAAA,aAAczE,MAAM,CAACgE,MAAM,KAAI,EAACU,oCAAAA,iBAAkB1E,MAAM,CAACgE,MAAM,GAAE;YACpE,MAAMc,cAAcjG;YACpB,IAAK,MAAMkG,OAAOD,YAAYE,qBAAqB,CAAE;gBACnD,MAAMC,QAAQH,YAAYE,qBAAqB,CAACD,IAAI;gBACpD,MAAMG,cAAcxB,aAAayB,KAAK;gBACtC,IAAIJ,QAAQ3G,sBAAsB;oBAChC8G,WAAW,CAAC/G,qCAAqC,GAAG;wBAClDiH,QAAQ;4BACN,6HAA6H;4BAC7H,oFAAoF;+BACjFF,WAAW,CAAC/G,qCAAqC,CAACiH,MAAM;4BAC3DH;yBACD;wBACDI,OAAOjG,eAAekG,eAAe;oBACvC;gBACF,OAAO;oBACLJ,WAAW,CAACH,IAAI,GAAG;wBACjBQ,UAAU;4BAACpH;yBAAqC;wBAChDiH,QAAQH;wBACRI,OAAOjG,eAAekG,eAAe;oBACvC;gBACF;YACF;YAEA,IAAI,CAACzF,gBAAgBA,iBAAiB,UAAU;gBAC9CL,MAAM;gBACN,MAAMmF,QAAQC,KAAKC,GAAG;gBACrB,CAACL,cAAcL,gBAAgB,GAAG,MAAM7F,YAAYoF,cAAc;oBACjEjD;oBACA0D;gBACF;gBACA3E,MAAM,CAAC,yBAAyB,EAAEoF,KAAKC,GAAG,KAAKF,MAAM,EAAE,CAAC;YAC1D;QACF;QAEA,IAAItE,OAAO+D,YAAY,CAACC,0BAA0B,EAAE;YAClDvG,kBAAkB0H,wBAAwB;QAC5C;QACArB,oCAAAA,yBAAAA,gBAAiBsB,KAAK,qBAAtBtB,4BAAAA;QAEArE,SAAS;YACPC,UAAU;mBACJyE,CAAAA,gCAAAA,aAAczE,QAAQ,KAAI,EAAE;mBAC5B0E,CAAAA,gCAAAA,aAAc1E,QAAQ,KAAI,EAAE;mBAC5B2E,CAAAA,oCAAAA,iBAAkB3E,QAAQ,KAAI,EAAE;aACrC,CAAC2F,MAAM,CAACzH;YACT+B,QAAQ;mBACFwE,CAAAA,gCAAAA,aAAcxE,MAAM,KAAI,EAAE;mBAC1ByE,CAAAA,gCAAAA,aAAczE,MAAM,KAAI,EAAE;mBAC1B0E,CAAAA,oCAAAA,iBAAkB1E,MAAM,KAAI,EAAE;aACnC,CAAC0F,MAAM,CAACzH;YACTgC,OAAO;gBACLuE,gCAAAA,aAAcvE,KAAK;gBACnBwE,gCAAAA,aAAcxE,KAAK;gBACnByE,oCAAAA,iBAAkBzE,KAAK;aACxB;QACH;IACF;IACAH,SAASK,cACNO,UAAU,CAAC,2BACXiF,OAAO,CAAC,IAAM3H,sBAAsB8B,QAAQ;IAE/C,MAAM8F,mBAAkB,wBAAA,AAAClC,aAAuCmC,OAAO,qBAA/C,sBAAiDC,IAAI,CAC3ErG;IAGF,MAAMsG,0BAAyB,wBAAA,AAC7BpC,aACAkC,OAAO,qBAFsB,sBAEpBC,IAAI,CAACnG;IAEhB,MAAMqG,kBAAkB1F,QAAQ4D,MAAM,CAAChE;IAEvC,IAAIJ,OAAOE,MAAM,CAACgE,MAAM,GAAG,GAAG;QAC5B,8DAA8D;QAC9D,0DAA0D;QAC1D,IAAIlE,OAAOE,MAAM,CAACgE,MAAM,GAAG,GAAG;YAC5BlE,OAAOE,MAAM,CAACgE,MAAM,GAAG;QACzB;QACA,IAAIiC,QAAQnG,OAAOE,MAAM,CAAC0F,MAAM,CAACQ,SAASC,IAAI,CAAC;QAE/CC,QAAQH,KAAK,CAAClI,IAAI;QAElB,IACEkI,MAAMI,OAAO,CAAC,wBAAwB,CAAC,KACvCJ,MAAMI,OAAO,CAAC,uCAAuC,CAAC,GACtD;YACA,MAAMC,kBAAkB;YACxB,MAAMC,SAASD,gBAAgBE,IAAI,CAACP;YACpC,MAAMQ,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;QAEAL,QAAQH,KAAK,CAACA;QACdG,QAAQH,KAAK;QAEb,IACEA,MAAMI,OAAO,CAAC,wBAAwB,CAAC,KACvCJ,MAAMI,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,EAAErG,QAAQC,GAAG,CAACuG,WAAW,GAAG,WAAW,UAAU,OAAO,CAAC,GADxE,qBAAA;mBAAA;wBAAA;0BAAA;QAEZ;QACAF,IAAIC,IAAI,GAAG;QACX,MAAMD;IACR,OAAO;QACL,IAAI9G,OAAOC,QAAQ,CAACiE,MAAM,GAAG,GAAG;YAC9BzF,IAAI0F,IAAI,CAAC;YACTmC,QAAQnC,IAAI,CAACnE,OAAOC,QAAQ,CAAC2F,MAAM,CAACQ,SAASC,IAAI,CAAC;YAClDC,QAAQnC,IAAI;QACd,OAAO,IAAI,CAACpE,cAAc;YACxBtB,IAAIwI,KAAK,CAAC;QACZ;QAEA,OAAO;YACLC,UAAUhB,eAAe,CAAC,EAAE;YAC5BiB,iBAAiB,EAAElB,0CAAAA,uBAAwBkB,iBAAiB;YAC5DnC,aAAajG;YACbqI,gBAAgB;gBACdC,QAAQvB,CAAAA,mCAAAA,gBAAiBuB,MAAM,OAAM,EAAE;gBACvCC,+BACExB,CAAAA,mCAAAA,gBAAiBwB,6BAA6B,OAAM,EAAE;gBACxDC,iBAAiBzB,CAAAA,mCAAAA,gBAAiB0B,kBAAkB,OAAM,CAAC;YAC7D;QACF;IACF;AACF;AAEA,sDAAsD;AACtD,OAAO,eAAeC,WAAWC,UAIhC;IAKC,iCAAiC;IACjC,MAAMC,YAAY,IAAIlI,UAAU;QAC9BmI,SAASF,WAAWG,YAAY,CAACtH,MAAM,CAAEqH,OAAO;IAClD;IACAxI,UAAU,aAAauI;IACvB,0EAA0E;IAC1EG,OAAOC,MAAM,CAAClJ,kBAAkB6I,WAAWG,YAAY;IAEvD,0CAA0C;IAC1C1I,qBAAqBuI,WAAWM,UAAU;IAE1C,sBAAsB;IACtBlJ,kBAAkBD,iBAAiBmG,WAAW;IAE9C,iDAAiD;IACjDnG,iBAAiB0B,MAAM,GAAG,MAAMtB,WAC9BV,wBACAM,iBAAiByB,GAAG;IAEtBzB,iBAAiBwB,aAAa,GAAGhB,MAC/B,CAAC,YAAY,EAAEqI,WAAW3H,YAAY,EAAE;IAG1C,MAAMC,SAAS,MAAMF,iBAAiB4H,WAAW3H,YAAY;IAC7D,MAAM,EAAEkI,YAAY,EAAEC,WAAW,EAAE,GAAGlI,OAAOmH,iBAAiB,IAAI,CAAC;IACnE,IAAIc,cAAc;QAChB,MAAM,EAAEE,YAAY,EAAEC,WAAW,EAAE,GAAGH;QACtC,IAAIG,aAAa;YACfpI,OAAOmH,iBAAiB,CAAEc,YAAY,CAAEG,WAAW,GAAGA;QACxD;QACA,IAAID,cAAc;YAChB,MAAME,eAAeF;YACrBnI,OAAOmH,iBAAiB,CAAEc,YAAY,CAAEE,YAAY,GAAGE;QACzD;IACF;IACA,IAAIH,+BAAAA,YAAaI,iBAAiB,EAAE;QAClC,MAAMA,oBAAoBJ,YAAYI,iBAAiB;QACvDtI,OAAOmH,iBAAiB,CAAEe,WAAW,CAAEI,iBAAiB,GAAGA;IAC7D;IACAzJ,iBAAiBwB,aAAa,CAACkI,IAAI;IACnC,OAAO;QAAE,GAAGvI,MAAM;QAAEwI,kBAAkBtJ;IAAiB;AACzD"}
|
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":["stringBufferUtils","red","formatWebpackMessages","nonNullable","COMPILER_NAMES","CLIENT_STATIC_FILES_RUNTIME_MAIN_APP","APP_CLIENT_INTERNALS","PHASE_PRODUCTION_BUILD","runCompiler","Log","getBaseWebpackConfig","loadProjectInfo","TelemetryPlugin","NextBuildContext","resumePluginState","getPluginState","createEntrypoints","loadConfig","getTraceEvents","initializeTraceState","setGlobal","trace","WEBPACK_LAYERS","TraceEntryPointsPlugin","origDebug","Telemetry","debug","isTelemetryPlugin","plugin","isTraceEntryPointsPlugin","webpackBuildImpl","compilerName","result","warnings","errors","stats","webpackBuildStart","nextBuildSpan","dir","config","process","env","NEXT_COMPILER_NAME","runWebpackSpan","traceChild","entrypoints","traceAsyncFn","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","dev","Promise","all","middlewareMatchers","compilerType","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","warn","hrtime","inputFileSystem","experimental","webpackMemoryOptimizations","disableDualStringBufferCaching","enterStringInterningRange","clientResult","serverResult","edgeServerResult","start","Date","now","pluginState","key","injectedClientEntries","value","clientEntry","entry","import","layer","appPagesBrowser","dependOn","exitStringInterningRange","purge","filter","traceFn","telemetryPlugin","plugins","find","traceEntryPointsPlugin","webpackBuildEnd","error","Boolean","join","console","indexOf","page_name_regex","parsed","exec","page_name","groups","Error","err","code","NEXT_RSPACK","event","duration","buildTraceContext","telemetryState","usages","packagesUsedInServerSideProps","useCacheTracker","getUseCacheTracker","workerMain","workerData","telemetry","distDir","buildContext","Object","assign","traceState","entriesTrace","chunksTrace","entryNameMap","depModArray","entryEntries","entryNameFilesMap","stop","debugTraceEvents"],"mappings":"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"}
|
@@ -192,7 +192,7 @@ export function hasExternalOtelApiPackage() {
|
|
192
192
|
}
|
193
193
|
}
|
194
194
|
const UNSAFE_CACHE_REGEX = /[\\/]pages[\\/][^\\/]+(?:$|\?|#)/;
|
195
|
-
export default 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 }) {
|
195
|
+
export default 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 }) {
|
196
196
|
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
|
197
197
|
// if the config is added/removed
|
198
198
|
_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;
|
@@ -1444,7 +1444,8 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
1444
1444
|
isEdgeServer,
|
1445
1445
|
isNodeOrEdgeCompilation,
|
1446
1446
|
isNodeServer,
|
1447
|
-
middlewareMatchers
|
1447
|
+
middlewareMatchers,
|
1448
|
+
omitNonDeterministic: isCompileMode
|
1448
1449
|
}),
|
1449
1450
|
isClient && new ReactLoadablePlugin({
|
1450
1451
|
filename: REACT_LOADABLE_MANIFEST,
|
@@ -1526,7 +1527,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
1526
1527
|
isClient && new CopyFilePlugin({
|
1527
1528
|
// file path to build output of `@next/polyfill-nomodule`
|
1528
1529
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
1529
|
-
cacheKey: "15.3.0-canary.
|
1530
|
+
cacheKey: "15.3.0-canary.1",
|
1530
1531
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
1531
1532
|
minimize: false,
|
1532
1533
|
info: {
|
@@ -1703,7 +1704,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
1703
1704
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
1704
1705
|
// - Next.js version
|
1705
1706
|
// - next.config.js keys that affect compilation
|
1706
|
-
version: `${__dirname}|${"15.3.0-canary.
|
1707
|
+
version: `${__dirname}|${"15.3.0-canary.1"}|${configVars}`,
|
1707
1708
|
cacheDirectory: path.join(distDir, 'cache', 'webpack'),
|
1708
1709
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
1709
1710
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|