/home/techb158/balavpn.abdallabala.com/node_modules/next/dist/server
NameSizeModeActions
after/-0777rm
api-utils/-0777rm
app-render/-0777rm
async-storage/-0777rm
base-http/-0777rm
dev/-0777rm
instrumentation/-0777rm
lib/-0777rm
node-environment-extensions/-0777rm
normalizers/-0777rm
og/-0777rm
request/-0777rm
response-cache/-0777rm
resume-data-cache/-0777rm
route-definitions/-0777rm
route-matcher-managers/-0777rm
route-matcher-providers/-0777rm
route-matchers/-0777rm
route-matches/-0777rm
route-modules/-0777rm
stream-utils/-0777rm
typescript/-0777rm
use-cache/-0777rm
web/-0777rm
accept-header.d.ts980666editdlrm
accept-header.js40620666editdlrm
accept-header.js.map64740666editdlrm
base-server.d.ts148180666editdlrm
base-server.js1024910666editdlrm
base-server.js.map1637210666editdlrm
body-streams.d.ts4740666editdlrm
body-streams.js36550666editdlrm
body-streams.js.map54420666editdlrm
cache-dir.d.ts820666editdlrm
cache-dir.js7570666editdlrm
cache-dir.js.map7030666editdlrm
capsize-font-metrics.json43016220666editdlrm
ci-info.d.ts1240666editdlrm
ci-info.js11420666editdlrm
ci-info.js.map13140666editdlrm
client-component-renderer-logger.d.ts4050666editdlrm
client-component-renderer-logger.js22870666editdlrm
client-component-renderer-logger.js.map30360666editdlrm
config-schema.d.ts1510666editdlrm
config-schema.js303360666editdlrm
config-schema.js.map567480666editdlrm
config-shared.d.ts492800666editdlrm
config-shared.js72780666editdlrm
config-shared.js.map580640666editdlrm
config-utils.d.ts490666editdlrm
config-utils.js58880666editdlrm
config-utils.js.map66000666editdlrm
config.d.ts11590666editdlrm
config.js743130666editdlrm
config.js.map995600666editdlrm
create-deduped-by-callsite-server-error-logger.d.ts5910666editdlrm
create-deduped-by-callsite-server-error-logger.js35840666editdlrm
create-deduped-by-callsite-server-error-logger.js.map36670666editdlrm
crypto-utils.d.ts1710666editdlrm
crypto-utils.js30260666editdlrm
crypto-utils.js.map43690666editdlrm
dynamic-rendering-utils.d.ts4250666editdlrm
dynamic-rendering-utils.js33880666editdlrm
dynamic-rendering-utils.js.map49390666editdlrm
font-utils.d.ts1770666editdlrm
font-utils.js17760666editdlrm
font-utils.js.map30600666editdlrm
get-app-route-from-entrypoint.d.ts850666editdlrm
get-app-route-from-entrypoint.js8320666editdlrm
get-app-route-from-entrypoint.js.map8650666editdlrm
get-page-files.d.ts5360666editdlrm
get-page-files.js8070666editdlrm
get-page-files.js.map16920666editdlrm
get-route-from-entrypoint.d.ts970666editdlrm
get-route-from-entrypoint.js12450666editdlrm
get-route-from-entrypoint.js.map14150666editdlrm
image-optimizer.d.ts47210666editdlrm
image-optimizer.js380460666editdlrm
image-optimizer.js.map566470666editdlrm
internal-utils.d.ts2230666editdlrm
internal-utils.js11270666editdlrm
internal-utils.js.map13470666editdlrm
load-components.d.ts29880666editdlrm
load-components.js70160666editdlrm
load-components.js.map131700666editdlrm
load-default-error-components.d.ts13520666editdlrm
load-default-error-components.js18870666editdlrm
load-default-error-components.js.map38260666editdlrm
load-manifest.external.d.ts18080666editdlrm
load-manifest.external.js30510666editdlrm
load-manifest.external.js.map58270666editdlrm
match-bundle.d.ts820666editdlrm
match-bundle.js6860666editdlrm
match-bundle.js.map7180666editdlrm
next-server.d.ts114480666editdlrm
next-server.js700380666editdlrm
next-server.js.map1103260666editdlrm
next-typescript.d.ts470666editdlrm
next-typescript.js3180666editdlrm
next-typescript.js.map2220666editdlrm
next.d.ts36460666editdlrm
next.js157070666editdlrm
next.js.map268160666editdlrm
node-environment-baseline.d.ts00666editdlrm
node-environment-baseline.js8900666editdlrm
node-environment-baseline.js.map15550666editdlrm
node-environment.d.ts2870666editdlrm
node-environment.js6480666editdlrm
node-environment.js.map10650666editdlrm
node-polyfill-crypto.d.ts00666editdlrm
node-polyfill-crypto.js5580666editdlrm
node-polyfill-crypto.js.map10140666editdlrm
optimize-amp.d.ts780666editdlrm
optimize-amp.js5490666editdlrm
optimize-amp.js.map8390666editdlrm
patch-error-inspect.d.ts4670666editdlrm
patch-error-inspect.js196530666editdlrm
patch-error-inspect.js.map285010666editdlrm
pipe-readable.d.ts2910666editdlrm
pipe-readable.js55980666editdlrm
pipe-readable.js.map76770666editdlrm
post-process.d.ts3720666editdlrm
post-process.js20060666editdlrm
post-process.js.map39830666editdlrm
ReactDOMServerPages.d.ts380666editdlrm
ReactDOMServerPages.js5980666editdlrm
ReactDOMServerPages.js.map9570666editdlrm
render-result.d.ts62410666editdlrm
render-result.js75550666editdlrm
render-result.js.map142430666editdlrm
render.d.ts48870666editdlrm
render.js557840666editdlrm
render.js.map850560666editdlrm
request-meta.d.ts80310666editdlrm
request-meta.js14650666editdlrm
request-meta.js.map94610666editdlrm
require-hook.d.ts2660666editdlrm
require-hook.js28400666editdlrm
require-hook.js.map44530666editdlrm
require.d.ts3770666editdlrm
require.js39220666editdlrm
require.js.map60480666editdlrm
revalidation-utils.d.ts5410666editdlrm
revalidation-utils.js33410666editdlrm
revalidation-utils.js.map57330666editdlrm
route-kind.d.ts7200666editdlrm
route-kind.js10290666editdlrm
route-kind.js.map9370666editdlrm
send-payload.d.ts5970666editdlrm
send-payload.js28490666editdlrm
send-payload.js.map42140666editdlrm
send-response.d.ts4200666editdlrm
send-response.js30650666editdlrm
send-response.js.map45590666editdlrm
serve-static.d.ts4030666editdlrm
serve-static.js21100666editdlrm
serve-static.js.map26800666editdlrm
server-route-utils.d.ts1970666editdlrm
server-route-utils.js11300666editdlrm
server-route-utils.js.map19350666editdlrm
server-utils.d.ts31340666editdlrm
server-utils.js165420666editdlrm
server-utils.js.map260640666editdlrm
setup-http-agent-env.d.ts1720666editdlrm
setup-http-agent-env.js10500666editdlrm
setup-http-agent-env.js.map14060666editdlrm
utils.d.ts3320666editdlrm
utils.js32080666editdlrm
utils.js.map41810666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/node_modules/next/dist/server/config.js.map (99560B)
{"version":3,"sources":["../../src/server/config.ts"],"sourcesContent":["import { existsSync } from 'fs'\nimport { basename, extname, join, relative, isAbsolute, resolve } from 'path'\nimport { pathToFileURL } from 'url'\nimport findUp from 'next/dist/compiled/find-up'\nimport * as Log from '../build/output/log'\nimport * as ciEnvironment from '../server/ci-info'\nimport {\n CONFIG_FILES,\n PHASE_DEVELOPMENT_SERVER,\n PHASE_EXPORT,\n PHASE_PRODUCTION_BUILD,\n PHASE_PRODUCTION_SERVER,\n} from '../shared/lib/constants'\nimport { defaultConfig, normalizeConfig } from './config-shared'\nimport type {\n ExperimentalConfig,\n NextConfigComplete,\n NextConfig,\n TurbopackLoaderItem,\n NextAdapter,\n} from './config-shared'\n\nimport { loadWebpackHook } from './config-utils'\nimport { imageConfigDefault } from '../shared/lib/image-config'\nimport type { ImageConfig } from '../shared/lib/image-config'\nimport { loadEnvConfig, updateInitialEnv } from '@next/env'\nimport { flushAndExit } from '../telemetry/flush-and-exit'\nimport { findRootDir } from '../lib/find-root'\nimport { setHttpClientAndAgentOptions } from './setup-http-agent-env'\nimport { pathHasPrefix } from '../shared/lib/router/utils/path-has-prefix'\nimport { matchRemotePattern } from '../shared/lib/match-remote-pattern'\n\nimport type { ZodError } from 'next/dist/compiled/zod'\nimport { hasNextSupport } from '../server/ci-info'\nimport { transpileConfig } from '../build/next-config-ts/transpile-config'\nimport { dset } from '../shared/lib/dset'\nimport { normalizeZodErrors } from '../shared/lib/zod'\nimport { HTML_LIMITED_BOT_UA_RE_STRING } from '../shared/lib/router/utils/is-bot'\nimport { findDir } from '../lib/find-pages-dir'\nimport { CanaryOnlyError, isStableBuild } from '../shared/lib/canary-only'\nimport { interopDefault } from '../lib/interop-default'\nimport { djb2Hash } from '../shared/lib/hash'\n\nexport { normalizeConfig } from './config-shared'\nexport type { DomainLocale, NextConfig } from './config-shared'\n\nfunction normalizeNextConfigZodErrors(\n error: ZodError\n): [errorMessages: string[], shouldExit: boolean] {\n let shouldExit = false\n const issues = normalizeZodErrors(error)\n return [\n issues.flatMap(({ issue, message }) => {\n if (issue.path[0] === 'images') {\n // We exit the build when encountering an error in the images config\n shouldExit = true\n }\n\n return message\n }),\n shouldExit,\n ]\n}\n\nexport function warnOptionHasBeenDeprecated(\n config: NextConfig,\n nestedPropertyKey: string,\n reason: string,\n silent: boolean\n): boolean {\n let hasWarned = false\n if (!silent) {\n let current = config\n let found = true\n const nestedPropertyKeys = nestedPropertyKey.split('.')\n for (const key of nestedPropertyKeys) {\n if (current[key] !== undefined) {\n current = current[key]\n } else {\n found = false\n break\n }\n }\n if (found) {\n Log.warnOnce(reason)\n hasWarned = true\n }\n }\n return hasWarned\n}\n\nfunction checkDeprecations(\n userConfig: NextConfig,\n configFileName: string,\n silent: boolean,\n dir: string\n) {\n warnOptionHasBeenDeprecated(\n userConfig,\n 'amp',\n `Built-in amp support is deprecated and the \\`amp\\` configuration option will be removed in Next.js 16.`,\n silent\n )\n\n warnOptionHasBeenDeprecated(\n userConfig,\n 'experimental.amp',\n `Built-in amp support is deprecated and the \\`experimental.amp\\` configuration option will be removed in Next.js 16.`,\n silent\n )\n\n warnOptionHasBeenDeprecated(\n userConfig,\n 'publicRuntimeConfig',\n `Runtime config is deprecated and the \\`publicRuntimeConfig\\` configuration option will be removed in Next.js 16.`,\n silent\n )\n warnOptionHasBeenDeprecated(\n userConfig,\n 'serverRuntimeConfig',\n `Runtime config is deprecated and the \\`serverRuntimeConfig\\` configuration option will be removed in Next.js 16.`,\n silent\n )\n\n if (userConfig.experimental?.dynamicIO !== undefined) {\n warnOptionHasBeenDeprecated(\n userConfig,\n 'experimental.dynamicIO',\n `\\`experimental.dynamicIO\\` has been renamed to \\`experimental.cacheComponents\\`. Please update your ${configFileName} file accordingly.`,\n silent\n )\n }\n\n warnOptionHasBeenDeprecated(\n userConfig,\n 'experimental.instrumentationHook',\n `\\`experimental.instrumentationHook\\` is no longer needed, because \\`instrumentation.js\\` is available by default. You can remove it from ${configFileName}.`,\n silent\n )\n\n warnOptionHasBeenDeprecated(\n userConfig,\n 'experimental.after',\n `\\`experimental.after\\` is no longer needed, because \\`after\\` is available by default. You can remove it from ${configFileName}.`,\n silent\n )\n\n warnOptionHasBeenDeprecated(\n userConfig,\n 'devIndicators.appIsrStatus',\n `\\`devIndicators.appIsrStatus\\` is deprecated and no longer configurable. Please remove it from ${configFileName}.`,\n silent\n )\n\n warnOptionHasBeenDeprecated(\n userConfig,\n 'devIndicators.buildActivity',\n `\\`devIndicators.buildActivity\\` is deprecated and no longer configurable. Please remove it from ${configFileName}.`,\n silent\n )\n\n warnOptionHasBeenDeprecated(\n userConfig,\n 'devIndicators.buildActivityPosition',\n `\\`devIndicators.buildActivityPosition\\` has been renamed to \\`devIndicators.position\\`. Please update your ${configFileName} file accordingly.`,\n silent\n )\n\n // i18n deprecation for App Router\n if (userConfig.i18n) {\n const hasAppDir = Boolean(findDir(dir, 'app'))\n if (hasAppDir) {\n warnOptionHasBeenDeprecated(\n userConfig,\n 'i18n',\n `i18n configuration in ${configFileName} is unsupported in App Router.\\nLearn more about internationalization in App Router: https://nextjs.org/docs/app/building-your-application/routing/internationalization`,\n silent\n )\n }\n }\n}\n\nexport function warnOptionHasBeenMovedOutOfExperimental(\n config: NextConfig,\n oldExperimentalKey: string,\n newKey: string,\n configFileName: string,\n silent: boolean\n) {\n if (config.experimental && oldExperimentalKey in config.experimental) {\n if (!silent) {\n Log.warn(\n `\\`experimental.${oldExperimentalKey}\\` has been moved to \\`${newKey}\\`. ` +\n `Please update your ${configFileName} file accordingly.`\n )\n }\n\n let current = config\n const newKeys = newKey.split('.')\n while (newKeys.length > 1) {\n const key = newKeys.shift()!\n current[key] = current[key] || {}\n current = current[key]\n }\n current[newKeys.shift()!] = (config.experimental as any)[oldExperimentalKey]\n }\n\n return config\n}\n\nfunction warnCustomizedOption(\n config: NextConfig,\n key: string,\n defaultValue: any,\n customMessage: string,\n configFileName: string,\n silent: boolean\n) {\n const segs = key.split('.')\n let current = config\n\n while (segs.length >= 1) {\n const seg = segs.shift()!\n if (!(seg in current)) {\n return\n }\n current = current[seg]\n }\n\n if (!silent && current !== defaultValue) {\n Log.warn(\n `The \"${key}\" option has been modified. ${customMessage ? customMessage + '. ' : ''}It should be removed from your ${configFileName}.`\n )\n }\n}\n\nfunction assignDefaults(\n dir: string,\n userConfig: NextConfig & { configFileName: string },\n silent: boolean\n): NextConfigComplete {\n const configFileName = userConfig.configFileName\n if (typeof userConfig.exportTrailingSlash !== 'undefined') {\n if (!silent) {\n Log.warn(\n `The \"exportTrailingSlash\" option has been renamed to \"trailingSlash\". Please update your ${configFileName}.`\n )\n }\n if (typeof userConfig.trailingSlash === 'undefined') {\n userConfig.trailingSlash = userConfig.exportTrailingSlash\n }\n delete userConfig.exportTrailingSlash\n }\n\n // Handle migration of experimental.dynamicIO to experimental.cacheComponents\n if (userConfig.experimental?.dynamicIO !== undefined) {\n // If cacheComponents was not explicitly set by the user (i.e., it's still the default value),\n // use the dynamicIO value. We check against the user config, not the merged result.\n if (userConfig.experimental?.cacheComponents === undefined) {\n userConfig.experimental.cacheComponents =\n userConfig.experimental.dynamicIO\n }\n\n // Remove the deprecated property\n delete userConfig.experimental.dynamicIO\n }\n\n const config = Object.keys(userConfig).reduce<{ [key: string]: any }>(\n (currentConfig, key) => {\n const value = userConfig[key]\n\n if (value === undefined || value === null) {\n return currentConfig\n }\n\n if (key === 'distDir') {\n if (typeof value !== 'string') {\n throw new Error(\n `Specified distDir is not a string, found type \"${typeof value}\"`\n )\n }\n const userDistDir = value.trim()\n\n // don't allow public as the distDir as this is a reserved folder for\n // public files\n if (userDistDir === 'public') {\n throw new Error(\n `The 'public' directory is reserved in Next.js and can not be set as the 'distDir'. https://nextjs.org/docs/messages/can-not-output-to-public`\n )\n }\n // make sure distDir isn't an empty string as it can result in the provided\n // directory being deleted in development mode\n if (userDistDir.length === 0) {\n throw new Error(\n `Invalid distDir provided, distDir can not be an empty string. Please remove this config or set it to undefined`\n )\n }\n }\n\n if (key === 'pageExtensions') {\n if (!Array.isArray(value)) {\n throw new Error(\n `Specified pageExtensions is not an array of strings, found \"${value}\". Please update this config or remove it.`\n )\n }\n\n if (!value.length) {\n throw new Error(\n `Specified pageExtensions is an empty array. Please update it with the relevant extensions or remove it.`\n )\n }\n\n value.forEach((ext) => {\n if (typeof ext !== 'string') {\n throw new Error(\n `Specified pageExtensions is not an array of strings, found \"${ext}\" of type \"${typeof ext}\". Please update this config or remove it.`\n )\n }\n })\n }\n\n const defaultValue = (defaultConfig as Record)[key]\n\n if (\n !!value &&\n value.constructor === Object &&\n typeof defaultValue === 'object'\n ) {\n currentConfig[key] = {\n ...defaultValue,\n ...Object.keys(value).reduce((c, k) => {\n const v = value[k]\n if (v !== undefined && v !== null) {\n c[k] = v\n }\n return c\n }, {}),\n }\n } else {\n currentConfig[key] = value\n }\n\n return currentConfig\n },\n {}\n ) as NextConfig & { configFileName: string }\n\n const result = {\n ...defaultConfig,\n ...config,\n experimental: {\n ...defaultConfig.experimental,\n ...config.experimental,\n },\n }\n\n // ensure correct default is set for api-resolver revalidate handling\n if (!result.experimental?.trustHostHeader && ciEnvironment.hasNextSupport) {\n result.experimental.trustHostHeader = true\n }\n\n if (\n result.experimental?.allowDevelopmentBuild &&\n process.env.NODE_ENV !== 'development'\n ) {\n throw new Error(\n `The experimental.allowDevelopmentBuild option requires NODE_ENV to be explicitly set to 'development'.`\n )\n }\n\n if (isStableBuild()) {\n // Prevents usage of certain experimental features outside of canary\n if (result.experimental?.ppr) {\n throw new CanaryOnlyError({ feature: 'experimental.ppr' })\n } else if (result.experimental?.cacheComponents) {\n throw new CanaryOnlyError({ feature: 'experimental.cacheComponents' })\n } else if (result.experimental?.turbopackPersistentCaching) {\n throw new CanaryOnlyError({\n feature: 'experimental.turbopackPersistentCaching',\n })\n }\n }\n\n if (result.output === 'export') {\n if (result.i18n) {\n throw new Error(\n 'Specified \"i18n\" cannot be used with \"output: export\". See more info here: https://nextjs.org/docs/messages/export-no-i18n'\n )\n }\n\n if (!hasNextSupport) {\n if (result.rewrites) {\n Log.warn(\n 'Specified \"rewrites\" will not automatically work with \"output: export\". See more info here: https://nextjs.org/docs/messages/export-no-custom-routes'\n )\n }\n if (result.redirects) {\n Log.warn(\n 'Specified \"redirects\" will not automatically work with \"output: export\". See more info here: https://nextjs.org/docs/messages/export-no-custom-routes'\n )\n }\n if (result.headers) {\n Log.warn(\n 'Specified \"headers\" will not automatically work with \"output: export\". See more info here: https://nextjs.org/docs/messages/export-no-custom-routes'\n )\n }\n }\n }\n\n if (typeof result.assetPrefix !== 'string') {\n throw new Error(\n `Specified assetPrefix is not a string, found type \"${typeof result.assetPrefix}\" https://nextjs.org/docs/messages/invalid-assetprefix`\n )\n }\n\n if (typeof result.basePath !== 'string') {\n throw new Error(\n `Specified basePath is not a string, found type \"${typeof result.basePath}\"`\n )\n }\n\n if (result.basePath !== '') {\n if (result.basePath === '/') {\n throw new Error(\n `Specified basePath /. basePath has to be either an empty string or a path prefix\"`\n )\n }\n\n if (!result.basePath.startsWith('/')) {\n throw new Error(\n `Specified basePath has to start with a /, found \"${result.basePath}\"`\n )\n }\n\n if (result.basePath !== '/') {\n if (result.basePath.endsWith('/')) {\n throw new Error(\n `Specified basePath should not end with /, found \"${result.basePath}\"`\n )\n }\n\n if (result.assetPrefix === '') {\n result.assetPrefix = result.basePath\n }\n\n if (result.amp?.canonicalBase === '') {\n result.amp.canonicalBase = result.basePath\n }\n }\n }\n\n if (result?.images) {\n const images: ImageConfig = result.images\n\n if (typeof images !== 'object') {\n throw new Error(\n `Specified images should be an object received ${typeof images}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`\n )\n }\n\n if (images.localPatterns) {\n if (!Array.isArray(images.localPatterns)) {\n throw new Error(\n `Specified images.localPatterns should be an Array received ${typeof images.localPatterns}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`\n )\n }\n // avoid double-pushing the same pattern if it already exists\n const hasMatch = images.localPatterns.some(\n (pattern) =>\n pattern.pathname === '/_next/static/media/**' && pattern.search === ''\n )\n if (!hasMatch) {\n // static import images are automatically allowed\n images.localPatterns.push({\n pathname: '/_next/static/media/**',\n search: '',\n })\n }\n }\n\n if (images.remotePatterns) {\n if (!Array.isArray(images.remotePatterns)) {\n throw new Error(\n `Specified images.remotePatterns should be an Array received ${typeof images.remotePatterns}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`\n )\n }\n\n // We must convert URL to RemotePattern since URL has a colon in the protocol\n // and also has additional properties we want to filter out. Also, new URL()\n // accepts any protocol so we need manual validation here.\n images.remotePatterns = images.remotePatterns.map(\n ({ protocol, hostname, port, pathname, search }) => {\n const proto = protocol?.replace(/:$/, '')\n if (!['http', 'https', undefined].includes(proto)) {\n throw new Error(\n `Specified images.remotePatterns must have protocol \"http\" or \"https\" received \"${proto}\".`\n )\n }\n return {\n protocol: proto as 'http' | 'https' | undefined,\n hostname,\n port,\n pathname,\n search,\n }\n }\n )\n\n // static images are automatically prefixed with assetPrefix\n // so we need to ensure _next/image allows downloading from\n // this resource\n if (config.assetPrefix?.startsWith('http')) {\n try {\n const url = new URL(config.assetPrefix)\n const hasMatchForAssetPrefix = images.remotePatterns.some((pattern) =>\n matchRemotePattern(pattern, url)\n )\n\n // avoid double-pushing the same pattern if it already can be matched\n if (!hasMatchForAssetPrefix) {\n images.remotePatterns.push({\n hostname: url.hostname,\n protocol: url.protocol.replace(/:$/, '') as 'http' | 'https',\n port: url.port,\n })\n }\n } catch (error) {\n throw new Error(\n `Invalid assetPrefix provided. Original error: ${error}`\n )\n }\n }\n }\n\n if (images.domains) {\n if (!Array.isArray(images.domains)) {\n throw new Error(\n `Specified images.domains should be an Array received ${typeof images.domains}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-images-config`\n )\n }\n }\n\n if (!images.loader) {\n images.loader = 'default'\n }\n\n if (\n images.loader !== 'default' &&\n images.loader !== 'custom' &&\n images.path === imageConfigDefault.path\n ) {\n throw new Error(\n `Specified images.loader property (${images.loader}) also requires images.path property to be assigned to a URL prefix.\\nSee more info here: https://nextjs.org/docs/api-reference/next/legacy/image#loader-configuration`\n )\n }\n\n if (\n images.path === imageConfigDefault.path &&\n result.basePath &&\n !pathHasPrefix(images.path, result.basePath)\n ) {\n images.path = `${result.basePath}${images.path}`\n }\n\n // Append trailing slash for non-default loaders and when trailingSlash is set\n if (\n images.path &&\n !images.path.endsWith('/') &&\n (images.loader !== 'default' || result.trailingSlash)\n ) {\n images.path += '/'\n }\n\n if (images.loaderFile) {\n if (images.loader !== 'default' && images.loader !== 'custom') {\n throw new Error(\n `Specified images.loader property (${images.loader}) cannot be used with images.loaderFile property. Please set images.loader to \"custom\".`\n )\n }\n const absolutePath = join(dir, images.loaderFile)\n if (!existsSync(absolutePath)) {\n throw new Error(\n `Specified images.loaderFile does not exist at \"${absolutePath}\".`\n )\n }\n images.loaderFile = absolutePath\n }\n }\n\n warnCustomizedOption(\n result,\n 'experimental.esmExternals',\n true,\n 'experimental.esmExternals is not recommended to be modified as it may disrupt module resolution',\n configFileName,\n silent\n )\n\n // Handle buildActivityPosition migration (needs to be done after merging with defaults)\n if (\n result.devIndicators &&\n typeof result.devIndicators === 'object' &&\n 'buildActivityPosition' in result.devIndicators &&\n result.devIndicators.buildActivityPosition !== result.devIndicators.position\n ) {\n if (!silent) {\n Log.warnOnce(\n `The \\`devIndicators\\` option \\`buildActivityPosition\\` (\"${result.devIndicators.buildActivityPosition}\") conflicts with \\`position\\` (\"${result.devIndicators.position}\"). Using \\`buildActivityPosition\\` (\"${result.devIndicators.buildActivityPosition}\") for backward compatibility.`\n )\n }\n result.devIndicators.position = result.devIndicators.buildActivityPosition\n }\n\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'bundlePagesExternals',\n 'bundlePagesRouterDependencies',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'serverComponentsExternalPackages',\n 'serverExternalPackages',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'relay',\n 'compiler.relay',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'styledComponents',\n 'compiler.styledComponents',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'emotion',\n 'compiler.emotion',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'reactRemoveProperties',\n 'compiler.reactRemoveProperties',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'removeConsole',\n 'compiler.removeConsole',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'swrDelta',\n 'expireTime',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'typedRoutes',\n 'typedRoutes',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'outputFileTracingRoot',\n 'outputFileTracingRoot',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'outputFileTracingIncludes',\n 'outputFileTracingIncludes',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'outputFileTracingExcludes',\n 'outputFileTracingExcludes',\n configFileName,\n silent\n )\n\n if ((result.experimental as any).outputStandalone) {\n if (!silent) {\n Log.warn(\n `experimental.outputStandalone has been renamed to \"output: 'standalone'\", please move the config.`\n )\n }\n result.output = 'standalone'\n }\n\n if (\n typeof result.experimental?.serverActions?.bodySizeLimit !== 'undefined'\n ) {\n const value = parseInt(\n result.experimental.serverActions?.bodySizeLimit.toString()\n )\n if (isNaN(value) || value < 1) {\n throw new Error(\n 'Server Actions Size Limit must be a valid number or filesize format larger than 1MB: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit'\n )\n }\n }\n\n // Normalize & validate experimental.middlewareClientMaxBodySize\n if (typeof result.experimental?.middlewareClientMaxBodySize !== 'undefined') {\n const middlewareClientMaxBodySize =\n result.experimental.middlewareClientMaxBodySize\n let normalizedValue: number\n\n if (typeof middlewareClientMaxBodySize === 'string') {\n const bytes =\n require('next/dist/compiled/bytes') as typeof import('next/dist/compiled/bytes')\n normalizedValue = bytes.parse(middlewareClientMaxBodySize)\n } else if (typeof middlewareClientMaxBodySize === 'number') {\n normalizedValue = middlewareClientMaxBodySize\n } else {\n throw new Error(\n 'Client Max Body Size must be a valid number (bytes) or filesize format string (e.g., \"5mb\")'\n )\n }\n\n if (isNaN(normalizedValue) || normalizedValue < 1) {\n throw new Error('Client Max Body Size must be larger than 0 bytes')\n }\n\n // Store the normalized value as a number\n result.experimental.middlewareClientMaxBodySize = normalizedValue\n }\n\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'transpilePackages',\n 'transpilePackages',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'skipMiddlewareUrlNormalize',\n 'skipMiddlewareUrlNormalize',\n configFileName,\n silent\n )\n warnOptionHasBeenMovedOutOfExperimental(\n result,\n 'skipTrailingSlashRedirect',\n 'skipTrailingSlashRedirect',\n configFileName,\n silent\n )\n\n if (\n result?.outputFileTracingRoot &&\n !isAbsolute(result.outputFileTracingRoot)\n ) {\n result.outputFileTracingRoot = resolve(result.outputFileTracingRoot)\n if (!silent) {\n Log.warn(\n `outputFileTracingRoot should be absolute, using: ${result.outputFileTracingRoot}`\n )\n }\n }\n\n if (result?.turbopack?.root && !isAbsolute(result.turbopack.root)) {\n result.turbopack.root = resolve(result.turbopack.root)\n if (!silent) {\n Log.warn(\n `turbopack.root should be absolute, using: ${result.turbopack.root}`\n )\n }\n }\n\n // only leverage deploymentId\n if (process.env.NEXT_DEPLOYMENT_ID) {\n result.deploymentId = process.env.NEXT_DEPLOYMENT_ID\n }\n\n const tracingRoot = result?.outputFileTracingRoot\n const turbopackRoot = result?.turbopack?.root\n\n // If both provided, validate they match. If not, use outputFileTracingRoot.\n if (tracingRoot && turbopackRoot && tracingRoot !== turbopackRoot) {\n Log.warn(\n `Both \\`outputFileTracingRoot\\` and \\`turbopack.root\\` are set, but they must have the same value.\\n` +\n `Using \\`outputFileTracingRoot\\` value: ${tracingRoot}.`\n )\n }\n\n const rootDir = tracingRoot || turbopackRoot || findRootDir(dir)\n\n if (!rootDir) {\n throw new Error(\n 'Failed to find the root directory of the project. This is a bug in Next.js.'\n )\n }\n\n // Ensure both properties are set to the same value\n result.outputFileTracingRoot = rootDir\n dset(result, ['turbopack', 'root'], rootDir)\n\n setHttpClientAndAgentOptions(result || defaultConfig)\n\n if (result.i18n) {\n const { i18n } = result\n const i18nType = typeof i18n\n\n if (i18nType !== 'object') {\n throw new Error(\n `Specified i18n should be an object received ${i18nType}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n\n if (!Array.isArray(i18n.locales)) {\n throw new Error(\n `Specified i18n.locales should be an Array received ${typeof i18n.locales}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n\n if (i18n.locales.length > 100 && !silent) {\n Log.warn(\n `Received ${i18n.locales.length} i18n.locales items which exceeds the recommended max of 100.\\nSee more info here: https://nextjs.org/docs/advanced-features/i18n-routing#how-does-this-work-with-static-generation`\n )\n }\n\n const defaultLocaleType = typeof i18n.defaultLocale\n\n if (!i18n.defaultLocale || defaultLocaleType !== 'string') {\n throw new Error(\n `Specified i18n.defaultLocale should be a string.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n\n if (typeof i18n.domains !== 'undefined' && !Array.isArray(i18n.domains)) {\n throw new Error(\n `Specified i18n.domains must be an array of domain objects e.g. [ { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] } ] received ${typeof i18n.domains}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n\n if (i18n.domains) {\n const invalidDomainItems = i18n.domains.filter((item) => {\n if (!item || typeof item !== 'object') return true\n if (!item.defaultLocale) return true\n if (!item.domain || typeof item.domain !== 'string') return true\n\n if (item.domain.includes(':')) {\n console.warn(\n `i18n domain: \"${item.domain}\" is invalid it should be a valid domain without protocol (https://) or port (:3000) e.g. example.vercel.sh`\n )\n return true\n }\n\n const defaultLocaleDuplicate = i18n.domains?.find(\n (altItem) =>\n altItem.defaultLocale === item.defaultLocale &&\n altItem.domain !== item.domain\n )\n\n if (!silent && defaultLocaleDuplicate) {\n console.warn(\n `Both ${item.domain} and ${defaultLocaleDuplicate.domain} configured the defaultLocale ${item.defaultLocale} but only one can. Change one item's default locale to continue`\n )\n return true\n }\n\n let hasInvalidLocale = false\n\n if (Array.isArray(item.locales)) {\n for (const locale of item.locales) {\n if (typeof locale !== 'string') hasInvalidLocale = true\n\n for (const domainItem of i18n.domains || []) {\n if (domainItem === item) continue\n if (domainItem.locales && domainItem.locales.includes(locale)) {\n console.warn(\n `Both ${item.domain} and ${domainItem.domain} configured the locale (${locale}) but only one can. Remove it from one i18n.domains config to continue`\n )\n hasInvalidLocale = true\n break\n }\n }\n }\n }\n\n return hasInvalidLocale\n })\n\n if (invalidDomainItems.length > 0) {\n throw new Error(\n `Invalid i18n.domains values:\\n${invalidDomainItems\n .map((item: any) => JSON.stringify(item))\n .join(\n '\\n'\n )}\\n\\ndomains value must follow format { domain: 'example.fr', defaultLocale: 'fr', locales: ['fr'] }.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n }\n\n if (!Array.isArray(i18n.locales)) {\n throw new Error(\n `Specified i18n.locales must be an array of locale strings e.g. [\"en-US\", \"nl-NL\"] received ${typeof i18n.locales}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n\n const invalidLocales = i18n.locales.filter(\n (locale: any) => typeof locale !== 'string'\n )\n\n if (invalidLocales.length > 0) {\n throw new Error(\n `Specified i18n.locales contains invalid values (${invalidLocales\n .map(String)\n .join(\n ', '\n )}), locales must be valid locale tags provided as strings e.g. \"en-US\".\\n` +\n `See here for list of valid language sub-tags: http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry`\n )\n }\n\n if (!i18n.locales.includes(i18n.defaultLocale)) {\n throw new Error(\n `Specified i18n.defaultLocale should be included in i18n.locales.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n\n const normalizedLocales = new Set()\n const duplicateLocales = new Set()\n\n i18n.locales.forEach((locale) => {\n const localeLower = locale.toLowerCase()\n if (normalizedLocales.has(localeLower)) {\n duplicateLocales.add(locale)\n }\n normalizedLocales.add(localeLower)\n })\n\n if (duplicateLocales.size > 0) {\n throw new Error(\n `Specified i18n.locales contains the following duplicate locales:\\n` +\n `${[...duplicateLocales].join(', ')}\\n` +\n `Each locale should be listed only once.\\n` +\n `See more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n\n // make sure default Locale is at the front\n i18n.locales = [\n i18n.defaultLocale,\n ...i18n.locales.filter((locale) => locale !== i18n.defaultLocale),\n ]\n\n const localeDetectionType = typeof i18n.localeDetection\n\n if (\n localeDetectionType !== 'boolean' &&\n localeDetectionType !== 'undefined'\n ) {\n throw new Error(\n `Specified i18n.localeDetection should be undefined or a boolean received ${localeDetectionType}.\\nSee more info here: https://nextjs.org/docs/messages/invalid-i18n-config`\n )\n }\n }\n\n if (result.devIndicators !== false && result.devIndicators?.position) {\n const { position } = result.devIndicators\n const allowedValues = [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n ]\n\n if (!allowedValues.includes(position)) {\n throw new Error(\n `Invalid \"devIndicator.position\" provided, expected one of ${allowedValues.join(\n ', '\n )}, received ${position}`\n )\n }\n }\n\n if (result.experimental) {\n result.experimental.cacheLife = {\n ...defaultConfig.experimental?.cacheLife,\n ...result.experimental.cacheLife,\n }\n const defaultDefault = defaultConfig.experimental?.cacheLife?.['default']\n if (\n !defaultDefault ||\n defaultDefault.revalidate === undefined ||\n defaultDefault.expire === undefined ||\n !defaultConfig.experimental?.staleTimes?.static\n ) {\n throw new Error('No default cacheLife profile.')\n }\n const defaultCacheLifeProfile = result.experimental.cacheLife['default']\n if (!defaultCacheLifeProfile) {\n result.experimental.cacheLife['default'] = defaultDefault\n } else {\n if (defaultCacheLifeProfile.stale === undefined) {\n const staticStaleTime = result.experimental.staleTimes?.static\n defaultCacheLifeProfile.stale =\n staticStaleTime ?? defaultConfig.experimental?.staleTimes?.static\n }\n if (defaultCacheLifeProfile.revalidate === undefined) {\n defaultCacheLifeProfile.revalidate = defaultDefault.revalidate\n }\n if (defaultCacheLifeProfile.expire === undefined) {\n defaultCacheLifeProfile.expire =\n result.expireTime ?? defaultDefault.expire\n }\n }\n }\n\n if (result.experimental?.cacheHandlers) {\n const allowedHandlerNameRegex = /[a-z-]/\n\n if (typeof result.experimental.cacheHandlers !== 'object') {\n throw new Error(\n `Invalid \"experimental.cacheHandlers\" provided, expected an object e.g. { default: '/my-handler.js' }, received ${JSON.stringify(result.experimental.cacheHandlers)}`\n )\n }\n\n const handlerKeys = Object.keys(result.experimental.cacheHandlers)\n const invalidHandlerItems: Array<{ key: string; reason: string }> = []\n\n for (const key of handlerKeys) {\n if (key === 'private') {\n invalidHandlerItems.push({\n key,\n reason:\n 'The cache handler for \"use cache: private\" cannot be customized.',\n })\n } else if (!allowedHandlerNameRegex.test(key)) {\n invalidHandlerItems.push({\n key,\n reason: 'key must only use characters a-z and -',\n })\n } else {\n const handlerPath = (\n result.experimental.cacheHandlers as {\n [handlerName: string]: string | undefined\n }\n )[key]\n\n if (handlerPath && !existsSync(handlerPath)) {\n invalidHandlerItems.push({\n key,\n reason: `cache handler path provided does not exist, received ${handlerPath}`,\n })\n }\n }\n if (invalidHandlerItems.length) {\n throw new Error(\n `Invalid handler fields configured for \"experimental.cacheHandler\":\\n${invalidHandlerItems.map((item) => `${key}: ${item.reason}`).join('\\n')}`\n )\n }\n }\n }\n\n const userProvidedModularizeImports = result.modularizeImports\n // Unfortunately these packages end up re-exporting 10600 modules, for example: https://unpkg.com/browse/@mui/icons-material@5.11.16/esm/index.js.\n // Leveraging modularizeImports tremendously reduces compile times for these.\n result.modularizeImports = {\n ...(userProvidedModularizeImports || {}),\n // This is intentionally added after the user-provided modularizeImports config.\n '@mui/icons-material': {\n transform: '@mui/icons-material/{{member}}',\n },\n lodash: {\n transform: 'lodash/{{member}}',\n },\n }\n\n const userProvidedOptimizePackageImports =\n result.experimental?.optimizePackageImports || []\n\n result.experimental.optimizePackageImports = [\n ...new Set([\n ...userProvidedOptimizePackageImports,\n 'lucide-react',\n 'date-fns',\n 'lodash-es',\n 'ramda',\n 'antd',\n 'react-bootstrap',\n 'ahooks',\n '@ant-design/icons',\n '@headlessui/react',\n '@headlessui-float/react',\n '@heroicons/react/20/solid',\n '@heroicons/react/24/solid',\n '@heroicons/react/24/outline',\n '@visx/visx',\n '@tremor/react',\n 'rxjs',\n '@mui/material',\n '@mui/icons-material',\n 'recharts',\n 'react-use',\n 'effect',\n '@effect/schema',\n '@effect/platform',\n '@effect/platform-node',\n '@effect/platform-browser',\n '@effect/platform-bun',\n '@effect/sql',\n '@effect/sql-mssql',\n '@effect/sql-mysql2',\n '@effect/sql-pg',\n '@effect/sql-sqlite-node',\n '@effect/sql-sqlite-bun',\n '@effect/sql-sqlite-wasm',\n '@effect/sql-sqlite-react-native',\n '@effect/rpc',\n '@effect/rpc-http',\n '@effect/typeclass',\n '@effect/experimental',\n '@effect/opentelemetry',\n '@material-ui/core',\n '@material-ui/icons',\n '@tabler/icons-react',\n 'mui-core',\n // We don't support wildcard imports for these configs, e.g. `react-icons/*`\n // so we need to add them manually.\n // In the future, we should consider automatically detecting packages that\n // need to be optimized.\n 'react-icons/ai',\n 'react-icons/bi',\n 'react-icons/bs',\n 'react-icons/cg',\n 'react-icons/ci',\n 'react-icons/di',\n 'react-icons/fa',\n 'react-icons/fa6',\n 'react-icons/fc',\n 'react-icons/fi',\n 'react-icons/gi',\n 'react-icons/go',\n 'react-icons/gr',\n 'react-icons/hi',\n 'react-icons/hi2',\n 'react-icons/im',\n 'react-icons/io',\n 'react-icons/io5',\n 'react-icons/lia',\n 'react-icons/lib',\n 'react-icons/lu',\n 'react-icons/md',\n 'react-icons/pi',\n 'react-icons/ri',\n 'react-icons/rx',\n 'react-icons/si',\n 'react-icons/sl',\n 'react-icons/tb',\n 'react-icons/tfi',\n 'react-icons/ti',\n 'react-icons/vsc',\n 'react-icons/wi',\n ]),\n ]\n\n if (!result.htmlLimitedBots) {\n // @ts-expect-error: override the htmlLimitedBots with default string, type covert: RegExp -> string\n result.htmlLimitedBots = HTML_LIMITED_BOT_UA_RE_STRING\n }\n\n // \"use cache\" was originally implicitly enabled with the cacheComponents flag, so\n // we transfer the value for cacheComponents to the explicit useCache flag to ensure\n // backwards compatibility.\n if (result.experimental.useCache === undefined) {\n result.experimental.useCache = result.experimental.cacheComponents\n }\n\n // If cacheComponents is enabled, we also enable PPR.\n if (result.experimental.cacheComponents) {\n if (\n userConfig.experimental?.ppr === false ||\n userConfig.experimental?.ppr === 'incremental'\n ) {\n throw new Error(\n `\\`experimental.ppr\\` can not be \\`${JSON.stringify(userConfig.experimental?.ppr)}\\` when \\`experimental.cacheComponents\\` is \\`true\\`. PPR is implicitly enabled when Cache Components is enabled.`\n )\n }\n\n result.experimental.ppr = true\n }\n\n return result as NextConfigComplete\n}\n\nasync function applyModifyConfig(\n config: NextConfigComplete,\n phase: string,\n silent: boolean\n): Promise {\n if (\n // TODO: should this be called for server start as\n // adapters shouldn't be relying on \"next start\"\n [PHASE_PRODUCTION_BUILD, PHASE_PRODUCTION_SERVER].includes(phase) &&\n config.experimental?.adapterPath\n ) {\n const adapterMod = interopDefault(\n await import(\n pathToFileURL(require.resolve(config.experimental.adapterPath)).href\n )\n ) as NextAdapter\n\n if (typeof adapterMod.modifyConfig === 'function') {\n if (!silent) {\n Log.info(`Applying modifyConfig from ${adapterMod.name}`)\n }\n config = await adapterMod.modifyConfig(config)\n }\n }\n return config\n}\n\n// Cache config with keys to handle multiple configurations (e.g., multi-zone)\nconst configCache = new Map<\n string,\n {\n rawConfig: any\n config: NextConfigComplete\n configuredExperimentalFeatures: ConfiguredExperimentalFeature[]\n }\n>()\n\n// Generate cache key based on parameters that affect config output\n// We need a unique key for cache because there can be multiple values\nfunction getCacheKey(\n phase: string,\n dir: string,\n customConfig?: object | null,\n reactProductionProfiling?: boolean,\n debugPrerender?: boolean\n): string {\n // The next.config.js is unique per project, so we can use the dir as the major key\n // to generate the unique config key.\n const keyData = JSON.stringify({\n dir,\n phase,\n hasCustomConfig: Boolean(customConfig),\n reactProductionProfiling: Boolean(reactProductionProfiling),\n debugPrerender: Boolean(debugPrerender),\n })\n\n return djb2Hash(keyData).toString(36)\n}\n\nexport default async function loadConfig(\n phase: string,\n dir: string,\n {\n customConfig,\n rawConfig,\n silent = true,\n reportExperimentalFeatures,\n reactProductionProfiling,\n debugPrerender,\n }: {\n customConfig?: object | null\n rawConfig?: boolean\n silent?: boolean\n reportExperimentalFeatures?: (\n configuredExperimentalFeatures: ConfiguredExperimentalFeature[]\n ) => void\n reactProductionProfiling?: boolean\n debugPrerender?: boolean\n } = {}\n): Promise {\n // Generate cache key based on parameters that affect config output\n const cacheKey = getCacheKey(\n phase,\n dir,\n customConfig,\n reactProductionProfiling,\n debugPrerender\n )\n\n // Check if we have a cached result\n const cachedResult = configCache.get(cacheKey)\n if (cachedResult) {\n // Call the experimental features callback if provided\n if (reportExperimentalFeatures) {\n reportExperimentalFeatures(cachedResult.configuredExperimentalFeatures)\n }\n\n // Return raw config if requested and available\n if (rawConfig && cachedResult.rawConfig) {\n return cachedResult.rawConfig\n }\n\n return cachedResult.config\n }\n\n // Original implementation continues below...\n if (!process.env.__NEXT_PRIVATE_RENDER_WORKER) {\n try {\n loadWebpackHook()\n } catch (err) {\n // this can fail in standalone mode as the files\n // aren't traced/included\n if (!process.env.__NEXT_PRIVATE_STANDALONE_CONFIG) {\n throw err\n }\n }\n }\n\n if (process.env.__NEXT_PRIVATE_STANDALONE_CONFIG) {\n // we don't apply assignDefaults or modifyConfig here as it\n // has already been applied\n const standaloneConfig = JSON.parse(\n process.env.__NEXT_PRIVATE_STANDALONE_CONFIG\n )\n\n // Cache the standalone config\n configCache.set(cacheKey, {\n config: standaloneConfig,\n rawConfig: standaloneConfig,\n configuredExperimentalFeatures: [],\n })\n\n return standaloneConfig\n }\n\n const curLog = silent\n ? {\n warn: () => {},\n info: () => {},\n error: () => {},\n }\n : Log\n\n loadEnvConfig(dir, phase === PHASE_DEVELOPMENT_SERVER, curLog)\n\n let configFileName = 'next.config.js'\n const configuredExperimentalFeatures: ConfiguredExperimentalFeature[] = []\n\n if (customConfig) {\n // Check deprecation warnings on the custom config before merging with defaults\n checkDeprecations(customConfig as NextConfig, configFileName, silent, dir)\n\n const config = await applyModifyConfig(\n assignDefaults(\n dir,\n {\n configOrigin: 'server',\n configFileName,\n ...customConfig,\n },\n silent\n ) as NextConfigComplete,\n phase,\n silent\n )\n\n // Cache the custom config result\n configCache.set(cacheKey, {\n config,\n rawConfig: customConfig,\n configuredExperimentalFeatures,\n })\n\n reportExperimentalFeatures?.(configuredExperimentalFeatures)\n\n return config\n }\n\n const path = await findUp(CONFIG_FILES, { cwd: dir })\n\n // If config file was found\n if (path?.length) {\n configFileName = basename(path)\n\n let userConfigModule: any\n try {\n const envBefore = Object.assign({}, process.env)\n\n // `import()` expects url-encoded strings, so the path must be properly\n // escaped and (especially on Windows) absolute paths must pe prefixed\n // with the `file://` protocol\n if (process.env.__NEXT_TEST_MODE === 'jest') {\n // dynamic import does not currently work inside of vm which\n // jest relies on so we fall back to require for this case\n // https://github.com/nodejs/node/issues/35889\n userConfigModule = require(path)\n } else if (configFileName === 'next.config.ts') {\n userConfigModule = await transpileConfig({\n nextConfigPath: path,\n configFileName,\n cwd: dir,\n })\n } else {\n userConfigModule = await import(pathToFileURL(path).href)\n }\n const newEnv: typeof process.env = {} as any\n\n for (const key of Object.keys(process.env)) {\n if (envBefore[key] !== process.env[key]) {\n newEnv[key] = process.env[key]\n }\n }\n updateInitialEnv(newEnv)\n\n if (rawConfig) {\n // Cache the raw config\n configCache.set(cacheKey, {\n config: userConfigModule as NextConfigComplete,\n rawConfig: userConfigModule,\n configuredExperimentalFeatures,\n })\n\n reportExperimentalFeatures?.(configuredExperimentalFeatures)\n\n return userConfigModule\n }\n } catch (err) {\n // TODO: Modify docs to add cases of failing next.config.ts transformation\n curLog.error(\n `Failed to load ${configFileName}, see more info here https://nextjs.org/docs/messages/next-config-error`\n )\n throw err\n }\n\n const loadedConfig = Object.freeze(\n (await normalizeConfig(\n phase,\n interopDefault(userConfigModule)\n )) as NextConfig\n )\n\n if (loadedConfig.experimental) {\n for (const name of Object.keys(\n loadedConfig.experimental\n ) as (keyof ExperimentalConfig)[]) {\n const value = loadedConfig.experimental[name]\n\n if (name === 'turbo' && !process.env.TURBOPACK) {\n // Ignore any Turbopack config if Turbopack is not enabled\n continue\n }\n\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n name,\n value\n )\n }\n }\n\n // Clone a new userConfig each time to avoid mutating the original\n const userConfig = cloneObject(loadedConfig) as NextConfig\n\n // Check deprecation warnings on the actual user config before merging with defaults\n checkDeprecations(userConfig, configFileName, silent, dir)\n\n // Always validate the config against schema in non minimal mode.\n // Only validate once in the root Next.js process, not in forked processes.\n const isRootProcess = typeof process.send !== 'function'\n if (!process.env.NEXT_MINIMAL && isRootProcess) {\n // We only validate the config against schema in non minimal mode\n const { configSchema } =\n require('./config-schema') as typeof import('./config-schema')\n const state = configSchema.safeParse(userConfig)\n\n if (!state.success) {\n // error message header\n const messages = [`Invalid ${configFileName} options detected: `]\n\n const [errorMessages, shouldExit] = normalizeNextConfigZodErrors(\n state.error\n )\n // ident list item\n for (const error of errorMessages) {\n messages.push(` ${error}`)\n }\n\n // error message footer\n messages.push(\n 'See more info here: https://nextjs.org/docs/messages/invalid-next-config'\n )\n\n if (shouldExit) {\n for (const message of messages) {\n console.error(message)\n }\n await flushAndExit(1)\n } else {\n for (const message of messages) {\n curLog.warn(message)\n }\n }\n }\n }\n\n if (userConfig.target && userConfig.target !== 'server') {\n throw new Error(\n `The \"target\" property is no longer supported in ${configFileName}.\\n` +\n 'See more info here https://nextjs.org/docs/messages/deprecated-target-config'\n )\n }\n\n if (userConfig.amp?.canonicalBase) {\n const { canonicalBase } = userConfig.amp || ({} as any)\n userConfig.amp = userConfig.amp || {}\n userConfig.amp.canonicalBase =\n (canonicalBase?.endsWith('/')\n ? canonicalBase.slice(0, -1)\n : canonicalBase) || ''\n }\n\n if (reactProductionProfiling) {\n userConfig.reactProductionProfiling = reactProductionProfiling\n }\n\n if (\n userConfig.experimental?.turbo?.loaders &&\n !userConfig.experimental?.turbo?.rules\n ) {\n curLog.warn(\n 'experimental.turbo.loaders is now deprecated. Please update next.config.js to use experimental.turbo.rules as soon as possible.\\n' +\n 'The new option is similar, but the key should be a glob instead of an extension.\\n' +\n 'Example: loaders: { \".mdx\": [\"mdx-loader\"] } -> rules: { \"*.mdx\": [\"mdx-loader\"] }\" }\\n' +\n 'See more info here https://nextjs.org/docs/app/api-reference/next-config-js/turbo'\n )\n\n const rules: Record = {}\n for (const [ext, loaders] of Object.entries(\n userConfig.experimental.turbo.loaders\n )) {\n rules['*' + ext] = loaders as TurbopackLoaderItem[]\n }\n\n userConfig.experimental.turbo.rules = rules\n }\n\n if (userConfig.experimental?.turbo) {\n curLog.warn(\n 'The config property `experimental.turbo` is deprecated. Move this setting to `config.turbopack` or run `npx @next/codemod@latest next-experimental-turbo-to-turbopack .`'\n )\n\n // Merge the two configs, preferring values in `config.turbopack`.\n userConfig.turbopack = {\n ...userConfig.experimental.turbo,\n ...userConfig.turbopack,\n }\n userConfig.experimental.turbopackMemoryLimit ??=\n userConfig.experimental.turbo.memoryLimit\n userConfig.experimental.turbopackMinify ??=\n userConfig.experimental.turbo.minify\n userConfig.experimental.turbopackTreeShaking ??=\n userConfig.experimental.turbo.treeShaking\n userConfig.experimental.turbopackSourceMaps ??=\n userConfig.experimental.turbo.sourceMaps\n }\n\n if (userConfig.experimental?.useLightningcss) {\n const { loadBindings } =\n require('../build/swc') as typeof import('../build/swc')\n const isLightningSupported = (await loadBindings())?.css?.lightning\n\n if (!isLightningSupported) {\n curLog.warn(\n `experimental.useLightningcss is set, but the setting is disabled because next-swc/wasm does not support it yet.`\n )\n userConfig.experimental.useLightningcss = false\n }\n }\n\n // serialize the regex config into string\n if (userConfig?.htmlLimitedBots instanceof RegExp) {\n // @ts-expect-error: override the htmlLimitedBots with default string, type covert: RegExp -> string\n userConfig.htmlLimitedBots = userConfig.htmlLimitedBots.source\n }\n\n enforceExperimentalFeatures(userConfig, {\n isDefaultConfig: false,\n configuredExperimentalFeatures,\n debugPrerender,\n phase,\n })\n\n const completeConfig = assignDefaults(\n dir,\n {\n configOrigin: relative(dir, path),\n configFile: path,\n configFileName,\n ...userConfig,\n },\n silent\n ) as NextConfigComplete\n\n const finalConfig = await applyModifyConfig(completeConfig, phase, silent)\n\n // Cache the final result\n configCache.set(cacheKey, {\n config: finalConfig,\n rawConfig: userConfigModule, // Store the original user config module\n configuredExperimentalFeatures,\n })\n\n if (reportExperimentalFeatures) {\n reportExperimentalFeatures(configuredExperimentalFeatures)\n }\n\n return finalConfig\n } else {\n const configBaseName = basename(CONFIG_FILES[0], extname(CONFIG_FILES[0]))\n const unsupportedConfig = findUp.sync(\n [\n `${configBaseName}.cjs`,\n `${configBaseName}.cts`,\n `${configBaseName}.mts`,\n `${configBaseName}.json`,\n `${configBaseName}.jsx`,\n `${configBaseName}.tsx`,\n ],\n { cwd: dir }\n )\n if (unsupportedConfig?.length) {\n throw new Error(\n `Configuring Next.js via '${basename(\n unsupportedConfig\n )}' is not supported. Please replace the file with 'next.config.js', 'next.config.mjs', or 'next.config.ts'.`\n )\n }\n }\n\n const clonedDefaultConfig = cloneObject(defaultConfig) as NextConfig\n\n enforceExperimentalFeatures(clonedDefaultConfig, {\n isDefaultConfig: true,\n configuredExperimentalFeatures,\n debugPrerender,\n phase,\n })\n\n // always call assignDefaults to ensure settings like\n // reactRoot can be updated correctly even with no next.config.js\n const completeConfig = assignDefaults(\n dir,\n { ...clonedDefaultConfig, configFileName },\n silent\n ) as NextConfigComplete\n\n setHttpClientAndAgentOptions(completeConfig)\n\n const finalConfig = await applyModifyConfig(completeConfig, phase, silent)\n\n // Cache the default config result\n configCache.set(cacheKey, {\n config: finalConfig,\n rawConfig: clonedDefaultConfig,\n configuredExperimentalFeatures,\n })\n\n if (reportExperimentalFeatures) {\n reportExperimentalFeatures(configuredExperimentalFeatures)\n }\n\n return finalConfig\n}\n\nexport type ConfiguredExperimentalFeature = {\n key: keyof ExperimentalConfig\n value: ExperimentalConfig[keyof ExperimentalConfig]\n reason?: string\n}\n\nfunction enforceExperimentalFeatures(\n config: NextConfig,\n options: {\n isDefaultConfig: boolean\n configuredExperimentalFeatures: ConfiguredExperimentalFeature[] | undefined\n debugPrerender: boolean | undefined\n phase: string\n }\n) {\n const {\n configuredExperimentalFeatures,\n debugPrerender,\n isDefaultConfig,\n phase,\n } = options\n\n config.experimental ??= {}\n\n if (\n debugPrerender &&\n (phase === PHASE_PRODUCTION_BUILD || phase === PHASE_EXPORT)\n ) {\n setExperimentalFeatureForDebugPrerender(\n config.experimental,\n 'serverSourceMaps',\n true,\n configuredExperimentalFeatures\n )\n\n setExperimentalFeatureForDebugPrerender(\n config.experimental,\n process.env.TURBOPACK ? 'turbopackMinify' : 'serverMinification',\n false,\n configuredExperimentalFeatures\n )\n\n setExperimentalFeatureForDebugPrerender(\n config.experimental,\n 'enablePrerenderSourceMaps',\n true,\n configuredExperimentalFeatures\n )\n\n setExperimentalFeatureForDebugPrerender(\n config.experimental,\n 'prerenderEarlyExit',\n false,\n configuredExperimentalFeatures\n )\n }\n\n // TODO: Remove this once we've made Cache Components the default.\n if (\n process.env.__NEXT_EXPERIMENTAL_CACHE_COMPONENTS === 'true' &&\n // We do respect an explicit value in the user config.\n (config.experimental.ppr === undefined ||\n (isDefaultConfig && !config.experimental.ppr))\n ) {\n config.experimental.ppr = true\n\n if (configuredExperimentalFeatures) {\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n 'ppr',\n true,\n 'enabled by `__NEXT_EXPERIMENTAL_CACHE_COMPONENTS`'\n )\n }\n }\n\n // TODO: Remove this once we've made Cache Components the default.\n if (\n process.env.__NEXT_EXPERIMENTAL_PPR === 'true' &&\n // We do respect an explicit value in the user config.\n (config.experimental.ppr === undefined ||\n (isDefaultConfig && !config.experimental.ppr))\n ) {\n config.experimental.ppr = true\n\n if (configuredExperimentalFeatures) {\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n 'ppr',\n true,\n 'enabled by `__NEXT_EXPERIMENTAL_PPR`'\n )\n }\n }\n\n // TODO: Remove this once we've made Client Segment Cache the default.\n if (\n process.env.__NEXT_EXPERIMENTAL_PPR === 'true' &&\n // We do respect an explicit value in the user config.\n (config.experimental.clientSegmentCache === undefined ||\n (isDefaultConfig && !config.experimental.clientSegmentCache))\n ) {\n config.experimental.clientSegmentCache = true\n\n if (configuredExperimentalFeatures) {\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n 'clientSegmentCache',\n true,\n 'enabled by `__NEXT_EXPERIMENTAL_PPR`'\n )\n }\n }\n\n // TODO: Remove this once we've made Client Param Parsing the default.\n if (\n process.env.__NEXT_EXPERIMENTAL_PPR === 'true' &&\n // We do respect an explicit value in the user config.\n (config.experimental.clientParamParsing === undefined ||\n (isDefaultConfig && !config.experimental.clientParamParsing))\n ) {\n config.experimental.clientParamParsing = true\n\n if (configuredExperimentalFeatures) {\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n 'clientParamParsing',\n true,\n 'enabled by `__NEXT_EXPERIMENTAL_PPR`'\n )\n }\n }\n\n // TODO: Remove this once we've made Cache Components the default.\n if (\n process.env.__NEXT_EXPERIMENTAL_CACHE_COMPONENTS === 'true' &&\n // We do respect an explicit value in the user config.\n (config.experimental.cacheComponents === undefined ||\n (isDefaultConfig && !config.experimental.cacheComponents))\n ) {\n config.experimental.cacheComponents = true\n\n if (configuredExperimentalFeatures) {\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n 'cacheComponents',\n true,\n 'enabled by `__NEXT_EXPERIMENTAL_CACHE_COMPONENTS`'\n )\n }\n }\n\n if (\n config.experimental.enablePrerenderSourceMaps === undefined &&\n config.experimental.cacheComponents === true\n ) {\n config.experimental.enablePrerenderSourceMaps = true\n\n if (configuredExperimentalFeatures) {\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n 'enablePrerenderSourceMaps',\n true,\n 'enabled by `experimental.cacheComponents`'\n )\n }\n }\n}\n\nfunction addConfiguredExperimentalFeature<\n KeyType extends keyof ExperimentalConfig,\n>(\n configuredExperimentalFeatures: ConfiguredExperimentalFeature[],\n key: KeyType,\n value: ExperimentalConfig[KeyType],\n reason?: string\n) {\n if (value !== (defaultConfig.experimental as Record)[key]) {\n configuredExperimentalFeatures.push({ key, value, reason })\n }\n}\n\nfunction setExperimentalFeatureForDebugPrerender<\n KeyType extends keyof ExperimentalConfig,\n>(\n experimentalConfig: ExperimentalConfig,\n key: KeyType,\n value: ExperimentalConfig[KeyType],\n configuredExperimentalFeatures: ConfiguredExperimentalFeature[] | undefined\n) {\n if (experimentalConfig[key] !== value) {\n experimentalConfig[key] = value\n\n if (configuredExperimentalFeatures) {\n const action =\n value === true ? 'enabled' : value === false ? 'disabled' : 'set'\n\n const reason = `${action} by \\`--debug-prerender\\``\n\n addConfiguredExperimentalFeature(\n configuredExperimentalFeatures,\n key,\n value,\n reason\n )\n }\n }\n}\n\nfunction cloneObject(obj: any): any {\n // Primitives & null\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // RegExp → clone via constructor\n if (obj instanceof RegExp) {\n return new RegExp(obj.source, obj.flags)\n }\n\n // Function → just reuse the function reference\n if (typeof obj === 'function') {\n return obj\n }\n\n // Arrays → map each element\n if (Array.isArray(obj)) {\n return obj.map(cloneObject)\n }\n\n // Detect non‑plain objects (class instances)\n const proto = Object.getPrototypeOf(obj)\n const isPlainObject = proto === Object.prototype || proto === null\n\n // If it's not a plain object, just return the original\n if (!isPlainObject) {\n return obj\n }\n\n // Plain object → create a new object with the same prototype\n // and copy all properties, cloning data properties and keeping\n // accessor properties (getters/setters) as‑is.\n const result = Object.create(proto)\n for (const key of Reflect.ownKeys(obj)) {\n const descriptor = Object.getOwnPropertyDescriptor(obj, key)\n\n if (descriptor && (descriptor.get || descriptor.set)) {\n // Accessor property → copy descriptor as‑is (get/set functions)\n Object.defineProperty(result, key, descriptor)\n } else {\n // Data property → clone the value\n result[key] = cloneObject(obj[key])\n }\n }\n\n return result\n}\n"],"names":["loadConfig","normalizeConfig","warnOptionHasBeenDeprecated","warnOptionHasBeenMovedOutOfExperimental","normalizeNextConfigZodErrors","error","shouldExit","issues","normalizeZodErrors","flatMap","issue","message","path","config","nestedPropertyKey","reason","silent","hasWarned","current","found","nestedPropertyKeys","split","key","undefined","Log","warnOnce","checkDeprecations","userConfig","configFileName","dir","experimental","dynamicIO","i18n","hasAppDir","Boolean","findDir","oldExperimentalKey","newKey","warn","newKeys","length","shift","warnCustomizedOption","defaultValue","customMessage","segs","seg","assignDefaults","result","exportTrailingSlash","trailingSlash","cacheComponents","Object","keys","reduce","currentConfig","value","Error","userDistDir","trim","Array","isArray","forEach","ext","defaultConfig","constructor","c","k","v","trustHostHeader","ciEnvironment","hasNextSupport","allowDevelopmentBuild","process","env","NODE_ENV","isStableBuild","ppr","CanaryOnlyError","feature","turbopackPersistentCaching","output","rewrites","redirects","headers","assetPrefix","basePath","startsWith","endsWith","amp","canonicalBase","images","localPatterns","hasMatch","some","pattern","pathname","search","push","remotePatterns","map","protocol","hostname","port","proto","replace","includes","url","URL","hasMatchForAssetPrefix","matchRemotePattern","domains","loader","imageConfigDefault","pathHasPrefix","loaderFile","absolutePath","join","existsSync","devIndicators","buildActivityPosition","position","outputStandalone","serverActions","bodySizeLimit","parseInt","toString","isNaN","middlewareClientMaxBodySize","normalizedValue","bytes","require","parse","outputFileTracingRoot","isAbsolute","resolve","turbopack","root","NEXT_DEPLOYMENT_ID","deploymentId","tracingRoot","turbopackRoot","rootDir","findRootDir","dset","setHttpClientAndAgentOptions","i18nType","locales","defaultLocaleType","defaultLocale","invalidDomainItems","filter","item","domain","console","defaultLocaleDuplicate","find","altItem","hasInvalidLocale","locale","domainItem","JSON","stringify","invalidLocales","String","normalizedLocales","Set","duplicateLocales","localeLower","toLowerCase","has","add","size","localeDetectionType","localeDetection","allowedValues","cacheLife","defaultDefault","revalidate","expire","staleTimes","static","defaultCacheLifeProfile","stale","staticStaleTime","expireTime","cacheHandlers","allowedHandlerNameRegex","handlerKeys","invalidHandlerItems","test","handlerPath","userProvidedModularizeImports","modularizeImports","transform","lodash","userProvidedOptimizePackageImports","optimizePackageImports","htmlLimitedBots","HTML_LIMITED_BOT_UA_RE_STRING","useCache","applyModifyConfig","phase","PHASE_PRODUCTION_BUILD","PHASE_PRODUCTION_SERVER","adapterPath","adapterMod","interopDefault","pathToFileURL","href","modifyConfig","info","name","configCache","Map","getCacheKey","customConfig","reactProductionProfiling","debugPrerender","keyData","hasCustomConfig","djb2Hash","rawConfig","reportExperimentalFeatures","cacheKey","cachedResult","get","configuredExperimentalFeatures","__NEXT_PRIVATE_RENDER_WORKER","loadWebpackHook","err","__NEXT_PRIVATE_STANDALONE_CONFIG","standaloneConfig","set","curLog","loadEnvConfig","PHASE_DEVELOPMENT_SERVER","configOrigin","findUp","CONFIG_FILES","cwd","basename","userConfigModule","envBefore","assign","__NEXT_TEST_MODE","transpileConfig","nextConfigPath","newEnv","updateInitialEnv","loadedConfig","freeze","TURBOPACK","addConfiguredExperimentalFeature","cloneObject","isRootProcess","send","NEXT_MINIMAL","configSchema","state","safeParse","success","messages","errorMessages","flushAndExit","target","slice","turbo","loaders","rules","entries","turbopackMemoryLimit","memoryLimit","turbopackMinify","minify","turbopackTreeShaking","treeShaking","turbopackSourceMaps","sourceMaps","useLightningcss","loadBindings","isLightningSupported","css","lightning","RegExp","source","enforceExperimentalFeatures","isDefaultConfig","completeConfig","relative","configFile","finalConfig","configBaseName","extname","unsupportedConfig","sync","clonedDefaultConfig","options","PHASE_EXPORT","setExperimentalFeatureForDebugPrerender","__NEXT_EXPERIMENTAL_CACHE_COMPONENTS","__NEXT_EXPERIMENTAL_PPR","clientSegmentCache","clientParamParsing","enablePrerenderSourceMaps","experimentalConfig","action","obj","flags","getPrototypeOf","isPlainObject","prototype","create","Reflect","ownKeys","descriptor","getOwnPropertyDescriptor","defineProperty"],"mappings":"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","ignoreList":[0]}