Duffer Derek
{"version":3,"sources":["../../src/build/define-env.ts"],"sourcesContent":["import type {\n I18NConfig,\n I18NDomains,\n NextConfigComplete,\n} from '../server/config-shared'\nimport type { ProxyMatcher } from './analysis/get-page-static-info'\nimport type { Rewrite } from '../lib/load-custom-routes'\nimport path from 'node:path'\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 DefineEnvOptions {\n isTurbopack: boolean\n clientRouterFilters?: {\n staticFilter: BloomFilter\n dynamicFilter: BloomFilter\n }\n config: NextConfigComplete\n dev: boolean\n distDir: string\n projectPath: string\n fetchCacheKeyPrefix: string | undefined\n hasRewrites: boolean\n isClient: boolean\n isEdgeServer: boolean\n isNodeServer: boolean\n middlewareMatchers: ProxyMatcher[] | undefined\n omitNonDeterministic?: boolean\n rewrites: {\n beforeFiles: Rewrite[]\n afterFiles: Rewrite[]\n fallback: Rewrite[]\n }\n}\n\nconst DEFINE_ENV_EXPRESSION = Symbol('DEFINE_ENV_EXPRESSION')\n\ninterface DefineEnv {\n [key: string]:\n | string\n | number\n | string[]\n | boolean\n | { [DEFINE_ENV_EXPRESSION]: string }\n | ProxyMatcher[]\n | BloomFilter\n | Partial<NextConfigComplete['images']>\n | I18NDomains\n | I18NConfig\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 = Object.fromEntries(\n Object.entries(defineEnv).map(([key, value]) => [\n key,\n typeof value === 'object' && DEFINE_ENV_EXPRESSION in value\n ? value[DEFINE_ENV_EXPRESSION]\n : 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 projectPath,\n fetchCacheKeyPrefix,\n hasRewrites,\n isClient,\n isEdgeServer,\n isNodeServer,\n middlewareMatchers,\n omitNonDeterministic,\n rewrites,\n}: DefineEnvOptions): SerializedDefineEnv {\n const nextPublicEnv = getNextPublicEnvironmentVariables()\n const nextConfigEnv = getNextConfigEnv(config)\n\n const isPPREnabled = checkIsAppPPREnabled(config.experimental.ppr)\n const isCacheComponentsEnabled = !!config.cacheComponents\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 'process.env.__NEXT_BUNDLER': isTurbopack\n ? 'Turbopack'\n : process.env.NEXT_RSPACK\n ? 'Rspack'\n : 'Webpack',\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_DEV_SERVER': dev ? '1' : '',\n 'process.env.NEXT_RUNTIME': isEdgeServer\n ? 'edge'\n : isNodeServer\n ? 'nodejs'\n : '',\n 'process.env.NEXT_MINIMAL': '',\n 'process.env.__NEXT_APP_NAV_FAIL_HANDLING': Boolean(\n config.experimental.appNavFailHandling\n ),\n 'process.env.__NEXT_APP_NEW_SCROLL_HANDLER': Boolean(\n config.experimental.appNewScrollHandler\n ),\n 'process.env.__NEXT_PPR': isPPREnabled,\n 'process.env.__NEXT_CACHE_COMPONENTS': isCacheComponentsEnabled,\n 'process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS': Boolean(\n config.experimental.cachedNavigations\n ),\n 'process.env.__NEXT_INSTANT_NAV_TOGGLE':\n !!config.experimental.instantNavigationDevToolsToggle,\n 'process.env.__NEXT_USE_CACHE': isUseCacheEnabled,\n\n 'process.env.NEXT_IMMUTABLE_ASSET_TOKEN':\n config.experimental.immutableAssetToken || '',\n\n ...(config.experimental?.useSkewCookie || !config.deploymentId\n ? {\n 'process.env.NEXT_DEPLOYMENT_ID': false,\n }\n : isClient\n ? isTurbopack\n ? {\n // This is set at runtime by packages/next/src/client/register-deployment-id-global.ts\n 'process.env.NEXT_DEPLOYMENT_ID': {\n [DEFINE_ENV_EXPRESSION]: 'globalThis.NEXT_DEPLOYMENT_ID',\n },\n }\n : {\n // For Webpack, we currently don't use the non-inlining globalThis.NEXT_DEPLOYMENT_ID\n // approach because we cannot forward this global variable to web workers easily.\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }\n : config.experimental?.runtimeServerDeploymentId\n ? {\n // Don't inline at all, keep process.env.NEXT_DEPLOYMENT_ID as is\n }\n : {\n 'process.env.NEXT_DEPLOYMENT_ID': config.deploymentId || false,\n }),\n\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_VALIDATE_RSC_REQUEST_HEADERS': Boolean(\n config.experimental.validateRSCRequestHeaders\n ),\n 'process.env.__NEXT_DYNAMIC_ON_HOVER': Boolean(\n config.experimental.dynamicOnHover\n ),\n 'process.env.__NEXT_PREFETCH_INLINING': Boolean(\n config.experimental.prefetchInlining\n ),\n 'process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE':\n config.experimental.optimisticClientCache ?? true,\n 'process.env.__NEXT_MIDDLEWARE_PREFETCH':\n config.experimental.proxyPrefetch ?? '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 // This is used in devtools to strip the project path in edge runtime,\n // as there's only a dummy `dir` value (`.`) as edge runtime doesn't have concept of file system.\n ...(dev && isEdgeServer\n ? {\n 'process.env.__NEXT_EDGE_PROJECT_DIR': isTurbopack\n ? path.relative(process.cwd(), projectPath)\n : projectPath,\n }\n : {}),\n 'process.env.__NEXT_BASE_PATH': config.basePath,\n 'process.env.__NEXT_CASE_SENSITIVE_ROUTES': Boolean(\n config.experimental.caseSensitiveRoutes\n ),\n 'process.env.__NEXT_REWRITES': rewrites as any,\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_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_I18N_CONFIG': config.i18n || '',\n 'process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE':\n config.skipProxyUrlNormalize,\n 'process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE':\n config.experimental.externalProxyRewritesResolve ?? 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 ...(isNodeServer || isEdgeServer\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 ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_EXPERIMENTAL_REACT':\n needsExperimentalReact(config),\n }\n : undefined),\n\n 'process.env.__NEXT_MULTI_ZONE_DRAFT_MODE':\n config.experimental.multiZoneDraftMode ?? false,\n 'process.env.__NEXT_TRUST_HOST_HEADER':\n config.experimental.trustHostHeader ?? false,\n 'process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS':\n config.experimental.allowedRevalidateHeaderKeys ?? [],\n ...(isNodeServer || isEdgeServer\n ? {\n 'process.env.__NEXT_RELATIVE_DIST_DIR': config.distDir,\n 'process.env.__NEXT_RELATIVE_PROJECT_DIR': path.relative(\n process.cwd(),\n projectPath\n ),\n }\n : {}),\n\n 'process.env.__NEXT_BROWSER_DEBUG_INFO_IN_TERMINAL': JSON.stringify(\n (config.logging && config.logging.browserToTerminal) || false\n ),\n 'process.env.__NEXT_MCP_SERVER': !!config.experimental.mcpServer,\n\n // The devtools need to know whether or not to show an option to clear the\n // bundler cache. This option may be removed later once Turbopack's\n // filesystem cache feature is more stable.\n //\n // This environment value is currently best-effort:\n // - It's possible to disable the webpack filesystem cache, but it's\n // unlikely for a user to do that.\n // - Rspack's filesystem cache is unstable and requires a different\n // configuration than webpack to enable (which we don't do).\n //\n // In the worst case we'll show an option to clear the cache, but it'll be a\n // no-op that just restarts the development server.\n 'process.env.__NEXT_BUNDLER_HAS_PERSISTENT_CACHE':\n !isTurbopack ||\n (config.experimental.turbopackFileSystemCacheForDev ?? false),\n 'process.env.__NEXT_REACT_DEBUG_CHANNEL':\n config.experimental.reactDebugChannel ?? false,\n 'process.env.__NEXT_TRANSITION_INDICATOR':\n config.experimental.transitionIndicator ?? false,\n 'process.env.__NEXT_GESTURE_TRANSITION':\n config.experimental.gestureTransition ?? false,\n 'process.env.__NEXT_OPTIMISTIC_ROUTING':\n config.experimental.optimisticRouting ?? false,\n 'process.env.__NEXT_VARY_PARAMS': config.experimental.varyParams ?? false,\n 'process.env.__NEXT_EXPOSE_TESTING_API':\n dev || config.experimental.exposeTestingApiInProductionBuild === true,\n 'process.env.__NEXT_CACHE_LIFE': config.cacheLife,\n 'process.env.__NEXT_CLIENT_PARAM_PARSING_ORIGINS':\n config.experimental.clientParamParsingOrigins || [],\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.`\n )\n }\n defineEnv[key] = userDefines[key]\n }\n\n if (isNodeServer || isEdgeServer) {\n const userDefinesServer = config.compiler?.defineServer ?? {}\n for (const key in userDefinesServer) {\n if (defineEnv.hasOwnProperty(key)) {\n throw new Error(\n `The \\`compiler.defineServer\\` option is configured to replace the \\`${key}\\` variable. This variable is either part of a Next.js built-in or is already configured.`\n )\n }\n defineEnv[key] = userDefinesServer[key]\n }\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 if (!config.experimental.runtimeServerDeploymentId) {\n for (const key of ['process.env.NEXT_DEPLOYMENT_ID']) {\n serializedDefineEnv[key] = safeKey(key)\n }\n }\n }\n\n return serializedDefineEnv\n}\n"],"names":["getDefineEnv","DEFINE_ENV_EXPRESSION","Symbol","serializeDefineEnv","defineEnv","defineEnvStringified","Object","fromEntries","entries","map","key","value","JSON","stringify","getImageConfig","config","dev","deviceSizes","images","imageSizes","qualities","path","loader","dangerouslyAllowSVG","unoptimized","domains","remotePatterns","localPatterns","output","isTurbopack","clientRouterFilters","distDir","projectPath","fetchCacheKeyPrefix","hasRewrites","isClient","isEdgeServer","isNodeServer","middlewareMatchers","omitNonDeterministic","rewrites","nextPublicEnv","getNextPublicEnvironmentVariables","nextConfigEnv","getNextConfigEnv","isPPREnabled","checkIsAppPPREnabled","experimental","ppr","isCacheComponentsEnabled","cacheComponents","isUseCacheEnabled","useCache","__NEXT_DEFINE_ENV","EdgeRuntime","process","env","NEXT_EDGE_RUNTIME_PROVIDER","NEXT_RSPACK","allowDevelopmentBuild","Boolean","appNavFailHandling","appNewScrollHandler","cachedNavigations","instantNavigationDevToolsToggle","immutableAssetToken","useSkewCookie","deploymentId","runtimeServerDeploymentId","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","manualClientBasePath","isNaN","Number","staleTimes","dynamic","static","clientRouterFilter","staticFilter","dynamicFilter","validateRSCRequestHeaders","dynamicOnHover","prefetchInlining","optimisticClientCache","proxyPrefetch","crossOrigin","__NEXT_TEST_MODE","relative","cwd","basePath","caseSensitiveRoutes","trailingSlash","devIndicators","position","reactStrictMode","optimizeCss","nextScriptWorkers","scrollRestoration","i18n","skipProxyUrlNormalize","externalProxyRewritesResolve","skipTrailingSlashRedirect","webVitalsAttribution","length","linkNoTouchStart","assetPrefix","authInterrupts","NEXT_TELEMETRY_DISABLED","undefined","needsExperimentalReact","multiZoneDraftMode","trustHostHeader","allowedRevalidateHeaderKeys","logging","browserToTerminal","mcpServer","turbopackFileSystemCacheForDev","reactDebugChannel","transitionIndicator","gestureTransition","optimisticRouting","varyParams","exposeTestingApiInProductionBuild","cacheLife","clientParamParsingOrigins","userDefines","compiler","define","hasOwnProperty","Error","userDefinesServer","defineServer","serializedDefineEnv","safeKey","split","pop"],"mappings":"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","ignoreList":[0]}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists