resolveEnvironmentOptions() — vite Function Reference
Architecture documentation for the resolveEnvironmentOptions() function in config.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 05b85d27_e543_a69f_707e_8e37768b0fda["resolveEnvironmentOptions()"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] 05b85d27_e543_a69f_707e_8e37768b0fda -->|defined in| 7da774f9_eca5_d54e_6e01_6bee7d460a2b 58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig()"] 58c4a210_68fe_1b4d_ed49_d59203f97ef1 -->|calls| 05b85d27_e543_a69f_707e_8e37768b0fda 1281fc07_d07b_eda1_0adf_a01736cf4431["resolveEnvironmentResolveOptions()"] 05b85d27_e543_a69f_707e_8e37768b0fda -->|calls| 1281fc07_d07b_eda1_0adf_a01736cf4431 9d98f746_61f2_7414_b955_969eb9cb18d5["resolveDepOptimizationOptions()"] 05b85d27_e543_a69f_707e_8e37768b0fda -->|calls| 9d98f746_61f2_7414_b955_969eb9cb18d5 3c538550_569a_9aaf_ddb0_57da8074cfca["resolveDevEnvironmentOptions()"] 05b85d27_e543_a69f_707e_8e37768b0fda -->|calls| 3c538550_569a_9aaf_ddb0_57da8074cfca 5a2ddafa_69c5_82bb_4c9e_32634cfa6eed["resolveBuildEnvironmentOptions()"] 05b85d27_e543_a69f_707e_8e37768b0fda -->|calls| 5a2ddafa_69c5_82bb_4c9e_32634cfa6eed style 05b85d27_e543_a69f_707e_8e37768b0fda fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/config.ts lines 915–991
function resolveEnvironmentOptions(
options: EnvironmentOptions,
alias: Alias[],
preserveSymlinks: boolean,
forceOptimizeDeps: boolean | undefined,
logger: Logger,
environmentName: string,
isBundledDev: boolean,
// Backward compatibility
isSsrTargetWebworkerSet?: boolean,
preTransformRequests?: boolean,
): ResolvedEnvironmentOptions {
const isClientEnvironment = environmentName === 'client'
const consumer =
options.consumer ?? (isClientEnvironment ? 'client' : 'server')
const isSsrTargetWebworkerEnvironment =
isSsrTargetWebworkerSet && environmentName === 'ssr'
if (options.define?.['process.env']) {
const processEnvDefine = options.define['process.env']
if (typeof processEnvDefine === 'object') {
const pathKey = Object.entries(processEnvDefine).find(
// check with toLowerCase() to match with `Path` / `PATH` (Windows uses `Path`)
([key, value]) => key.toLowerCase() === 'path' && !!value,
)?.[0]
if (pathKey) {
logger.warnOnce(
colors.yellow(
`The \`define\` option contains an object with ${JSON.stringify(pathKey)} for "process.env" key. ` +
'It looks like you may have passed the entire `process.env` object to `define`, ' +
'which can unintentionally expose all environment variables. ' +
'This poses a security risk and is discouraged.',
),
)
}
}
}
const resolve = resolveEnvironmentResolveOptions(
options.resolve,
alias,
preserveSymlinks,
logger,
consumer,
isSsrTargetWebworkerEnvironment,
)
return {
define: options.define,
resolve,
keepProcessEnv:
options.keepProcessEnv ??
(isSsrTargetWebworkerEnvironment ? false : consumer === 'server'),
consumer,
optimizeDeps: resolveDepOptimizationOptions(
options.optimizeDeps,
resolve.preserveSymlinks,
forceOptimizeDeps,
consumer,
logger,
),
dev: resolveDevEnvironmentOptions(
options.dev,
environmentName,
consumer,
preTransformRequests,
),
build: resolveBuildEnvironmentOptions(
options.build ?? {},
logger,
consumer,
isBundledDev,
),
plugins: undefined!, // to be resolved later
// will be set by `setOptimizeDepsPluginNames` later
optimizeDepsPluginNames: undefined!,
}
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does resolveEnvironmentOptions() do?
resolveEnvironmentOptions() is a function in the vite codebase, defined in packages/vite/src/node/config.ts.
Where is resolveEnvironmentOptions() defined?
resolveEnvironmentOptions() is defined in packages/vite/src/node/config.ts at line 915.
What does resolveEnvironmentOptions() call?
resolveEnvironmentOptions() calls 4 function(s): resolveBuildEnvironmentOptions, resolveDepOptimizationOptions, resolveDevEnvironmentOptions, resolveEnvironmentResolveOptions.
What calls resolveEnvironmentOptions()?
resolveEnvironmentOptions() is called by 1 function(s): resolveConfig.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free