next 15.3.0-canary.5 → 15.3.0-canary.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/bin/next +3 -2
  2. package/dist/bin/next.map +1 -1
  3. package/dist/build/collect-build-traces.js +1 -1
  4. package/dist/build/collect-build-traces.js.map +1 -1
  5. package/dist/build/create-compiler-aliases.js +9 -0
  6. package/dist/build/create-compiler-aliases.js.map +1 -1
  7. package/dist/build/index.d.ts +1 -1
  8. package/dist/build/index.js +24 -11
  9. package/dist/build/index.js.map +1 -1
  10. package/dist/build/swc/index.js +1 -1
  11. package/dist/build/webpack/plugins/define-env-plugin.js +1 -0
  12. package/dist/build/webpack/plugins/define-env-plugin.js.map +1 -1
  13. package/dist/build/webpack-config.js +4 -6
  14. package/dist/build/webpack-config.js.map +1 -1
  15. package/dist/cli/next-build.d.ts +1 -1
  16. package/dist/cli/next-build.js.map +1 -1
  17. package/dist/client/app-bootstrap.js +1 -1
  18. package/dist/client/app-index.js +1 -0
  19. package/dist/client/app-index.js.map +1 -1
  20. package/dist/client/app-next-dev.d.ts +1 -0
  21. package/dist/client/app-next-dev.js +1 -0
  22. package/dist/client/app-next-dev.js.map +1 -1
  23. package/dist/client/app-next-turbopack.d.ts +1 -1
  24. package/dist/client/app-next-turbopack.js +1 -0
  25. package/dist/client/app-next-turbopack.js.map +1 -1
  26. package/dist/client/app-next.d.ts +1 -0
  27. package/dist/client/app-next.js +1 -0
  28. package/dist/client/app-next.js.map +1 -1
  29. package/dist/client/components/react-dev-overlay/ui/components/code-frame/code-frame.d.ts +1 -1
  30. package/dist/client/components/react-dev-overlay/ui/components/code-frame/code-frame.js +30 -36
  31. package/dist/client/components/react-dev-overlay/ui/components/code-frame/code-frame.js.map +1 -1
  32. package/dist/client/components/react-dev-overlay/ui/components/code-frame/parse-code-frame.d.ts +8 -0
  33. package/dist/client/components/react-dev-overlay/ui/components/code-frame/parse-code-frame.js +90 -0
  34. package/dist/client/components/react-dev-overlay/ui/components/code-frame/parse-code-frame.js.map +1 -0
  35. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js +2 -2
  36. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js.map +1 -1
  37. package/dist/client/components/react-dev-overlay/ui/container/runtime-error/component-stack-pseudo-html.d.ts +1 -1
  38. package/dist/client/components/react-dev-overlay/ui/container/runtime-error/component-stack-pseudo-html.js +1 -1
  39. package/dist/client/components/react-dev-overlay/ui/container/runtime-error/component-stack-pseudo-html.js.map +1 -1
  40. package/dist/client/components/react-dev-overlay/ui/container/runtime-error/index.d.ts +1 -1
  41. package/dist/client/index.d.ts +1 -0
  42. package/dist/client/index.js +2 -1
  43. package/dist/client/index.js.map +1 -1
  44. package/dist/client/next-turbopack.d.ts +1 -1
  45. package/dist/client/next-turbopack.js +1 -1
  46. package/dist/client/next-turbopack.js.map +1 -1
  47. package/dist/client/next.d.ts +1 -0
  48. package/dist/client/next.js +1 -0
  49. package/dist/client/next.js.map +1 -1
  50. package/dist/client/page-bootstrap.d.ts +1 -0
  51. package/dist/client/page-bootstrap.js +1 -0
  52. package/dist/client/page-bootstrap.js.map +1 -1
  53. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +3 -3
  54. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
  55. package/dist/compiled/next-server/app-page.runtime.dev.js +3 -3
  56. package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
  57. package/dist/compiled/next-server/server.runtime.prod.js +4 -4
  58. package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
  59. package/dist/esm/build/collect-build-traces.js +1 -1
  60. package/dist/esm/build/collect-build-traces.js.map +1 -1
  61. package/dist/esm/build/create-compiler-aliases.js +9 -0
  62. package/dist/esm/build/create-compiler-aliases.js.map +1 -1
  63. package/dist/esm/build/index.js +24 -11
  64. package/dist/esm/build/index.js.map +1 -1
  65. package/dist/esm/build/swc/index.js +1 -1
  66. package/dist/esm/build/webpack/plugins/define-env-plugin.js +1 -0
  67. package/dist/esm/build/webpack/plugins/define-env-plugin.js.map +1 -1
  68. package/dist/esm/build/webpack-config.js +5 -7
  69. package/dist/esm/build/webpack-config.js.map +1 -1
  70. package/dist/esm/client/app-bootstrap.js +1 -1
  71. package/dist/esm/client/app-index.js +1 -0
  72. package/dist/esm/client/app-index.js.map +1 -1
  73. package/dist/esm/client/app-next-dev.js +1 -0
  74. package/dist/esm/client/app-next-dev.js.map +1 -1
  75. package/dist/esm/client/app-next-turbopack.js +1 -0
  76. package/dist/esm/client/app-next-turbopack.js.map +1 -1
  77. package/dist/esm/client/app-next.js +1 -0
  78. package/dist/esm/client/app-next.js.map +1 -1
  79. package/dist/esm/client/components/react-dev-overlay/ui/components/code-frame/code-frame.js +30 -35
  80. package/dist/esm/client/components/react-dev-overlay/ui/components/code-frame/code-frame.js.map +1 -1
  81. package/dist/esm/client/components/react-dev-overlay/ui/components/code-frame/parse-code-frame.js +58 -0
  82. package/dist/esm/client/components/react-dev-overlay/ui/components/code-frame/parse-code-frame.js.map +1 -0
  83. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js +2 -2
  84. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/dev-tools-info/user-preferences.js.map +1 -1
  85. package/dist/esm/client/components/react-dev-overlay/ui/container/runtime-error/component-stack-pseudo-html.js +1 -1
  86. package/dist/esm/client/components/react-dev-overlay/ui/container/runtime-error/component-stack-pseudo-html.js.map +1 -1
  87. package/dist/esm/client/index.js +2 -1
  88. package/dist/esm/client/index.js.map +1 -1
  89. package/dist/esm/client/next-turbopack.js +1 -0
  90. package/dist/esm/client/next-turbopack.js.map +1 -1
  91. package/dist/esm/client/next.js +1 -0
  92. package/dist/esm/client/next.js.map +1 -1
  93. package/dist/esm/client/page-bootstrap.js +1 -0
  94. package/dist/esm/client/page-bootstrap.js.map +1 -1
  95. package/dist/esm/lib/require-instrumentation-client.js +10 -0
  96. package/dist/esm/lib/require-instrumentation-client.js.map +1 -0
  97. package/dist/esm/server/base-server.js +2 -1
  98. package/dist/esm/server/base-server.js.map +1 -1
  99. package/dist/esm/server/config-schema.js +2 -2
  100. package/dist/esm/server/config-schema.js.map +1 -1
  101. package/dist/esm/server/config-shared.js +0 -1
  102. package/dist/esm/server/config-shared.js.map +1 -1
  103. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  104. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  105. package/dist/esm/server/lib/app-info-log.js +1 -1
  106. package/dist/esm/server/lib/decode-query-path-parameter.js +16 -0
  107. package/dist/esm/server/lib/decode-query-path-parameter.js.map +1 -0
  108. package/dist/esm/server/lib/start-server.js +1 -1
  109. package/dist/esm/server/typescript/index.js +7 -4
  110. package/dist/esm/server/typescript/index.js.map +1 -1
  111. package/dist/esm/shared/lib/canary-only.js +1 -1
  112. package/dist/lib/require-instrumentation-client.d.ts +6 -0
  113. package/dist/lib/require-instrumentation-client.js +11 -0
  114. package/dist/lib/require-instrumentation-client.js.map +1 -0
  115. package/dist/server/base-server.js +2 -1
  116. package/dist/server/base-server.js.map +1 -1
  117. package/dist/server/config-schema.js +2 -2
  118. package/dist/server/config-schema.js.map +1 -1
  119. package/dist/server/config-shared.d.ts +8 -1
  120. package/dist/server/config-shared.js +0 -1
  121. package/dist/server/config-shared.js.map +1 -1
  122. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  123. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  124. package/dist/server/lib/app-info-log.js +1 -1
  125. package/dist/server/lib/decode-query-path-parameter.d.ts +7 -0
  126. package/dist/server/lib/decode-query-path-parameter.js +26 -0
  127. package/dist/server/lib/decode-query-path-parameter.js.map +1 -0
  128. package/dist/server/lib/start-server.js +1 -1
  129. package/dist/server/typescript/index.js +7 -4
  130. package/dist/server/typescript/index.js.map +1 -1
  131. package/dist/shared/lib/canary-only.js +1 -1
  132. package/dist/telemetry/anonymous-meta.js +1 -1
  133. package/dist/telemetry/events/session-stopped.js +2 -2
  134. package/dist/telemetry/events/version.js +2 -2
  135. package/package.json +15 -15
@@ -11,7 +11,7 @@ import { isDeepStrictEqual } from 'util';
11
11
  import { getDefineEnv } from '../webpack/plugins/define-env-plugin';
12
12
  import { getReactCompilerLoader } from '../get-babel-loader-config';
13
13
  import { TurbopackInternalError } from '../../shared/lib/turbopack/utils';
14
- const nextVersion = "15.3.0-canary.5";
14
+ const nextVersion = "15.3.0-canary.8";
15
15
  const ArchName = arch();
16
16
  const PlatformName = platform();
17
17
  function infoLog(...args) {
@@ -116,6 +116,7 @@ export function getDefineEnv({ isTurbopack, clientRouterFilters, config, dev, di
116
116
  'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,
117
117
  'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS': !!config.experimental.authInterrupts,
118
118
  'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(process.env.NEXT_TELEMETRY_DISABLED),
119
+ 'process.env.__NEXT_EXPERIMENTAL_CLIENT_INSTRUMENTATION_HOOK': Boolean(config.experimental.clientInstrumentationHook),
119
120
  ...isNodeOrEdgeCompilation ? {
120
121
  // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)
121
122
  // This is typically found in unmaintained modules from the
@@ -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'\nimport {\n getNextConfigEnv,\n getNextPublicEnvironmentVariables,\n} from '../../../lib/static-env'\n\ntype BloomFilter = ReturnType<\n import('../../../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvPluginOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeOrEdgeCompilation: boolean\n isNodeServer: boolean\n middlewareMatchers: MiddlewareMatcher[] | undefined\n omitNonDeterministic?: boolean\n}\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | MiddlewareMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = {}\n for (const key in defineEnv) {\n const value = defineEnv[key]\n defineEnvStringified[key] = JSON.stringify(value)\n }\n\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeOrEdgeCompilation,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n}: DefineEnvPluginOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isDynamicIOEnabled = !!config.experimental.dynamicIO\n const isUseCacheEnabled = !!config.experimental.useCache\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_DYNAMIC_IO': isDynamicIOEnabled,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_SEGMENT_CACHE': Boolean(\n config.experimental.clientSegmentCache\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.middlewarePrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : config.devIndicators.position ?? 'bottom-left',\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_STRICT_NEXT_HEAD':\n config.experimental.strictNextHead ?? true,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipMiddlewareUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalMiddlewareRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n ...(isNodeOrEdgeCompilation\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeOrEdgeCompilation\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured via the \\`env\\` option.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n const serializedDefineEnv = serializeDefineEnv(defineEnv)\n\n // we delay inlining these values until after the build\n // with flying shuttle enabled so we can update them\n // without invalidating entries\n if (!dev && omitNonDeterministic) {\n // client uses window. instead of leaving process.env\n // in case process isn't polyfilled on client already\n // since by this point it won't be added by webpack\n const safeKey = (key: string) =>\n isClient ? `window.${key.split('.').pop()}` : key\n\n for (const key in nextPublicEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key in nextConfigEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n\n return serializedDefineEnv\n}\n\nexport function getDefineEnvPlugin(options: DefineEnvPluginOptions) {\n return new webpack.DefinePlugin(getDefineEnv(options))\n}\n"],"names":["webpack","needsExperimentalReact","checkIsAppPPREnabled","getNextConfigEnv","getNextPublicEnvironmentVariables","serializeDefineEnv","defineEnv","defineEnvStringified","key","value","JSON","stringify","getImageConfig","config","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","getDefineEnv","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","omitNonDeterministic","nextPublicEnv","nextConfigEnv","isPPREnabled","experimental","ppr","isDynamicIOEnabled","dynamicIO","isUseCacheEnabled","useCache","__NEXT_DEFINE_ENV","EdgeRuntime","process","env","NEXT_EDGE_RUNTIME_PROVIDER","allowDevelopmentBuild","Boolean","appNavFailHandling","deploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","userDefines","compiler","define","hasOwnProperty","Error","serializedDefineEnv","safeKey","split","pop","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'\nimport {\n getNextConfigEnv,\n getNextPublicEnvironmentVariables,\n} from '../../../lib/static-env'\n\ntype BloomFilter = ReturnType<\n import('../../../shared/lib/bloom-filter').BloomFilter['export']\n>\n\nexport interface DefineEnvPluginOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeOrEdgeCompilation: boolean\n isNodeServer: boolean\n middlewareMatchers: MiddlewareMatcher[] | undefined\n omitNonDeterministic?: boolean\n}\n\ninterface DefineEnv {\n [key: string]:\n | string\n | string[]\n | boolean\n | MiddlewareMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n}\n\ninterface SerializedDefineEnv {\n [key: string]: string\n}\n\n/**\n * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.\n */\nfunction serializeDefineEnv(defineEnv: DefineEnv): SerializedDefineEnv {\n const defineEnvStringified: SerializedDefineEnv = {}\n for (const key in defineEnv) {\n const value = defineEnv[key]\n defineEnvStringified[key] = JSON.stringify(value)\n }\n\n return defineEnvStringified\n}\n\nfunction getImageConfig(\n config: NextConfigComplete,\n dev: boolean\n): { 'process.env.__NEXT_IMAGE_OPTS': Partial<NextConfigComplete['images']> } {\n return {\n 'process.env.__NEXT_IMAGE_OPTS': {\n deviceSizes: config.images.deviceSizes,\n imageSizes: config.images.imageSizes,\n qualities: config.images.qualities,\n path: config.images.path,\n loader: config.images.loader,\n dangerouslyAllowSVG: config.images.dangerouslyAllowSVG,\n unoptimized: config?.images?.unoptimized,\n ...(dev\n ? {\n // additional config in dev to allow validating on the client\n domains: config.images.domains,\n remotePatterns: config.images?.remotePatterns,\n localPatterns: config.images?.localPatterns,\n output: config.output,\n }\n : {}),\n },\n }\n}\n\nexport function getDefineEnv({\n isTurbopack,\n clientRouterFilters,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeOrEdgeCompilation,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n}: DefineEnvPluginOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isDynamicIOEnabled = !!config.experimental.dynamicIO\n const isUseCacheEnabled = !!config.experimental.useCache\n\n const defineEnv: DefineEnv = {\n // internal field to identify the plugin config\n __NEXT_DEFINE_ENV: true,\n\n ...nextPublicEnv,\n ...nextConfigEnv,\n ...(!isEdgeServer\n ? {}\n : {\n EdgeRuntime:\n /**\n * Cloud providers can set this environment variable to allow users\n * and library authors to have different implementations based on\n * the runtime they are running with, if it's not using `edge-runtime`\n */\n process.env.NEXT_EDGE_RUNTIME_PROVIDER ?? 'edge-runtime',\n\n // process should be only { env: {...} } for edge runtime.\n // For ignore avoid warn on `process.emit` usage but directly omit it.\n 'process.emit': false,\n }),\n 'process.turbopack': isTurbopack,\n 'process.env.TURBOPACK': isTurbopack,\n // TODO: enforce `NODE_ENV` on `process.env`, and add a test:\n 'process.env.NODE_ENV':\n dev || config.experimental.allowDevelopmentBuild\n ? 'development'\n : 'production',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_DYNAMIC_IO': isDynamicIOEnabled,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment\n // variable to the client.\n 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING':\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING || false,\n 'process.env.__NEXT_FETCH_CACHE_KEY_PREFIX': fetchCacheKeyPrefix ?? '',\n ...(isTurbopack\n ? {}\n : {\n 'process.env.__NEXT_MIDDLEWARE_MATCHERS': middlewareMatchers ?? [],\n }),\n 'process.env.__NEXT_MANUAL_CLIENT_BASE_PATH':\n config.experimental.manualClientBasePath ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.dynamic))\n ? 0\n : config.experimental.staleTimes?.dynamic\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME': JSON.stringify(\n isNaN(Number(config.experimental.staleTimes?.static))\n ? 5 * 60 // 5 minutes\n : config.experimental.staleTimes?.static\n ),\n 'process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED':\n config.experimental.clientRouterFilter ?? true,\n 'process.env.__NEXT_CLIENT_ROUTER_S_FILTER':\n clientRouterFilters?.staticFilter ?? false,\n 'process.env.__NEXT_CLIENT_ROUTER_D_FILTER':\n clientRouterFilters?.dynamicFilter ?? false,\n 'process.env.__NEXT_CLIENT_SEGMENT_CACHE': Boolean(\n config.experimental.clientSegmentCache\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.middlewarePrefetch ?? 'flexible',\n 'process.env.__NEXT_CROSS_ORIGIN': config.crossOrigin,\n 'process.browser': isClient,\n 'process.env.__NEXT_TEST_MODE': process.env.__NEXT_TEST_MODE ?? false,\n // This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory\n ...(dev && (isClient ?? isEdgeServer)\n ? {\n 'process.env.__NEXT_DIST_DIR': distDir,\n }\n : {}),\n 'process.env.__NEXT_TRAILING_SLASH': config.trailingSlash,\n 'process.env.__NEXT_DEV_INDICATOR': config.devIndicators !== false,\n 'process.env.__NEXT_DEV_INDICATOR_POSITION':\n config.devIndicators === false\n ? 'bottom-left' // This will not be used as the indicator is disabled.\n : config.devIndicators.position ?? 'bottom-left',\n 'process.env.__NEXT_STRICT_MODE':\n config.reactStrictMode === null ? false : config.reactStrictMode,\n 'process.env.__NEXT_STRICT_MODE_APP':\n // When next.config.js does not have reactStrictMode it's enabled by default.\n config.reactStrictMode === null ? true : config.reactStrictMode,\n 'process.env.__NEXT_OPTIMIZE_CSS':\n (config.experimental.optimizeCss && !dev) ?? false,\n 'process.env.__NEXT_SCRIPT_WORKERS':\n (config.experimental.nextScriptWorkers && !dev) ?? false,\n 'process.env.__NEXT_SCROLL_RESTORATION':\n config.experimental.scrollRestoration ?? false,\n ...getImageConfig(config, dev),\n 'process.env.__NEXT_ROUTER_BASEPATH': config.basePath,\n 'process.env.__NEXT_STRICT_NEXT_HEAD':\n config.experimental.strictNextHead ?? true,\n 'process.env.__NEXT_HAS_REWRITES': hasRewrites,\n 'process.env.__NEXT_CONFIG_OUTPUT': config.output,\n 'process.env.__NEXT_I18N_SUPPORT': !!config.i18n,\n 'process.env.__NEXT_I18N_DOMAINS': config.i18n?.domains ?? false,\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipMiddlewareUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalMiddlewareRewritesResolve ?? false,\n 'process.env.__NEXT_MANUAL_TRAILING_SLASH':\n config.skipTrailingSlashRedirect,\n 'process.env.__NEXT_HAS_WEB_VITALS_ATTRIBUTION':\n (config.experimental.webVitalsAttribution &&\n config.experimental.webVitalsAttribution.length > 0) ??\n false,\n 'process.env.__NEXT_WEB_VITALS_ATTRIBUTION':\n config.experimental.webVitalsAttribution ?? false,\n 'process.env.__NEXT_LINK_NO_TOUCH_START':\n config.experimental.linkNoTouchStart ?? false,\n 'process.env.__NEXT_ASSET_PREFIX': config.assetPrefix,\n 'process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS':\n !!config.experimental.authInterrupts,\n 'process.env.__NEXT_TELEMETRY_DISABLED': Boolean(\n process.env.NEXT_TELEMETRY_DISABLED\n ),\n 'process.env.__NEXT_EXPERIMENTAL_CLIENT_INSTRUMENTATION_HOOK': Boolean(\n config.experimental.clientInstrumentationHook\n ),\n ...(isNodeOrEdgeCompilation\n ? {\n // Fix bad-actors in the npm ecosystem (e.g. `node-formidable`)\n // This is typically found in unmaintained modules from the\n // pre-webpack era (common in server-side code)\n 'global.GENTLY': false,\n }\n : undefined),\n ...(isNodeOrEdgeCompilation\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n }\n\n const userDefines = config.compiler?.define ?? {}\n for (const key in userDefines) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.define\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured via the \\`env\\` option.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n const serializedDefineEnv = serializeDefineEnv(defineEnv)\n\n // we delay inlining these values until after the build\n // with flying shuttle enabled so we can update them\n // without invalidating entries\n if (!dev && omitNonDeterministic) {\n // client uses window. instead of leaving process.env\n // in case process isn't polyfilled on client already\n // since by this point it won't be added by webpack\n const safeKey = (key: string) =>\n isClient ? `window.${key.split('.').pop()}` : key\n\n for (const key in nextPublicEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key in nextConfigEnv) {\n serializedDefineEnv[key] = safeKey(key)\n }\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n\n return serializedDefineEnv\n}\n\nexport function getDefineEnvPlugin(options: DefineEnvPluginOptions) {\n return new webpack.DefinePlugin(getDefineEnv(options))\n}\n"],"names":["webpack","needsExperimentalReact","checkIsAppPPREnabled","getNextConfigEnv","getNextPublicEnvironmentVariables","serializeDefineEnv","defineEnv","defineEnvStringified","key","value","JSON","stringify","getImageConfig","config","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","getDefineEnv","isTurbopack","clientRouterFilters","distDir","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeOrEdgeCompilation","isNodeServer","middlewareMatchers","omitNonDeterministic","nextPublicEnv","nextConfigEnv","isPPREnabled","experimental","ppr","isDynamicIOEnabled","dynamicIO","isUseCacheEnabled","useCache","__NEXT_DEFINE_ENV","EdgeRuntime","process","env","NEXT_EDGE_RUNTIME_PROVIDER","allowDevelopmentBuild","Boolean","appNavFailHandling","deploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","clientSegmentCache","optimisticClientCache","middlewarePrefetch","crossOrigin","__NEXT_TEST_MODE","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","basePath","strictNextHead","i18n","skipMiddlewareUrlNormalize","externalMiddlewareRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","clientInstrumentationHook","undefined","userDefines","compiler","define","hasOwnProperty","Error","serializedDefineEnv","safeKey","split","pop","getDefineEnvPlugin","options","DefinePlugin"],"mappings":"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"}
@@ -44,7 +44,7 @@ import { hasCustomExportOutput } from '../export/utils';
44
44
  import { CssChunkingPlugin } from './webpack/plugins/css-chunking-plugin';
45
45
  import { getBabelLoader, getReactCompilerLoader } from './get-babel-loader-config';
46
46
  import { NEXT_PROJECT_ROOT, NEXT_PROJECT_ROOT_DIST_CLIENT } from './next-dir-paths';
47
- import { getRspackReactRefresh } from '../shared/lib/get-rspack';
47
+ import { getRspackCore, getRspackReactRefresh } from '../shared/lib/get-rspack';
48
48
  import { RspackProfilingPlugin } from './webpack/plugins/rspack-profiling-plugin';
49
49
  const EXTERNAL_PACKAGES = require('../lib/server-external-packages.json');
50
50
  const DEFAULT_TRANSPILED_PACKAGES = require('../lib/default-transpiled-packages.json');
@@ -808,11 +808,9 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
808
808
  } : undefined,
809
809
  minimize: !dev && (isClient || isEdgeServer || isNodeServer && config.experimental.serverMinification),
810
810
  minimizer: isRspack ? [
811
- // @ts-expect-error
812
- new webpack.SwcJsMinimizerRspackPlugin({
811
+ new (getRspackCore()).SwcJsMinimizerRspackPlugin({
813
812
  }),
814
- // @ts-expect-error
815
- new webpack.LightningCssMinimizerRspackPlugin({
813
+ new (getRspackCore()).LightningCssMinimizerRspackPlugin({
816
814
  })
817
815
  ] : [
818
816
  // Minify JavaScript
@@ -1527,7 +1525,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
1527
1525
  isClient && new CopyFilePlugin({
1528
1526
  // file path to build output of `@next/polyfill-nomodule`
1529
1527
  filePath: require.resolve('./polyfills/polyfill-nomodule'),
1530
- cacheKey: "15.3.0-canary.5",
1528
+ cacheKey: "15.3.0-canary.8",
1531
1529
  name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
1532
1530
  minimize: false,
1533
1531
  info: {
@@ -1704,7 +1702,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
1704
1702
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1705
1703
  // - Next.js version
1706
1704
  // - next.config.js keys that affect compilation
1707
- version: `${__dirname}|${"15.3.0-canary.5"}|${configVars}`,
1705
+ version: `${__dirname}|${"15.3.0-canary.8"}|${configVars}`,
1708
1706
  cacheDirectory: path.join(distDir, 'cache', 'webpack'),
1709
1707
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1710
1708
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.