next 16.0.2-canary.11 → 16.0.2-canary.12
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/babel/loader/get-config.js +5 -0
- package/dist/build/babel/loader/get-config.js.map +1 -1
- package/dist/build/index.js +7 -4
- package/dist/build/index.js.map +1 -1
- package/dist/build/jest/jest.js +2 -1
- package/dist/build/jest/jest.js.map +1 -1
- package/dist/build/load-entrypoint.js +1 -2
- package/dist/build/load-entrypoint.js.map +1 -1
- package/dist/build/lockfile.d.ts +1 -1
- package/dist/build/lockfile.js +5 -9
- package/dist/build/lockfile.js.map +1 -1
- package/dist/build/next-config-ts/transpile-config.js +13 -3
- package/dist/build/next-config-ts/transpile-config.js.map +1 -1
- package/dist/build/swc/index.d.ts +4 -2
- package/dist/build/swc/index.js +54 -51
- package/dist/build/swc/index.js.map +1 -1
- package/dist/build/swc/install-bindings.d.ts +15 -0
- package/dist/build/swc/install-bindings.js +30 -0
- package/dist/build/swc/install-bindings.js.map +1 -0
- package/dist/build/turbopack-build/impl.js +9 -4
- package/dist/build/turbopack-build/impl.js.map +1 -1
- package/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +7 -2
- package/dist/build/webpack/loaders/lightningcss-loader/src/loader.js.map +1 -1
- package/dist/build/webpack/loaders/lightningcss-loader/src/minify.js +2 -2
- package/dist/build/webpack/loaders/lightningcss-loader/src/minify.js.map +1 -1
- package/dist/build/webpack/loaders/next-app-loader/index.js +6 -0
- package/dist/build/webpack/loaders/next-app-loader/index.js.map +1 -1
- package/dist/build/webpack/loaders/next-barrel-loader.js +5 -0
- package/dist/build/webpack/loaders/next-barrel-loader.js.map +1 -1
- package/dist/build/webpack/loaders/next-metadata-image-loader.js +5 -0
- package/dist/build/webpack/loaders/next-metadata-image-loader.js.map +1 -1
- package/dist/build/webpack/loaders/next-metadata-route-loader.js +5 -0
- package/dist/build/webpack/loaders/next-metadata-route-loader.js.map +1 -1
- package/dist/build/webpack/loaders/next-swc-loader.js +10 -6
- package/dist/build/webpack/loaders/next-swc-loader.js.map +1 -1
- package/dist/build/webpack-build/impl.js +4 -1
- package/dist/build/webpack-build/impl.js.map +1 -1
- package/dist/build/webpack-config.js +2 -7
- package/dist/build/webpack-config.js.map +1 -1
- package/dist/cli/next-typegen.js +3 -0
- package/dist/cli/next-typegen.js.map +1 -1
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/pages-api.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-api.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/pages.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages.runtime.dev.js.map +1 -1
- package/dist/esm/build/babel/loader/get-config.js +5 -0
- package/dist/esm/build/babel/loader/get-config.js.map +1 -1
- package/dist/esm/build/index.js +7 -4
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/load-entrypoint.js +2 -3
- package/dist/esm/build/load-entrypoint.js.map +1 -1
- package/dist/esm/build/lockfile.js +5 -9
- package/dist/esm/build/lockfile.js.map +1 -1
- package/dist/esm/build/next-config-ts/transpile-config.js +13 -3
- package/dist/esm/build/next-config-ts/transpile-config.js.map +1 -1
- package/dist/esm/build/swc/index.js +52 -49
- package/dist/esm/build/swc/index.js.map +1 -1
- package/dist/esm/build/swc/install-bindings.js +20 -0
- package/dist/esm/build/swc/install-bindings.js.map +1 -0
- package/dist/esm/build/turbopack-build/impl.js +10 -5
- package/dist/esm/build/turbopack-build/impl.js.map +1 -1
- package/dist/esm/build/webpack/loaders/lightningcss-loader/src/loader.js +7 -2
- package/dist/esm/build/webpack/loaders/lightningcss-loader/src/loader.js.map +1 -1
- package/dist/esm/build/webpack/loaders/lightningcss-loader/src/minify.js +2 -2
- package/dist/esm/build/webpack/loaders/lightningcss-loader/src/minify.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-app-loader/index.js +6 -0
- package/dist/esm/build/webpack/loaders/next-app-loader/index.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-barrel-loader.js +5 -0
- package/dist/esm/build/webpack/loaders/next-barrel-loader.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-metadata-image-loader.js +5 -0
- package/dist/esm/build/webpack/loaders/next-metadata-image-loader.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-metadata-route-loader.js +5 -0
- package/dist/esm/build/webpack/loaders/next-metadata-route-loader.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-swc-loader.js +11 -7
- package/dist/esm/build/webpack/loaders/next-swc-loader.js.map +1 -1
- package/dist/esm/build/webpack-build/impl.js +4 -1
- package/dist/esm/build/webpack-build/impl.js.map +1 -1
- package/dist/esm/build/webpack-config.js +2 -7
- 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/server/config.js +2 -2
- package/dist/esm/server/config.js.map +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +3 -4
- package/dist/esm/server/dev/hot-reloader-turbopack.js.map +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 +3 -0
- 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/errors/canary-only-config-error.js +1 -1
- package/dist/server/config.js +2 -2
- package/dist/server/config.js.map +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +2 -3
- package/dist/server/dev/hot-reloader-turbopack.js.map +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 +3 -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/errors/canary-only-config-error.js +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
|
@@ -52,6 +52,7 @@ _export(exports, {
|
|
|
52
52
|
});
|
|
53
53
|
const _constants = require("../../../lib/constants");
|
|
54
54
|
const _swc = require("../../swc");
|
|
55
|
+
const _installbindings = require("../../swc/install-bindings");
|
|
55
56
|
const _options = require("../../swc/options");
|
|
56
57
|
const _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
|
|
57
58
|
const _webpackconfig = require("../../webpack-config");
|
|
@@ -215,7 +216,7 @@ function pitch() {
|
|
|
215
216
|
(async ()=>{
|
|
216
217
|
if (// if it might be excluded/no-op we can't use pitch loader
|
|
217
218
|
!shouldMaybeExclude && // TODO: investigate swc file reading in PnP mode?
|
|
218
|
-
!process.versions.pnp && !EXCLUDED_PATHS.test(this.resourcePath) && this.loaders.length - 1 === this.loaderIndex && (0, _path.isAbsolute)(this.resourcePath) && !
|
|
219
|
+
!process.versions.pnp && !EXCLUDED_PATHS.test(this.resourcePath) && this.loaders.length - 1 === this.loaderIndex && (0, _path.isAbsolute)(this.resourcePath) && !(0, _swc.getBindingsSync)().isWasm) {
|
|
219
220
|
this.addDependency(this.resourcePath);
|
|
220
221
|
return loaderTransform.call(this);
|
|
221
222
|
}
|
|
@@ -226,11 +227,14 @@ function pitch() {
|
|
|
226
227
|
}
|
|
227
228
|
function swcLoader(inputSource, inputSourceMap) {
|
|
228
229
|
const callback = this.async();
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
230
|
+
// Install bindings early so they are definitely available to the loader.
|
|
231
|
+
// When run by webpack in next this is already done with correct configuration so this is a no-op.
|
|
232
|
+
// In turbopack loaders are run in a subprocess so it may or may not be done.
|
|
233
|
+
(0, _installbindings.installBindings)().then(()=>loaderTransform.call(this, inputSource, inputSourceMap).then(([transformedSource, outputSourceMap])=>{
|
|
234
|
+
callback(null, transformedSource, outputSourceMap || inputSourceMap);
|
|
235
|
+
}, (err)=>{
|
|
236
|
+
callback(err);
|
|
237
|
+
}));
|
|
234
238
|
}
|
|
235
239
|
const raw = true;
|
|
236
240
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/build/webpack/loaders/next-swc-loader.ts"],"sourcesContent":["/*\nCopyright (c) 2017 The swc Project Developers\n\nPermission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE.\n*/\n\nimport type { NextConfig } from '../../../types'\nimport { type WebpackLayerName, WEBPACK_LAYERS } from '../../../lib/constants'\nimport { isWasm, transform } from '../../swc'\nimport { getLoaderSWCOptions } from '../../swc/options'\nimport path, { isAbsolute } from 'path'\nimport { babelIncludeRegexes } from '../../webpack-config'\nimport { isResourceInPackages } from '../../handle-externals'\nimport type { TelemetryLoaderContext } from '../plugins/telemetry-plugin/telemetry-plugin'\nimport {\n updateTelemetryLoaderCtxFromTransformOutput,\n type SwcTransformTelemetryOutput,\n} from '../plugins/telemetry-plugin/update-telemetry-loader-context-from-swc'\nimport type { LoaderContext } from 'webpack'\nimport {\n COMPILER_NAMES,\n type CompilerNameValues,\n} from '../../../shared/lib/constants'\n\nconst maybeExclude = (\n excludePath: string,\n transpilePackages: string[]\n): boolean => {\n if (babelIncludeRegexes.some((r) => r.test(excludePath))) {\n return false\n }\n\n const shouldBeBundled = isResourceInPackages(excludePath, transpilePackages)\n if (shouldBeBundled) return false\n\n return excludePath.includes('node_modules')\n}\n\nexport interface SWCLoaderOptions {\n rootDir: string\n isServer: boolean\n compilerType: CompilerNameValues\n pagesDir?: string\n appDir?: string\n hasReactRefresh: boolean\n optimizeServerReact?: boolean\n nextConfig: NextConfig\n jsConfig: any\n supportedBrowsers: string[] | undefined\n swcCacheDir: string\n serverComponents?: boolean\n serverReferenceHashSalt: string\n bundleLayer?: WebpackLayerName\n esm?: boolean\n transpilePackages?: string[]\n}\n\n// these are exact code conditions checked\n// for to force transpiling a `node_module`\nconst FORCE_TRANSPILE_CONDITIONS =\n /next\\/font|next\\/dynamic|use server|use client|use cache/\n// same as above, but including `import(...)`.\n// (note the optional whitespace: `import (...)` is also syntactically valid)\nconst FORCE_TRANSPILE_CONDITIONS_WITH_IMPORT = new RegExp(\n String.raw`(?:${FORCE_TRANSPILE_CONDITIONS.source})|import\\s*\\(`\n)\n\nasync function loaderTransform(\n this: LoaderContext<SWCLoaderOptions> & TelemetryLoaderContext,\n source?: string,\n inputSourceMap?: any\n) {\n // Make the loader async\n const filename = this.resourcePath\n\n // Ensure `.d.ts` are not processed.\n if (filename.endsWith('.d.ts')) {\n return [source, inputSourceMap]\n }\n\n let loaderOptions: SWCLoaderOptions = this.getOptions() || {}\n const shouldMaybeExclude = maybeExclude(\n filename,\n loaderOptions.transpilePackages || []\n )\n\n const trackDynamicImports = shouldTrackDynamicImports(loaderOptions)\n\n if (shouldMaybeExclude) {\n if (!source) {\n throw new Error(`Invariant might be excluded but missing source`)\n }\n\n const forceTranspileConditions = trackDynamicImports\n ? FORCE_TRANSPILE_CONDITIONS_WITH_IMPORT\n : FORCE_TRANSPILE_CONDITIONS\n\n if (!forceTranspileConditions.test(source)) {\n return [source, inputSourceMap]\n }\n }\n\n const {\n isServer,\n rootDir,\n pagesDir,\n appDir,\n hasReactRefresh,\n nextConfig,\n jsConfig,\n supportedBrowsers,\n swcCacheDir,\n serverComponents,\n serverReferenceHashSalt,\n bundleLayer,\n esm,\n } = loaderOptions\n const isPageFile = pagesDir ? filename.startsWith(pagesDir) : false\n const relativeFilePathFromRoot = path.relative(rootDir, filename)\n\n const swcOptions = getLoaderSWCOptions({\n pagesDir,\n appDir,\n filename,\n isServer,\n isPageFile,\n development:\n this.mode === 'development' ||\n !!nextConfig.experimental?.allowDevelopmentBuild,\n isCacheComponents: nextConfig.cacheComponents,\n hasReactRefresh,\n modularizeImports: nextConfig?.modularizeImports,\n optimizePackageImports: nextConfig?.experimental?.optimizePackageImports,\n swcPlugins: nextConfig?.experimental?.swcPlugins,\n compilerOptions: nextConfig?.compiler,\n optimizeServerReact: nextConfig?.experimental?.optimizeServerReact,\n jsConfig,\n supportedBrowsers,\n swcCacheDir,\n relativeFilePathFromRoot,\n serverComponents,\n serverReferenceHashSalt,\n bundleLayer,\n esm,\n cacheHandlers: nextConfig.cacheHandlers,\n useCacheEnabled: nextConfig.experimental?.useCache,\n trackDynamicImports,\n })\n\n const programmaticOptions = {\n ...swcOptions,\n filename,\n inputSourceMap: inputSourceMap ? JSON.stringify(inputSourceMap) : undefined,\n\n // Set the default sourcemap behavior based on Webpack's mapping flag,\n sourceMaps: this.sourceMap,\n inlineSourcesContent: this.sourceMap,\n\n // Ensure that Webpack will get a full absolute path in the sourcemap\n // so that it can properly map the module back to its internal cached\n // modules.\n sourceFileName: filename,\n }\n\n if (!programmaticOptions.inputSourceMap) {\n delete programmaticOptions.inputSourceMap\n }\n\n // auto detect development mode\n if (\n this.mode &&\n programmaticOptions.jsc &&\n programmaticOptions.jsc.transform &&\n programmaticOptions.jsc.transform.react &&\n !Object.prototype.hasOwnProperty.call(\n programmaticOptions.jsc.transform.react,\n 'development'\n )\n ) {\n programmaticOptions.jsc.transform.react.development =\n this.mode === 'development'\n }\n\n return transform(source as any, programmaticOptions).then(\n (\n output: {\n code: string\n map?: string\n } & SwcTransformTelemetryOutput\n ) => {\n updateTelemetryLoaderCtxFromTransformOutput(this, output)\n return [output.code, output.map ? JSON.parse(output.map) : undefined]\n }\n )\n}\n\nfunction shouldTrackDynamicImports(loaderOptions: SWCLoaderOptions): boolean {\n // we only need to track `import()` 1. in cacheComponents, 2. on the server (RSC and SSR)\n // (Note: logic duplicated in crates/next-core/src/next_server/transforms.rs)\n const { nextConfig, bundleLayer, compilerType } = loaderOptions\n return (\n !!nextConfig.cacheComponents &&\n // NOTE: `server` means nodejs. `cacheComponents` is not supported in the edge runtime, so we want to exclude it.\n // (also, the code generated by the dynamic imports transform relies on `CacheSignal`, which uses nodejs-specific APIs)\n compilerType === COMPILER_NAMES.server &&\n (bundleLayer === WEBPACK_LAYERS.reactServerComponents ||\n bundleLayer === WEBPACK_LAYERS.serverSideRendering)\n )\n}\n\nconst EXCLUDED_PATHS =\n /[\\\\/](cache[\\\\/][^\\\\/]+\\.zip[\\\\/]node_modules|__virtual__)[\\\\/]/g\n\nexport function pitch(this: any) {\n const callback = this.async()\n let loaderOptions: SWCLoaderOptions = this.getOptions() || {}\n\n const shouldMaybeExclude = maybeExclude(\n this.resourcePath,\n loaderOptions.transpilePackages || []\n )\n\n ;(async () => {\n if (\n // if it might be excluded/no-op we can't use pitch loader\n !shouldMaybeExclude &&\n // TODO: investigate swc file reading in PnP mode?\n !process.versions.pnp &&\n !EXCLUDED_PATHS.test(this.resourcePath) &&\n this.loaders.length - 1 === this.loaderIndex &&\n isAbsolute(this.resourcePath) &&\n !(await isWasm())\n ) {\n this.addDependency(this.resourcePath)\n return loaderTransform.call(this)\n }\n })().then((r) => {\n if (r) return callback(null, ...r)\n callback()\n }, callback)\n}\n\nexport default function swcLoader(\n this: any,\n inputSource: string,\n inputSourceMap: any\n) {\n const callback = this.async()\n loaderTransform.call(this, inputSource, inputSourceMap).then(\n ([transformedSource, outputSourceMap]: any) => {\n callback(null, transformedSource, outputSourceMap || inputSourceMap)\n },\n (err: Error) => {\n callback(err)\n }\n )\n}\n\n// accept Buffers instead of strings\nexport const raw = true\n"],"names":["swcLoader","pitch","raw","maybeExclude","excludePath","transpilePackages","babelIncludeRegexes","some","r","test","shouldBeBundled","isResourceInPackages","includes","FORCE_TRANSPILE_CONDITIONS","FORCE_TRANSPILE_CONDITIONS_WITH_IMPORT","RegExp","String","source","loaderTransform","inputSourceMap","nextConfig","filename","resourcePath","endsWith","loaderOptions","getOptions","shouldMaybeExclude","trackDynamicImports","shouldTrackDynamicImports","Error","forceTranspileConditions","isServer","rootDir","pagesDir","appDir","hasReactRefresh","jsConfig","supportedBrowsers","swcCacheDir","serverComponents","serverReferenceHashSalt","bundleLayer","esm","isPageFile","startsWith","relativeFilePathFromRoot","path","relative","swcOptions","getLoaderSWCOptions","development","mode","experimental","allowDevelopmentBuild","isCacheComponents","cacheComponents","modularizeImports","optimizePackageImports","swcPlugins","compilerOptions","compiler","optimizeServerReact","cacheHandlers","useCacheEnabled","useCache","programmaticOptions","JSON","stringify","undefined","sourceMaps","sourceMap","inlineSourcesContent","sourceFileName","jsc","transform","react","Object","prototype","hasOwnProperty","call","then","output","updateTelemetryLoaderCtxFromTransformOutput","code","map","parse","compilerType","COMPILER_NAMES","server","WEBPACK_LAYERS","reactServerComponents","serverSideRendering","EXCLUDED_PATHS","callback","async","process","versions","pnp","loaders","length","loaderIndex","isAbsolute","isWasm","addDependency","inputSource","transformedSource","outputSourceMap","err"],"mappings":"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","ignoreList":[0]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/build/webpack/loaders/next-swc-loader.ts"],"sourcesContent":["/*\nCopyright (c) 2017 The swc Project Developers\n\nPermission is hereby granted, free of charge, to any\nperson obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the\nSoftware without restriction, including without\nlimitation the rights to use, copy, modify, merge,\npublish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software\nis furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice\nshall be included in all copies or substantial portions\nof the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE.\n*/\n\nimport type { NextConfig } from '../../../types'\nimport { type WebpackLayerName, WEBPACK_LAYERS } from '../../../lib/constants'\nimport { getBindingsSync, transform } from '../../swc'\nimport { installBindings } from '../../swc/install-bindings'\nimport { getLoaderSWCOptions } from '../../swc/options'\nimport path, { isAbsolute } from 'path'\nimport { babelIncludeRegexes } from '../../webpack-config'\nimport { isResourceInPackages } from '../../handle-externals'\nimport type { TelemetryLoaderContext } from '../plugins/telemetry-plugin/telemetry-plugin'\nimport {\n updateTelemetryLoaderCtxFromTransformOutput,\n type SwcTransformTelemetryOutput,\n} from '../plugins/telemetry-plugin/update-telemetry-loader-context-from-swc'\nimport type { LoaderContext } from 'webpack'\nimport {\n COMPILER_NAMES,\n type CompilerNameValues,\n} from '../../../shared/lib/constants'\n\nconst maybeExclude = (\n excludePath: string,\n transpilePackages: string[]\n): boolean => {\n if (babelIncludeRegexes.some((r) => r.test(excludePath))) {\n return false\n }\n\n const shouldBeBundled = isResourceInPackages(excludePath, transpilePackages)\n if (shouldBeBundled) return false\n\n return excludePath.includes('node_modules')\n}\n\nexport interface SWCLoaderOptions {\n rootDir: string\n isServer: boolean\n compilerType: CompilerNameValues\n pagesDir?: string\n appDir?: string\n hasReactRefresh: boolean\n optimizeServerReact?: boolean\n nextConfig: NextConfig\n jsConfig: any\n supportedBrowsers: string[] | undefined\n swcCacheDir: string\n serverComponents?: boolean\n serverReferenceHashSalt: string\n bundleLayer?: WebpackLayerName\n esm?: boolean\n transpilePackages?: string[]\n}\n\n// these are exact code conditions checked\n// for to force transpiling a `node_module`\nconst FORCE_TRANSPILE_CONDITIONS =\n /next\\/font|next\\/dynamic|use server|use client|use cache/\n// same as above, but including `import(...)`.\n// (note the optional whitespace: `import (...)` is also syntactically valid)\nconst FORCE_TRANSPILE_CONDITIONS_WITH_IMPORT = new RegExp(\n String.raw`(?:${FORCE_TRANSPILE_CONDITIONS.source})|import\\s*\\(`\n)\n\nasync function loaderTransform(\n this: LoaderContext<SWCLoaderOptions> & TelemetryLoaderContext,\n source?: string,\n inputSourceMap?: any\n) {\n // Make the loader async\n const filename = this.resourcePath\n\n // Ensure `.d.ts` are not processed.\n if (filename.endsWith('.d.ts')) {\n return [source, inputSourceMap]\n }\n\n let loaderOptions: SWCLoaderOptions = this.getOptions() || {}\n const shouldMaybeExclude = maybeExclude(\n filename,\n loaderOptions.transpilePackages || []\n )\n\n const trackDynamicImports = shouldTrackDynamicImports(loaderOptions)\n\n if (shouldMaybeExclude) {\n if (!source) {\n throw new Error(`Invariant might be excluded but missing source`)\n }\n\n const forceTranspileConditions = trackDynamicImports\n ? FORCE_TRANSPILE_CONDITIONS_WITH_IMPORT\n : FORCE_TRANSPILE_CONDITIONS\n\n if (!forceTranspileConditions.test(source)) {\n return [source, inputSourceMap]\n }\n }\n\n const {\n isServer,\n rootDir,\n pagesDir,\n appDir,\n hasReactRefresh,\n nextConfig,\n jsConfig,\n supportedBrowsers,\n swcCacheDir,\n serverComponents,\n serverReferenceHashSalt,\n bundleLayer,\n esm,\n } = loaderOptions\n const isPageFile = pagesDir ? filename.startsWith(pagesDir) : false\n const relativeFilePathFromRoot = path.relative(rootDir, filename)\n\n const swcOptions = getLoaderSWCOptions({\n pagesDir,\n appDir,\n filename,\n isServer,\n isPageFile,\n development:\n this.mode === 'development' ||\n !!nextConfig.experimental?.allowDevelopmentBuild,\n isCacheComponents: nextConfig.cacheComponents,\n hasReactRefresh,\n modularizeImports: nextConfig?.modularizeImports,\n optimizePackageImports: nextConfig?.experimental?.optimizePackageImports,\n swcPlugins: nextConfig?.experimental?.swcPlugins,\n compilerOptions: nextConfig?.compiler,\n optimizeServerReact: nextConfig?.experimental?.optimizeServerReact,\n jsConfig,\n supportedBrowsers,\n swcCacheDir,\n relativeFilePathFromRoot,\n serverComponents,\n serverReferenceHashSalt,\n bundleLayer,\n esm,\n cacheHandlers: nextConfig.cacheHandlers,\n useCacheEnabled: nextConfig.experimental?.useCache,\n trackDynamicImports,\n })\n\n const programmaticOptions = {\n ...swcOptions,\n filename,\n inputSourceMap: inputSourceMap ? JSON.stringify(inputSourceMap) : undefined,\n\n // Set the default sourcemap behavior based on Webpack's mapping flag,\n sourceMaps: this.sourceMap,\n inlineSourcesContent: this.sourceMap,\n\n // Ensure that Webpack will get a full absolute path in the sourcemap\n // so that it can properly map the module back to its internal cached\n // modules.\n sourceFileName: filename,\n }\n\n if (!programmaticOptions.inputSourceMap) {\n delete programmaticOptions.inputSourceMap\n }\n\n // auto detect development mode\n if (\n this.mode &&\n programmaticOptions.jsc &&\n programmaticOptions.jsc.transform &&\n programmaticOptions.jsc.transform.react &&\n !Object.prototype.hasOwnProperty.call(\n programmaticOptions.jsc.transform.react,\n 'development'\n )\n ) {\n programmaticOptions.jsc.transform.react.development =\n this.mode === 'development'\n }\n\n return transform(source as any, programmaticOptions).then(\n (\n output: {\n code: string\n map?: string\n } & SwcTransformTelemetryOutput\n ) => {\n updateTelemetryLoaderCtxFromTransformOutput(this, output)\n return [output.code, output.map ? JSON.parse(output.map) : undefined]\n }\n )\n}\n\nfunction shouldTrackDynamicImports(loaderOptions: SWCLoaderOptions): boolean {\n // we only need to track `import()` 1. in cacheComponents, 2. on the server (RSC and SSR)\n // (Note: logic duplicated in crates/next-core/src/next_server/transforms.rs)\n const { nextConfig, bundleLayer, compilerType } = loaderOptions\n return (\n !!nextConfig.cacheComponents &&\n // NOTE: `server` means nodejs. `cacheComponents` is not supported in the edge runtime, so we want to exclude it.\n // (also, the code generated by the dynamic imports transform relies on `CacheSignal`, which uses nodejs-specific APIs)\n compilerType === COMPILER_NAMES.server &&\n (bundleLayer === WEBPACK_LAYERS.reactServerComponents ||\n bundleLayer === WEBPACK_LAYERS.serverSideRendering)\n )\n}\n\nconst EXCLUDED_PATHS =\n /[\\\\/](cache[\\\\/][^\\\\/]+\\.zip[\\\\/]node_modules|__virtual__)[\\\\/]/g\n\nexport function pitch(this: any) {\n const callback = this.async()\n let loaderOptions: SWCLoaderOptions = this.getOptions() || {}\n\n const shouldMaybeExclude = maybeExclude(\n this.resourcePath,\n loaderOptions.transpilePackages || []\n )\n\n ;(async () => {\n if (\n // if it might be excluded/no-op we can't use pitch loader\n !shouldMaybeExclude &&\n // TODO: investigate swc file reading in PnP mode?\n !process.versions.pnp &&\n !EXCLUDED_PATHS.test(this.resourcePath) &&\n this.loaders.length - 1 === this.loaderIndex &&\n isAbsolute(this.resourcePath) &&\n !getBindingsSync().isWasm\n ) {\n this.addDependency(this.resourcePath)\n return loaderTransform.call(this)\n }\n })().then((r) => {\n if (r) return callback(null, ...r)\n callback()\n }, callback)\n}\n\nexport default function swcLoader(\n this: any,\n inputSource: string,\n inputSourceMap: any\n) {\n const callback = this.async()\n // Install bindings early so they are definitely available to the loader.\n // When run by webpack in next this is already done with correct configuration so this is a no-op.\n // In turbopack loaders are run in a subprocess so it may or may not be done.\n installBindings().then(() =>\n loaderTransform.call(this, inputSource, inputSourceMap).then(\n ([transformedSource, outputSourceMap]: any) => {\n callback(null, transformedSource, outputSourceMap || inputSourceMap)\n },\n (err: Error) => {\n callback(err)\n }\n )\n )\n}\n\n// accept Buffers instead of strings\nexport const raw = true\n"],"names":["swcLoader","pitch","raw","maybeExclude","excludePath","transpilePackages","babelIncludeRegexes","some","r","test","shouldBeBundled","isResourceInPackages","includes","FORCE_TRANSPILE_CONDITIONS","FORCE_TRANSPILE_CONDITIONS_WITH_IMPORT","RegExp","String","source","loaderTransform","inputSourceMap","nextConfig","filename","resourcePath","endsWith","loaderOptions","getOptions","shouldMaybeExclude","trackDynamicImports","shouldTrackDynamicImports","Error","forceTranspileConditions","isServer","rootDir","pagesDir","appDir","hasReactRefresh","jsConfig","supportedBrowsers","swcCacheDir","serverComponents","serverReferenceHashSalt","bundleLayer","esm","isPageFile","startsWith","relativeFilePathFromRoot","path","relative","swcOptions","getLoaderSWCOptions","development","mode","experimental","allowDevelopmentBuild","isCacheComponents","cacheComponents","modularizeImports","optimizePackageImports","swcPlugins","compilerOptions","compiler","optimizeServerReact","cacheHandlers","useCacheEnabled","useCache","programmaticOptions","JSON","stringify","undefined","sourceMaps","sourceMap","inlineSourcesContent","sourceFileName","jsc","transform","react","Object","prototype","hasOwnProperty","call","then","output","updateTelemetryLoaderCtxFromTransformOutput","code","map","parse","compilerType","COMPILER_NAMES","server","WEBPACK_LAYERS","reactServerComponents","serverSideRendering","EXCLUDED_PATHS","callback","async","process","versions","pnp","loaders","length","loaderIndex","isAbsolute","getBindingsSync","isWasm","addDependency","inputSource","installBindings","transformedSource","outputSourceMap","err"],"mappings":"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","ignoreList":[0]}
|
|
@@ -38,6 +38,7 @@ const _nexttraceentrypointsplugin = require("../webpack/plugins/next-trace-entry
|
|
|
38
38
|
const _debug = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/debug"));
|
|
39
39
|
const _storage = require("../../telemetry/storage");
|
|
40
40
|
const _durationtostring = require("../duration-to-string");
|
|
41
|
+
const _installbindings = require("../swc/install-bindings");
|
|
41
42
|
function _interop_require_default(obj) {
|
|
42
43
|
return obj && obj.__esModule ? obj : {
|
|
43
44
|
default: obj
|
|
@@ -334,6 +335,7 @@ async function webpackBuildImpl(compilerName) {
|
|
|
334
335
|
}
|
|
335
336
|
}
|
|
336
337
|
async function workerMain(workerData) {
|
|
338
|
+
var _config_experimental;
|
|
337
339
|
// Clone the telemetry for worker
|
|
338
340
|
const telemetry = new _storage.Telemetry({
|
|
339
341
|
distDir: workerData.buildContext.config.distDir
|
|
@@ -346,10 +348,11 @@ async function workerMain(workerData) {
|
|
|
346
348
|
// Resume plugin state
|
|
347
349
|
(0, _buildcontext.resumePluginState)(_buildcontext.NextBuildContext.pluginState);
|
|
348
350
|
/// load the config because it's not serializable
|
|
349
|
-
_buildcontext.NextBuildContext.config = await (0, _config.default)(_constants.PHASE_PRODUCTION_BUILD, _buildcontext.NextBuildContext.dir, {
|
|
351
|
+
const config = _buildcontext.NextBuildContext.config = await (0, _config.default)(_constants.PHASE_PRODUCTION_BUILD, _buildcontext.NextBuildContext.dir, {
|
|
350
352
|
debugPrerender: _buildcontext.NextBuildContext.debugPrerender,
|
|
351
353
|
reactProductionProfiling: _buildcontext.NextBuildContext.reactProductionProfiling
|
|
352
354
|
});
|
|
355
|
+
await (0, _installbindings.installBindings)((_config_experimental = config.experimental) == null ? void 0 : _config_experimental.useWasmBinary);
|
|
353
356
|
_buildcontext.NextBuildContext.nextBuildSpan = (0, _trace.trace)(`worker-main-${workerData.compilerName}`);
|
|
354
357
|
const result = await webpackBuildImpl(workerData.compilerName);
|
|
355
358
|
const { entriesTrace, chunksTrace } = result.buildTraceContext ?? {};
|
|
@@ -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 '../../shared/lib/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'\nimport { durationToString, hrtimeToSeconds } from '../duration-to-string'\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 previewProps: NextBuildContext.previewProps!,\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 ...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 const duration = hrtimeToSeconds(webpackBuildEnd)\n const durationString = durationToString(duration)\n\n if (result.warnings.length > 0) {\n Log.warn(`Compiled with warnings in ${durationString}\\n`)\n console.warn(result.warnings.filter(Boolean).join('\\n\\n'))\n console.warn()\n } else if (!compilerName) {\n Log.event(`Compiled successfully in ${durationString}`)\n }\n\n return {\n duration,\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 debugPrerender: NextBuildContext.debugPrerender,\n reactProductionProfiling: NextBuildContext.reactProductionProfiling,\n }\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","allowedRevalidateHeaderKeys","fetchCacheKeyPrefix","configs","info","loadProjectInfo","dev","Promise","all","getBaseWebpackConfig","middlewareMatchers","compilerType","COMPILER_NAMES","client","server","edgeServer","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","duration","hrtimeToSeconds","durationString","durationToString","event","buildTraceContext","telemetryState","usages","packagesUsedInServerSideProps","useCacheTracker","getUseCacheTracker","workerData","telemetry","Telemetry","distDir","buildContext","setGlobal","Object","assign","initializeTraceState","traceState","resumePluginState","loadConfig","PHASE_PRODUCTION_BUILD","debugPrerender","trace","entriesTrace","chunksTrace","entryNameMap","depModArray","entryEntries","entryNameFilesMap","stop","debugTraceEvents","getTraceEvents"],"mappings":"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","ignoreList":[0]}
|
|
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 '../../shared/lib/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'\nimport { durationToString, hrtimeToSeconds } from '../duration-to-string'\nimport { installBindings } from '../swc/install-bindings'\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 previewProps: NextBuildContext.previewProps!,\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 ...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 const duration = hrtimeToSeconds(webpackBuildEnd)\n const durationString = durationToString(duration)\n\n if (result.warnings.length > 0) {\n Log.warn(`Compiled with warnings in ${durationString}\\n`)\n console.warn(result.warnings.filter(Boolean).join('\\n\\n'))\n console.warn()\n } else if (!compilerName) {\n Log.event(`Compiled successfully in ${durationString}`)\n }\n\n return {\n duration,\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 const config = (NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!,\n {\n debugPrerender: NextBuildContext.debugPrerender,\n reactProductionProfiling: NextBuildContext.reactProductionProfiling,\n }\n ))\n await installBindings(config.experimental?.useWasmBinary)\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","allowedRevalidateHeaderKeys","fetchCacheKeyPrefix","configs","info","loadProjectInfo","dev","Promise","all","getBaseWebpackConfig","middlewareMatchers","compilerType","COMPILER_NAMES","client","server","edgeServer","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","duration","hrtimeToSeconds","durationString","durationToString","event","buildTraceContext","telemetryState","usages","packagesUsedInServerSideProps","useCacheTracker","getUseCacheTracker","workerData","telemetry","Telemetry","distDir","buildContext","setGlobal","Object","assign","initializeTraceState","traceState","resumePluginState","loadConfig","PHASE_PRODUCTION_BUILD","debugPrerender","installBindings","useWasmBinary","trace","entriesTrace","chunksTrace","entryNameMap","depModArray","entryEntries","entryNameFilesMap","stop","debugTraceEvents","getTraceEvents"],"mappings":"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","ignoreList":[0]}
|
|
@@ -86,7 +86,6 @@ const _flightcliententryplugin = require("./webpack/plugins/flight-client-entry-
|
|
|
86
86
|
const _rspackflightcliententryplugin = require("./webpack/plugins/rspack-flight-client-entry-plugin");
|
|
87
87
|
const _nexttypesplugin = require("./webpack/plugins/next-types-plugin");
|
|
88
88
|
const _loadjsconfig = /*#__PURE__*/ _interop_require_default(require("./load-jsconfig"));
|
|
89
|
-
const _swc = require("./swc");
|
|
90
89
|
const _subresourceintegrityplugin = require("./webpack/plugins/subresource-integrity-plugin");
|
|
91
90
|
const _nextfontmanifestplugin = require("./webpack/plugins/next-font-manifest-plugin");
|
|
92
91
|
const _memorywithgccacheplugin = require("./webpack/plugins/memory-with-gc-cache-plugin");
|
|
@@ -344,10 +343,6 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
344
343
|
_log.info(`Disabled SWC as replacement for Babel because of custom Babel configuration "${_path.default.relative(dir, babelConfigFile)}" https://nextjs.org/docs/messages/swc-disabled`);
|
|
345
344
|
loggedSwcDisabled = true;
|
|
346
345
|
}
|
|
347
|
-
// eagerly load swc bindings instead of waiting for transform calls
|
|
348
|
-
if (!babelConfigFile && isClient) {
|
|
349
|
-
await (0, _swc.loadBindings)(config.experimental.useWasmBinary);
|
|
350
|
-
}
|
|
351
346
|
// since `pages` doesn't always bundle by default we need to
|
|
352
347
|
// auto-include optimizePackageImports in transpilePackages
|
|
353
348
|
const finalTranspilePackages = (config.transpilePackages || []).concat(DEFAULT_TRANSPILED_PACKAGES);
|
|
@@ -1728,7 +1723,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
1728
1723
|
isClient && new _copyfileplugin.CopyFilePlugin({
|
|
1729
1724
|
// file path to build output of `@next/polyfill-nomodule`
|
|
1730
1725
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
|
1731
|
-
cacheKey: "16.0.2-canary.
|
|
1726
|
+
cacheKey: "16.0.2-canary.12",
|
|
1732
1727
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
|
1733
1728
|
minimize: false,
|
|
1734
1729
|
info: {
|
|
@@ -1914,7 +1909,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
1914
1909
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
|
1915
1910
|
// - Next.js version
|
|
1916
1911
|
// - next.config.js keys that affect compilation
|
|
1917
|
-
version: `${__dirname}|${"16.0.2-canary.
|
|
1912
|
+
version: `${__dirname}|${"16.0.2-canary.12"}|${configVars}`,
|
|
1918
1913
|
cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
|
|
1919
1914
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
|
1920
1915
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|