next 15.2.0-canary.43 → 15.2.0-canary.44

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.

Potentially problematic release.


This version of next might be problematic. Click here for more details.

package/dist/bin/next CHANGED
@@ -75,7 +75,7 @@ const program = new NextRootCommand();
75
75
  program.name('next').description('The Next.js CLI allows you to develop, build, start your application, and more.').configureHelp({
76
76
  formatHelp: (cmd, helper)=>(0, _formatclihelpoutput.formatCliHelpOutput)(cmd, helper),
77
77
  subcommandTerm: (cmd)=>`${cmd.name()} ${cmd.usage()}`
78
- }).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.2.0-canary.43"}`, '-v, --version', 'Outputs the Next.js version.');
78
+ }).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.2.0-canary.44"}`, '-v, --version', 'Outputs the Next.js version.');
79
79
  program.command('build').description('Creates an optimized production build of your application. The output displays information about each route.').argument('[directory]', `A directory on which to build the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('-d, --debug', 'Enables a more verbose build output.').option('--no-lint', 'Disables linting.').option('--no-mangling', 'Disables mangling.').option('--profile', 'Enables production profiling for React.').option('--experimental-app-only', 'Builds only App Router routes.').addOption(new _commander.Option('--experimental-turbo').hideHelp()).addOption(new _commander.Option('--experimental-build-mode [mode]', 'Uses an experimental build mode.').choices([
80
80
  'compile',
81
81
  'generate'
@@ -357,7 +357,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
357
357
  const nextBuildSpan = (0, _trace.trace)('next-build', undefined, {
358
358
  buildMode: experimentalBuildMode,
359
359
  isTurboBuild: String(turboNextBuild),
360
- version: "15.2.0-canary.43"
360
+ version: "15.2.0-canary.44"
361
361
  });
362
362
  _buildcontext.NextBuildContext.nextBuildSpan = nextBuildSpan;
363
363
  _buildcontext.NextBuildContext.dir = dir;
@@ -722,7 +722,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
722
722
  // Files outside of the distDir can be "type": "module"
723
723
  await writeFileUtf8(_path.default.join(distDir, 'package.json'), '{"type": "commonjs"}');
724
724
  // These are written to distDir, so they need to come after creating and cleaning distDr.
725
- await (0, _builddiagnostics.recordFrameworkVersion)("15.2.0-canary.43");
725
+ await (0, _builddiagnostics.recordFrameworkVersion)("15.2.0-canary.44");
726
726
  await (0, _builddiagnostics.updateBuildDiagnostics)({
727
727
  buildStage: 'start'
728
728
  });
@@ -119,7 +119,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
119
119
  }
120
120
  return newObj;
121
121
  }
122
- const nextVersion = "15.2.0-canary.43";
122
+ const nextVersion = "15.2.0-canary.44";
123
123
  const ArchName = (0, _os.arch)();
124
124
  const PlatformName = (0, _os.platform)();
125
125
  function infoLog(...args) {
@@ -185,9 +185,7 @@ function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, distDir,
185
185
  ...isNodeOrEdgeCompilation ? {
186
186
  'process.env.__NEXT_EXPERIMENTAL_REACT': (0, _needsexperimentalreact.needsExperimentalReact)(config)
187
187
  } : undefined,
188
- 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY': // When `__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY` is set on CI,
189
- // we need to pass it here so it can be enabled.
190
- process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY === 'true' || config.experimental.newDevOverlay || false,
188
+ 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY': config.experimental.newDevOverlay || false,
191
189
  'process.env.__NEXT_REACT_OWNER_STACK': config.experimental.reactOwnerStack ?? false
192
190
  };
193
191
  const userDefines = ((_config_compiler = config.compiler) == null ? void 0 : _config_compiler.define) ?? {};
@@ -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_APP_ISR_INDICATOR': Boolean(\n config.devIndicators.appIsrStatus\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 '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_BUILD_INDICATOR':\n config.devIndicators.buildActivity ?? true,\n 'process.env.__NEXT_BUILD_INDICATOR_POSITION':\n config.devIndicators.buildActivityPosition ?? 'bottom-right',\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 ...(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 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY':\n // When `__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY` is set on CI,\n // we need to pass it here so it can be enabled.\n process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY === 'true' ||\n config.experimental.newDevOverlay ||\n false,\n 'process.env.__NEXT_REACT_OWNER_STACK':\n config.experimental.reactOwnerStack ?? false,\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured via the \\`env\\` option.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n return serializeDefineEnv(defineEnv)\n}\n\nexport function getDefineEnvPlugin(options: DefineEnvPluginOptions) {\n return new webpack.DefinePlugin(getDefineEnv(options))\n}\n"],"names":["getDefineEnv","getDefineEnvPlugin","getNextConfigEnv","getNextPublicEnvironmentVariables","errorIfEnvConflicted","config","key","isPrivateKey","test","hasNextRuntimeKey","Error","configFileName","defineEnv","process","env","startsWith","value","serializeDefineEnv","defineEnvStringified","JSON","stringify","getImageConfig","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","nextPublicEnv","nextConfigEnv","isPPREnabled","checkIsAppPPREnabled","experimental","ppr","isDynamicIOEnabled","dynamicIO","isUseCacheEnabled","useCache","__NEXT_DEFINE_ENV","EdgeRuntime","NEXT_EDGE_RUNTIME_PROVIDER","allowDevelopmentBuild","Boolean","appNavFailHandling","devIndicators","appIsrStatus","deploymentId","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","buildActivity","buildActivityPosition","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","undefined","needsExperimentalReact","__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY","newDevOverlay","reactOwnerStack","userDefines","compiler","define","hasOwnProperty","options","webpack","DefinePlugin"],"mappings":"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"}
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_APP_ISR_INDICATOR': Boolean(\n config.devIndicators.appIsrStatus\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 '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_BUILD_INDICATOR':\n config.devIndicators.buildActivity ?? true,\n 'process.env.__NEXT_BUILD_INDICATOR_POSITION':\n config.devIndicators.buildActivityPosition ?? 'bottom-right',\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 ...(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 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY':\n config.experimental.newDevOverlay || false,\n 'process.env.__NEXT_REACT_OWNER_STACK':\n config.experimental.reactOwnerStack ?? false,\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured via the \\`env\\` option.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n return serializeDefineEnv(defineEnv)\n}\n\nexport function getDefineEnvPlugin(options: DefineEnvPluginOptions) {\n return new webpack.DefinePlugin(getDefineEnv(options))\n}\n"],"names":["getDefineEnv","getDefineEnvPlugin","getNextConfigEnv","getNextPublicEnvironmentVariables","errorIfEnvConflicted","config","key","isPrivateKey","test","hasNextRuntimeKey","Error","configFileName","defineEnv","process","env","startsWith","value","serializeDefineEnv","defineEnvStringified","JSON","stringify","getImageConfig","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","nextPublicEnv","nextConfigEnv","isPPREnabled","checkIsAppPPREnabled","experimental","ppr","isDynamicIOEnabled","dynamicIO","isUseCacheEnabled","useCache","__NEXT_DEFINE_ENV","EdgeRuntime","NEXT_EDGE_RUNTIME_PROVIDER","allowDevelopmentBuild","Boolean","appNavFailHandling","devIndicators","appIsrStatus","deploymentId","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","buildActivity","buildActivityPosition","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","undefined","needsExperimentalReact","newDevOverlay","reactOwnerStack","userDefines","compiler","define","hasOwnProperty","options","webpack","DefinePlugin"],"mappings":";;;;;;;;;;;;;;;;;IAiIgBA,YAAY;eAAZA;;IAmLAC,kBAAkB;eAAlBA;;IAxOAC,gBAAgB;eAAhBA;;IAhBAC,iCAAiC;eAAjCA;;;yBAvDQ;wCACe;qBACF;AAErC,SAASC,qBAAqBC,MAA0B,EAAEC,GAAW;IACnE,MAAMC,eAAe,2BAA2BC,IAAI,CAACF;IACrD,MAAMG,oBAAoBH,QAAQ;IAElC,IAAIC,gBAAgBE,mBAAmB;QACrC,MAAM,qBAEL,CAFK,IAAIC,MACR,CAAC,SAAS,EAAEJ,IAAI,iBAAiB,EAAED,OAAOM,cAAc,CAAC,qEAAqE,CAAC,GAD3H,qBAAA;mBAAA;wBAAA;QAEN;IACF;AACF;AA0CO,SAASR;IACd,MAAMS,YAAuB,CAAC;IAC9B,IAAK,MAAMN,OAAOO,QAAQC,GAAG,CAAE;QAC7B,IAAIR,IAAIS,UAAU,CAAC,iBAAiB;YAClC,MAAMC,QAAQH,QAAQC,GAAG,CAACR,IAAI;YAC9B,IAAIU,SAAS,MAAM;gBACjBJ,SAAS,CAAC,CAAC,YAAY,EAAEN,KAAK,CAAC,GAAGU;YACpC;QACF;IACF;IACA,OAAOJ;AACT;AAKO,SAASV,iBAAiBG,MAA0B;IACzD,sCAAsC;IACtC,MAAMO,YAAuB,CAAC;IAC9B,MAAME,MAAMT,OAAOS,GAAG;IACtB,IAAK,MAAMR,OAAOQ,IAAK;QACrB,MAAME,QAAQF,GAAG,CAACR,IAAI;QACtB,IAAIU,SAAS,MAAM;YACjBZ,qBAAqBC,QAAQC;YAC7BM,SAAS,CAAC,CAAC,YAAY,EAAEN,KAAK,CAAC,GAAGU;QACpC;IACF;IACA,OAAOJ;AACT;AAEA;;CAEC,GACD,SAASK,mBAAmBL,SAAoB;IAC9C,MAAMM,uBAA4C,CAAC;IACnD,IAAK,MAAMZ,OAAOM,UAAW;QAC3B,MAAMI,QAAQJ,SAAS,CAACN,IAAI;QAC5BY,oBAAoB,CAACZ,IAAI,GAAGa,KAAKC,SAAS,CAACJ;IAC7C;IAEA,OAAOE;AACT;AAEA,SAASG,eACPhB,MAA0B,EAC1BiB,GAAY;QAUKjB,gBAKSA,iBACDA;IAdzB,OAAO;QACL,iCAAiC;YAC/BkB,aAAalB,OAAOmB,MAAM,CAACD,WAAW;YACtCE,YAAYpB,OAAOmB,MAAM,CAACC,UAAU;YACpCC,WAAWrB,OAAOmB,MAAM,CAACE,SAAS;YAClCC,MAAMtB,OAAOmB,MAAM,CAACG,IAAI;YACxBC,QAAQvB,OAAOmB,MAAM,CAACI,MAAM;YAC5BC,qBAAqBxB,OAAOmB,MAAM,CAACK,mBAAmB;YACtDC,WAAW,EAAEzB,2BAAAA,iBAAAA,OAAQmB,MAAM,qBAAdnB,eAAgByB,WAAW;YACxC,GAAIR,MACA;gBACE,6DAA6D;gBAC7DS,SAAS1B,OAAOmB,MAAM,CAACO,OAAO;gBAC9BC,cAAc,GAAE3B,kBAAAA,OAAOmB,MAAM,qBAAbnB,gBAAe2B,cAAc;gBAC7CC,aAAa,GAAE5B,kBAAAA,OAAOmB,MAAM,qBAAbnB,gBAAe4B,aAAa;gBAC3CC,QAAQ7B,OAAO6B,MAAM;YACvB,IACA,CAAC,CAAC;QACR;IACF;AACF;AAEO,SAASlC,aAAa,EAC3BmC,WAAW,EACXC,mBAAmB,EACnB/B,MAAM,EACNiB,GAAG,EACHe,OAAO,EACPC,mBAAmB,EACnBC,WAAW,EACXC,QAAQ,EACRC,YAAY,EACZC,uBAAuB,EACvBC,YAAY,EACZC,kBAAkB,EACK;QA6DNvC,iCAETA,kCAGSA,kCAETA,kCA+C6BA,cAsCjBA;IAxJpB,MAAMwC,gBAAgB1C;IACtB,MAAM2C,gBAAgB5C,iBAAiBG;IAEvC,MAAM0C,eAAeC,IAAAA,yBAAoB,EAAC3C,OAAO4C,YAAY,CAACC,GAAG;IACjE,MAAMC,qBAAqB,CAAC,CAAC9C,OAAO4C,YAAY,CAACG,SAAS;IAC1D,MAAMC,oBAAoB,CAAC,CAAChD,OAAO4C,YAAY,CAACK,QAAQ;IAExD,MAAM1C,YAAuB;QAC3B,+CAA+C;QAC/C2C,mBAAmB;QAEnB,GAAGV,aAAa;QAChB,GAAGC,aAAa;QAChB,GAAI,CAACL,eACD,CAAC,IACD;YACEe,aACE;;;;aAIC,GACD3C,QAAQC,GAAG,CAAC2C,0BAA0B,IAAI;YAE5C,0DAA0D;YAC1D,sEAAsE;YACtE,gBAAgB;QAClB,CAAC;QACL,qBAAqBtB;QACrB,yBAAyBA;QACzB,6DAA6D;QAC7D,wBACEb,OAAOjB,OAAO4C,YAAY,CAACS,qBAAqB,GAC5C,gBACA;QACN,4BAA4BjB,eACxB,SACAE,eACE,WACA;QACN,4BAA4B;QAC5B,4CAA4CgB,QAC1CtD,OAAO4C,YAAY,CAACW,kBAAkB;QAExC,wCAAwCD,QACtCtD,OAAOwD,aAAa,CAACC,YAAY;QAEnC,0BAA0Bf;QAC1B,iCAAiCI;QACjC,gCAAgCE;QAChC,kCAAkChD,OAAO0D,YAAY,IAAI;QACzD,6CAA6CzB,uBAAuB;QACpE,GAAIH,cACA,CAAC,IACD;YACE,0CAA0CS,sBAAsB,EAAE;QACpE,CAAC;QACL,8CACEvC,OAAO4C,YAAY,CAACe,oBAAoB,IAAI;QAC9C,sDAAsD7C,KAAKC,SAAS,CAClE6C,MAAMC,QAAO7D,kCAAAA,OAAO4C,YAAY,CAACkB,UAAU,qBAA9B9D,gCAAgC+D,OAAO,KAChD,KACA/D,mCAAAA,OAAO4C,YAAY,CAACkB,UAAU,qBAA9B9D,iCAAgC+D,OAAO;QAE7C,qDAAqDjD,KAAKC,SAAS,CACjE6C,MAAMC,QAAO7D,mCAAAA,OAAO4C,YAAY,CAACkB,UAAU,qBAA9B9D,iCAAgCgE,MAAM,KAC/C,IAAI,GAAG,YAAY;YACnBhE,mCAAAA,OAAO4C,YAAY,CAACkB,UAAU,qBAA9B9D,iCAAgCgE,MAAM;QAE5C,mDACEhE,OAAO4C,YAAY,CAACqB,kBAAkB,IAAI;QAC5C,6CACElC,CAAAA,uCAAAA,oBAAqBmC,YAAY,KAAI;QACvC,6CACEnC,CAAAA,uCAAAA,oBAAqBoC,aAAa,KAAI;QACxC,2CAA2Cb,QACzCtD,OAAO4C,YAAY,CAACwB,kBAAkB;QAExC,8CACEpE,OAAO4C,YAAY,CAACyB,qBAAqB,IAAI;QAC/C,0CACErE,OAAO4C,YAAY,CAAC0B,kBAAkB,IAAI;QAC5C,mCAAmCtE,OAAOuE,WAAW;QACrD,mBAAmBpC;QACnB,gCAAgC3B,QAAQC,GAAG,CAAC+D,gBAAgB,IAAI;QAChE,2FAA2F;QAC3F,GAAIvD,OAAQkB,CAAAA,YAAYC,YAAW,IAC/B;YACE,+BAA+BJ;QACjC,IACA,CAAC,CAAC;QACN,qCAAqChC,OAAOyE,aAAa;QACzD,sCACEzE,OAAOwD,aAAa,CAACkB,aAAa,IAAI;QACxC,+CACE1E,OAAOwD,aAAa,CAACmB,qBAAqB,IAAI;QAChD,kCACE3E,OAAO4E,eAAe,KAAK,OAAO,QAAQ5E,OAAO4E,eAAe;QAClE,sCACE,6EAA6E;QAC7E5E,OAAO4E,eAAe,KAAK,OAAO,OAAO5E,OAAO4E,eAAe;QACjE,mCACE,AAAC5E,CAAAA,OAAO4C,YAAY,CAACiC,WAAW,IAAI,CAAC5D,GAAE,KAAM;QAC/C,qCACE,AAACjB,CAAAA,OAAO4C,YAAY,CAACkC,iBAAiB,IAAI,CAAC7D,GAAE,KAAM;QACrD,yCACEjB,OAAO4C,YAAY,CAACmC,iBAAiB,IAAI;QAC3C,GAAG/D,eAAehB,QAAQiB,IAAI;QAC9B,sCAAsCjB,OAAOgF,QAAQ;QACrD,uCACEhF,OAAO4C,YAAY,CAACqC,cAAc,IAAI;QACxC,mCAAmC/C;QACnC,oCAAoClC,OAAO6B,MAAM;QACjD,mCAAmC,CAAC,CAAC7B,OAAOkF,IAAI;QAChD,mCAAmClF,EAAAA,eAAAA,OAAOkF,IAAI,qBAAXlF,aAAa0B,OAAO,KAAI;QAC3D,kDACE1B,OAAOmF,0BAA0B;QACnC,0DACEnF,OAAO4C,YAAY,CAACwC,iCAAiC,IAAI;QAC3D,4CACEpF,OAAOqF,yBAAyB;QAClC,iDACE,AAACrF,CAAAA,OAAO4C,YAAY,CAAC0C,oBAAoB,IACvCtF,OAAO4C,YAAY,CAAC0C,oBAAoB,CAACC,MAAM,GAAG,CAAA,KACpD;QACF,6CACEvF,OAAO4C,YAAY,CAAC0C,oBAAoB,IAAI;QAC9C,0CACEtF,OAAO4C,YAAY,CAAC4C,gBAAgB,IAAI;QAC1C,mCAAmCxF,OAAOyF,WAAW;QACrD,mDACE,CAAC,CAACzF,OAAO4C,YAAY,CAAC8C,cAAc;QACtC,GAAIrD,0BACA;YACE,+DAA+D;YAC/D,2DAA2D;YAC3D,+CAA+C;YAC/C,iBAAiB;QACnB,IACAsD,SAAS;QACb,GAAItD,0BACA;YACE,yCACEuD,IAAAA,8CAAsB,EAAC5F;QAC3B,IACA2F,SAAS;QACb,mDACE3F,OAAO4C,YAAY,CAACiD,aAAa,IAAI;QACvC,wCACE7F,OAAO4C,YAAY,CAACkD,eAAe,IAAI;IAC3C;IAEA,MAAMC,cAAc/F,EAAAA,mBAAAA,OAAOgG,QAAQ,qBAAfhG,iBAAiBiG,MAAM,KAAI,CAAC;IAChD,IAAK,MAAMhG,OAAO8F,YAAa;QAC7B,IAAIxF,UAAU2F,cAAc,CAACjG,MAAM;YACjC,MAAM,qBAEL,CAFK,IAAII,MACR,CAAC,8DAA8D,EAAEJ,IAAI,gHAAgH,CAAC,GADlL,qBAAA;uBAAA;4BAAA;YAEN;QACF;QACAM,SAAS,CAACN,IAAI,GAAG8F,WAAW,CAAC9F,IAAI;IACnC;IAEA,OAAOW,mBAAmBL;AAC5B;AAEO,SAASX,mBAAmBuG,OAA+B;IAChE,OAAO,IAAIC,gBAAO,CAACC,YAAY,CAAC1G,aAAawG;AAC/C"}
@@ -1510,7 +1510,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1510
1510
  isClient && new _copyfileplugin.CopyFilePlugin({
1511
1511
  // file path to build output of `@next/polyfill-nomodule`
1512
1512
  filePath: require.resolve('./polyfills/polyfill-nomodule'),
1513
- cacheKey: "15.2.0-canary.43",
1513
+ cacheKey: "15.2.0-canary.44",
1514
1514
  name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
1515
1515
  minimize: false,
1516
1516
  info: {
@@ -1743,7 +1743,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1743
1743
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1744
1744
  // - Next.js version
1745
1745
  // - next.config.js keys that affect compilation
1746
- version: `${__dirname}|${"15.2.0-canary.43"}|${configVars}`,
1746
+ version: `${__dirname}|${"15.2.0-canary.44"}|${configVars}`,
1747
1747
  cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
1748
1748
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1749
1749
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "appBootstrap", {
13
13
  return appBootstrap;
14
14
  }
15
15
  });
16
- const version = "15.2.0-canary.43";
16
+ const version = "15.2.0-canary.44";
17
17
  window.next = {
18
18
  version,
19
19
  appDir: true
@@ -62,7 +62,7 @@ const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-err
62
62
  const _tracer = /*#__PURE__*/ _interop_require_default._(require("./tracing/tracer"));
63
63
  const _reporttosocket = /*#__PURE__*/ _interop_require_default._(require("./tracing/report-to-socket"));
64
64
  const _isnextroutererror = require("./components/is-next-router-error");
65
- const version = "15.2.0-canary.43";
65
+ const version = "15.2.0-canary.44";
66
66
  let router;
67
67
  const emitter = (0, _mitt.default)();
68
68
  const looseToArray = (input)=>[].slice.call(input);
@@ -289,7 +289,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
289
289
  const nextBuildSpan = trace('next-build', undefined, {
290
290
  buildMode: experimentalBuildMode,
291
291
  isTurboBuild: String(turboNextBuild),
292
- version: "15.2.0-canary.43"
292
+ version: "15.2.0-canary.44"
293
293
  });
294
294
  NextBuildContext.nextBuildSpan = nextBuildSpan;
295
295
  NextBuildContext.dir = dir;
@@ -654,7 +654,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
654
654
  // Files outside of the distDir can be "type": "module"
655
655
  await writeFileUtf8(path.join(distDir, 'package.json'), '{"type": "commonjs"}');
656
656
  // These are written to distDir, so they need to come after creating and cleaning distDr.
657
- await recordFrameworkVersion("15.2.0-canary.43");
657
+ await recordFrameworkVersion("15.2.0-canary.44");
658
658
  await updateBuildDiagnostics({
659
659
  buildStage: 'start'
660
660
  });
@@ -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.2.0-canary.43";
14
+ const nextVersion = "15.2.0-canary.44";
15
15
  const ArchName = arch();
16
16
  const PlatformName = platform();
17
17
  function infoLog(...args) {
@@ -159,9 +159,7 @@ export function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, di
159
159
  ...isNodeOrEdgeCompilation ? {
160
160
  'process.env.__NEXT_EXPERIMENTAL_REACT': needsExperimentalReact(config)
161
161
  } : undefined,
162
- 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY': // When `__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY` is set on CI,
163
- // we need to pass it here so it can be enabled.
164
- process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY === 'true' || config.experimental.newDevOverlay || false,
162
+ 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY': config.experimental.newDevOverlay || false,
165
163
  'process.env.__NEXT_REACT_OWNER_STACK': config.experimental.reactOwnerStack ?? false
166
164
  };
167
165
  const userDefines = ((_config_compiler = config.compiler) == null ? void 0 : _config_compiler.define) ?? {};
@@ -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_APP_ISR_INDICATOR': Boolean(\n config.devIndicators.appIsrStatus\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 '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_BUILD_INDICATOR':\n config.devIndicators.buildActivity ?? true,\n 'process.env.__NEXT_BUILD_INDICATOR_POSITION':\n config.devIndicators.buildActivityPosition ?? 'bottom-right',\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 ...(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 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY':\n // When `__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY` is set on CI,\n // we need to pass it here so it can be enabled.\n process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY === 'true' ||\n config.experimental.newDevOverlay ||\n false,\n 'process.env.__NEXT_REACT_OWNER_STACK':\n config.experimental.reactOwnerStack ?? false,\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","devIndicators","appIsrStatus","deploymentId","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","buildActivity","buildActivityPosition","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","undefined","__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY","newDevOverlay","reactOwnerStack","userDefines","compiler","define","hasOwnProperty","getDefineEnvPlugin","options","DefinePlugin"],"mappings":"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"}
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_APP_ISR_INDICATOR': Boolean(\n config.devIndicators.appIsrStatus\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 '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_BUILD_INDICATOR':\n config.devIndicators.buildActivity ?? true,\n 'process.env.__NEXT_BUILD_INDICATOR_POSITION':\n config.devIndicators.buildActivityPosition ?? 'bottom-right',\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 ...(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 'process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY':\n config.experimental.newDevOverlay || false,\n 'process.env.__NEXT_REACT_OWNER_STACK':\n config.experimental.reactOwnerStack ?? false,\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","devIndicators","appIsrStatus","deploymentId","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","buildActivity","buildActivityPosition","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","undefined","newDevOverlay","reactOwnerStack","userDefines","compiler","define","hasOwnProperty","getDefineEnvPlugin","options","DefinePlugin"],"mappings":"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"}
@@ -1411,7 +1411,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
1411
1411
  isClient && new CopyFilePlugin({
1412
1412
  // file path to build output of `@next/polyfill-nomodule`
1413
1413
  filePath: require.resolve('./polyfills/polyfill-nomodule'),
1414
- cacheKey: "15.2.0-canary.43",
1414
+ cacheKey: "15.2.0-canary.44",
1415
1415
  name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
1416
1416
  minimize: false,
1417
1417
  info: {
@@ -1644,7 +1644,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
1644
1644
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1645
1645
  // - Next.js version
1646
1646
  // - next.config.js keys that affect compilation
1647
- version: `${__dirname}|${"15.2.0-canary.43"}|${configVars}`,
1647
+ version: `${__dirname}|${"15.2.0-canary.44"}|${configVars}`,
1648
1648
  cacheDirectory: path.join(distDir, 'cache', 'webpack'),
1649
1649
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1650
1650
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
@@ -3,7 +3,7 @@
3
3
  * sure the following scripts are executed in the correct order:
4
4
  * - Polyfills
5
5
  * - next/script with `beforeInteractive` strategy
6
- */ const version = "15.2.0-canary.43";
6
+ */ const version = "15.2.0-canary.44";
7
7
  window.next = {
8
8
  version,
9
9
  appDir: true
@@ -27,7 +27,7 @@ import { onRecoverableError } from './react-client-callbacks/on-recoverable-erro
27
27
  import tracer from './tracing/tracer';
28
28
  import reportToSocket from './tracing/report-to-socket';
29
29
  import { isNextRouterError } from './components/is-next-router-error';
30
- export const version = "15.2.0-canary.43";
30
+ export const version = "15.2.0-canary.44";
31
31
  export let router;
32
32
  export const emitter = mitt();
33
33
  const looseToArray = (input)=>[].slice.call(input);
@@ -82,7 +82,7 @@ function warnCustomizedOption(config, key, defaultValue, customMessage, configFi
82
82
  }
83
83
  }
84
84
  function assignDefaults(dir, userConfig, silent) {
85
- var _defaultConfig_experimental, _result_experimental, _process_env___NEXT_VERSION, _result_experimental1, _result_experimental_serverActions, _result_experimental2, _result_experimental_turbo, _result_experimental3, _result_experimental_turbo1, _result_experimental4, _result_experimental_turbo2, _result_experimental5, _result_devIndicators, _result_experimental6, _result_experimental7;
85
+ var _defaultConfig_experimental, _result_experimental, _process_env___NEXT_VERSION, _result_experimental_serverActions, _result_experimental1, _result_experimental_turbo, _result_experimental2, _result_experimental_turbo1, _result_experimental3, _result_experimental_turbo2, _result_experimental4, _result_devIndicators, _result_experimental5, _result_experimental6;
86
86
  const configFileName = userConfig.configFileName;
87
87
  if (typeof userConfig.exportTrailingSlash !== 'undefined') {
88
88
  if (!silent) {
@@ -177,20 +177,20 @@ function assignDefaults(dir, userConfig, silent) {
177
177
  enumerable: false
178
178
  });
179
179
  }
180
- if (!((_process_env___NEXT_VERSION = "15.2.0-canary.43") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV) {
181
- var _result_experimental8, _result_experimental9, _result_experimental_turbo3, _result_experimental10;
180
+ if (!((_process_env___NEXT_VERSION = "15.2.0-canary.44") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV) {
181
+ var _result_experimental7, _result_experimental8, _result_experimental_turbo3, _result_experimental9;
182
182
  // Prevents usage of certain experimental features outside of canary
183
- if ((_result_experimental8 = result.experimental) == null ? void 0 : _result_experimental8.ppr) {
183
+ if ((_result_experimental7 = result.experimental) == null ? void 0 : _result_experimental7.ppr) {
184
184
  throw Object.defineProperty(new CanaryOnlyError('experimental.ppr'), "__NEXT_ERROR_CODE", {
185
185
  value: "E544",
186
186
  enumerable: false
187
187
  });
188
- } else if ((_result_experimental9 = result.experimental) == null ? void 0 : _result_experimental9.dynamicIO) {
188
+ } else if ((_result_experimental8 = result.experimental) == null ? void 0 : _result_experimental8.dynamicIO) {
189
189
  throw Object.defineProperty(new CanaryOnlyError('experimental.dynamicIO'), "__NEXT_ERROR_CODE", {
190
190
  value: "E607",
191
191
  enumerable: false
192
192
  });
193
- } else if ((_result_experimental10 = result.experimental) == null ? void 0 : (_result_experimental_turbo3 = _result_experimental10.turbo) == null ? void 0 : _result_experimental_turbo3.unstablePersistentCaching) {
193
+ } else if ((_result_experimental9 = result.experimental) == null ? void 0 : (_result_experimental_turbo3 = _result_experimental9.turbo) == null ? void 0 : _result_experimental_turbo3.unstablePersistentCaching) {
194
194
  throw Object.defineProperty(new CanaryOnlyError('experimental.turbo.unstablePersistentCaching'), "__NEXT_ERROR_CODE", {
195
195
  value: "E551",
196
196
  enumerable: false
@@ -354,12 +354,6 @@ function assignDefaults(dir, userConfig, silent) {
354
354
  images.loaderFile = absolutePath;
355
355
  }
356
356
  }
357
- // TODO(jiwon): remove once we've made new UI default
358
- // Enable reactOwnerStack when newDevOverlay is enabled to have
359
- // better call stack output in the new UI.
360
- if ((_result_experimental1 = result.experimental) == null ? void 0 : _result_experimental1.newDevOverlay) {
361
- result.experimental.reactOwnerStack = true;
362
- }
363
357
  warnCustomizedOption(result, 'experimental.esmExternals', true, 'experimental.esmExternals is not recommended to be modified as it may disrupt module resolution', configFileName, silent);
364
358
  warnOptionHasBeenDeprecated(result, 'experimental.instrumentationHook', `\`experimental.instrumentationHook\` is no longer needed, because \`instrumentation.js\` is available by default. You can remove it from ${configFileName}.`, silent);
365
359
  warnOptionHasBeenDeprecated(result, 'experimental.after', `\`experimental.after\` is no longer needed, because \`after\` is available by default. You can remove it from ${configFileName}.`, silent);
@@ -380,7 +374,7 @@ function assignDefaults(dir, userConfig, silent) {
380
374
  }
381
375
  result.output = 'standalone';
382
376
  }
383
- if (typeof ((_result_experimental2 = result.experimental) == null ? void 0 : (_result_experimental_serverActions = _result_experimental2.serverActions) == null ? void 0 : _result_experimental_serverActions.bodySizeLimit) !== 'undefined') {
377
+ if (typeof ((_result_experimental1 = result.experimental) == null ? void 0 : (_result_experimental_serverActions = _result_experimental1.serverActions) == null ? void 0 : _result_experimental_serverActions.bodySizeLimit) !== 'undefined') {
384
378
  var _result_experimental_serverActions1;
385
379
  const value = parseInt((_result_experimental_serverActions1 = result.experimental.serverActions) == null ? void 0 : _result_experimental_serverActions1.bodySizeLimit.toString());
386
380
  if (isNaN(value) || value < 1) {
@@ -399,7 +393,7 @@ function assignDefaults(dir, userConfig, silent) {
399
393
  Log.warn(`outputFileTracingRoot should be absolute, using: ${result.outputFileTracingRoot}`);
400
394
  }
401
395
  }
402
- if ((result == null ? void 0 : (_result_experimental3 = result.experimental) == null ? void 0 : (_result_experimental_turbo = _result_experimental3.turbo) == null ? void 0 : _result_experimental_turbo.root) && !isAbsolute(result.experimental.turbo.root)) {
396
+ if ((result == null ? void 0 : (_result_experimental2 = result.experimental) == null ? void 0 : (_result_experimental_turbo = _result_experimental2.turbo) == null ? void 0 : _result_experimental_turbo.root) && !isAbsolute(result.experimental.turbo.root)) {
403
397
  result.experimental.turbo.root = resolve(result.experimental.turbo.root);
404
398
  if (!silent) {
405
399
  Log.warn(`experimental.turbo.root should be absolute, using: ${result.experimental.turbo.root}`);
@@ -409,7 +403,7 @@ function assignDefaults(dir, userConfig, silent) {
409
403
  if (process.env.NEXT_DEPLOYMENT_ID) {
410
404
  result.deploymentId = process.env.NEXT_DEPLOYMENT_ID;
411
405
  }
412
- if ((result == null ? void 0 : result.outputFileTracingRoot) && !(result == null ? void 0 : (_result_experimental4 = result.experimental) == null ? void 0 : (_result_experimental_turbo1 = _result_experimental4.turbo) == null ? void 0 : _result_experimental_turbo1.root)) {
406
+ if ((result == null ? void 0 : result.outputFileTracingRoot) && !(result == null ? void 0 : (_result_experimental3 = result.experimental) == null ? void 0 : (_result_experimental_turbo1 = _result_experimental3.turbo) == null ? void 0 : _result_experimental_turbo1.root)) {
413
407
  dset(result, [
414
408
  'experimental',
415
409
  'turbo',
@@ -417,15 +411,15 @@ function assignDefaults(dir, userConfig, silent) {
417
411
  ], result.outputFileTracingRoot);
418
412
  }
419
413
  // use the closest lockfile as tracing root
420
- if (!(result == null ? void 0 : result.outputFileTracingRoot) || !(result == null ? void 0 : (_result_experimental5 = result.experimental) == null ? void 0 : (_result_experimental_turbo2 = _result_experimental5.turbo) == null ? void 0 : _result_experimental_turbo2.root)) {
414
+ if (!(result == null ? void 0 : result.outputFileTracingRoot) || !(result == null ? void 0 : (_result_experimental4 = result.experimental) == null ? void 0 : (_result_experimental_turbo2 = _result_experimental4.turbo) == null ? void 0 : _result_experimental_turbo2.root)) {
421
415
  let rootDir = findRootDir(dir);
422
416
  if (rootDir) {
423
- var _result_experimental_turbo4, _result_experimental11;
417
+ var _result_experimental_turbo4, _result_experimental10;
424
418
  if (!(result == null ? void 0 : result.outputFileTracingRoot)) {
425
419
  result.outputFileTracingRoot = rootDir;
426
420
  defaultConfig.outputFileTracingRoot = result.outputFileTracingRoot;
427
421
  }
428
- if (!(result == null ? void 0 : (_result_experimental11 = result.experimental) == null ? void 0 : (_result_experimental_turbo4 = _result_experimental11.turbo) == null ? void 0 : _result_experimental_turbo4.root)) {
422
+ if (!(result == null ? void 0 : (_result_experimental10 = result.experimental) == null ? void 0 : (_result_experimental_turbo4 = _result_experimental10.turbo) == null ? void 0 : _result_experimental_turbo4.root)) {
429
423
  dset(result, [
430
424
  'experimental',
431
425
  'turbo',
@@ -612,7 +606,7 @@ function assignDefaults(dir, userConfig, silent) {
612
606
  secondsCacheLifeProfile.stale = dynamicStaleTime ?? ((_defaultConfig_experimental5 = defaultConfig.experimental) == null ? void 0 : (_defaultConfig_experimental_staleTimes2 = _defaultConfig_experimental5.staleTimes) == null ? void 0 : _defaultConfig_experimental_staleTimes2.dynamic);
613
607
  }
614
608
  }
615
- if ((_result_experimental6 = result.experimental) == null ? void 0 : _result_experimental6.cacheHandlers) {
609
+ if ((_result_experimental5 = result.experimental) == null ? void 0 : _result_experimental5.cacheHandlers) {
616
610
  const allowedHandlerNameRegex = /[a-z-]/;
617
611
  if (typeof result.experimental.cacheHandlers !== 'object') {
618
612
  throw Object.defineProperty(new Error(`Invalid "experimental.cacheHandlers" provided, expected an object e.g. { default: '/my-handler.js' }, received ${JSON.stringify(result.experimental.cacheHandlers)}`), "__NEXT_ERROR_CODE", {
@@ -658,10 +652,19 @@ function assignDefaults(dir, userConfig, silent) {
658
652
  transform: 'lodash/{{member}}'
659
653
  }
660
654
  };
661
- const userProvidedOptimizePackageImports = ((_result_experimental7 = result.experimental) == null ? void 0 : _result_experimental7.optimizePackageImports) || [];
655
+ const userProvidedOptimizePackageImports = ((_result_experimental6 = result.experimental) == null ? void 0 : _result_experimental6.optimizePackageImports) || [];
662
656
  if (!result.experimental) {
663
657
  result.experimental = {};
664
658
  }
659
+ // TODO(jiwon): remove once we've made new UI default
660
+ // Enable reactOwnerStack when newDevOverlay is enabled to have
661
+ // better call stack output in the new UI.
662
+ if (process.env.__NEXT_EXPERIMENTAL_NEW_DEV_OVERLAY === 'true') {
663
+ result.experimental.newDevOverlay = true;
664
+ }
665
+ if (result.experimental.newDevOverlay) {
666
+ result.experimental.reactOwnerStack = true;
667
+ }
665
668
  result.experimental.optimizePackageImports = [
666
669
  ...new Set([
667
670
  ...userProvidedOptimizePackageImports,