resolveConfig() — vite Function Reference
Architecture documentation for the resolveConfig() function in config.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig()"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] 58c4a210_68fe_1b4d_ed49_d59203f97ef1 -->|defined in| 7da774f9_eca5_d54e_6e01_6bee7d460a2b edf612e5_7fcd_cfe5_cc15_2e8f0b2387e1["createIsExternal()"] edf612e5_7fcd_cfe5_cc15_2e8f0b2387e1 -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 4bea0f1b_5f04_1db0_215b_2e5117aff16d["createAssetImportMetaurlPluginTransform()"] 4bea0f1b_5f04_1db0_215b_2e5117aff16d -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 5264d5e7_3105_8e4d_45a1_d7d3af9915a8["createCssPluginTransform()"] 5264d5e7_3105_8e4d_45a1_d7d3af9915a8 -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 85e82af4_ced1_f569_fa46_a75344872da0["createDefinePluginTransform()"] 85e82af4_ced1_f569_fa46_a75344872da0 -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 eda2b514_a922_d4f2_13bf_14e0c1711321["resolveConfigWithPlugin()"] eda2b514_a922_d4f2_13bf_14e0c1711321 -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 7f71f89c_a2bd_87a9_0341_0f09d35da72f["createWorkerImportMetaUrlPluginTransform()"] 7f71f89c_a2bd_87a9_0341_0f09d35da72f -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 3dbc9dfb_0893_5792_6f30_598af5407825["resolveConfigToBuild()"] 3dbc9dfb_0893_5792_6f30_598af5407825 -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 5c50110b_5c76_c14f_b1dd_3efd3df7f375["preview()"] 5c50110b_5c76_c14f_b1dd_3efd3df7f375 -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 ee113a86_da26_172f_fe42_9dff7c10af7c["getDevEnvironment()"] ee113a86_da26_172f_fe42_9dff7c10af7c -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 24ecf2a1_3c09_d451_76f3_9485b4e993f8["_createServer()"] 24ecf2a1_3c09_d451_76f3_9485b4e993f8 -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 585bf922_8932_bdb0_98d0_ee522538cb6d["runnerImport()"] 585bf922_8932_bdb0_98d0_ee522538cb6d -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1 f56ee71e_4165_1d46_cf2e_e9dc68848891["setupRollupOptionCompat()"] 58c4a210_68fe_1b4d_ed49_d59203f97ef1 -->|calls| f56ee71e_4165_1d46_cf2e_e9dc68848891 53f0a505_9626_e709_c92b_e7f00c6e0bd7["loadConfigFromFile()"] 58c4a210_68fe_1b4d_ed49_d59203f97ef1 -->|calls| 53f0a505_9626_e709_c92b_e7f00c6e0bd7 style 58c4a210_68fe_1b4d_ed49_d59203f97ef1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/config.ts lines 1370–2141
export async function resolveConfig(
inlineConfig: InlineConfig,
command: 'build' | 'serve',
defaultMode = 'development',
defaultNodeEnv = 'development',
isPreview = false,
/** @internal */
patchConfig: ((config: ResolvedConfig) => void) | undefined = undefined,
/** @internal */
patchPlugins: ((resolvedPlugins: Plugin[]) => void) | undefined = undefined,
): Promise<ResolvedConfig> {
let config = inlineConfig
config.build ??= {}
setupRollupOptionCompat(config.build, 'build')
config.worker ??= {}
setupRollupOptionCompat(config.worker, 'worker')
config.optimizeDeps ??= {}
setupRollupOptionCompat(config.optimizeDeps, 'optimizeDeps')
if (config.ssr) {
config.ssr.optimizeDeps ??= {}
setupRollupOptionCompat(config.ssr.optimizeDeps, 'ssr.optimizeDeps')
}
let configFileDependencies: string[] = []
let mode = inlineConfig.mode || defaultMode
const isNodeEnvSet = !!process.env.NODE_ENV
const packageCache: PackageCache = new Map()
// some dependencies e.g. @vue/compiler-* relies on NODE_ENV for getting
// production-specific behavior, so set it early on
if (!isNodeEnvSet) {
process.env.NODE_ENV = defaultNodeEnv
}
const configEnv: ConfigEnv = {
mode,
command,
isSsrBuild: command === 'build' && !!config.build?.ssr,
isPreview,
}
let { configFile } = config
if (configFile !== false) {
const loadResult = await loadConfigFromFile(
configEnv,
configFile,
config.root,
config.logLevel,
config.customLogger,
config.configLoader,
)
if (loadResult) {
config = mergeConfig(loadResult.config, config)
configFile = loadResult.path
configFileDependencies = loadResult.dependencies
}
}
// user config may provide an alternative mode. But --mode has a higher priority
mode = inlineConfig.mode || config.mode || mode
configEnv.mode = mode
const filterPlugin = (p: Plugin | FalsyPlugin): p is Plugin => {
if (!p) {
return false
} else if (!p.apply) {
return true
} else if (typeof p.apply === 'function') {
return p.apply({ ...config, mode }, configEnv)
} else {
return p.apply === command
}
}
// resolve plugins
const rawPlugins = (await asyncFlatten(config.plugins || [])).filter(
filterPlugin,
)
const [prePlugins, normalPlugins, postPlugins] = sortUserPlugins(rawPlugins)
Domain
Subdomains
Defined In
Calls
- applyDepOptimizationOptionCompat()
- arraify()
- asyncFlatten()
- checkBadCharactersInPath()
- config()
- convertEsbuildConfigToOxcConfig()
- createIdResolver()
- createLogger()
- createPluginHookUtils()
- decodeBase()
- findNearestPackageData()
- getAdditionalAllowedHosts()
- getDefaultEnvironmentOptions()
- isParentDirectory()
- loadConfigFromFile()
- loadEnv()
- mergeConfig()
- mergeWithDefaults()
- normalizePath()
- optimizeDepsDisabledBackwardCompatibility()
- resolve()
- resolveBaseUrl()
- resolveBuildEnvironmentOptions()
- resolveBuilderOptions()
- resolveCSSOptions()
- resolveDevEnvironmentOptions()
- resolveDevToolsConfig()
- resolveEnvPrefix()
- resolveEnvironmentOptions()
- resolveEnvironmentPlugins()
- resolveNativePluginEnabledLevel()
- resolvePlugins()
- resolvePreviewOptions()
- resolveResolveOptions()
- resolveSSROptions()
- resolveServerOptions()
- runConfigEnvironmentHook()
- runConfigHook()
- setOptimizeDepsPluginNames()
- setupRollupOptionCompat()
- sortUserPlugins()
- warn()
- withTrailingSlash()
Called By
Source
Frequently Asked Questions
What does resolveConfig() do?
resolveConfig() is a function in the vite codebase, defined in packages/vite/src/node/config.ts.
Where is resolveConfig() defined?
resolveConfig() is defined in packages/vite/src/node/config.ts at line 1370.
What does resolveConfig() call?
resolveConfig() calls 43 function(s): applyDepOptimizationOptionCompat, arraify, asyncFlatten, checkBadCharactersInPath, config, convertEsbuildConfigToOxcConfig, createIdResolver, createLogger, and 35 more.
What calls resolveConfig()?
resolveConfig() is called by 11 function(s): _createServer, createAssetImportMetaurlPluginTransform, createCssPluginTransform, createDefinePluginTransform, createIsExternal, createWorkerImportMetaUrlPluginTransform, getDevEnvironment, preview, and 3 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free