MCPcopy
hub / github.com/vitejs/vite / resolveConfig

Function resolveConfig

packages/vite/src/node/config.ts:1395–2222  ·  view source on GitHub ↗
(
  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,
)

Source from the content-addressed store, hash-verified

1393}
1394
1395export async function resolveConfig(
1396 inlineConfig: InlineConfig,
1397 command: 'build' | 'serve',
1398 defaultMode = 'development',
1399 defaultNodeEnv = 'development',
1400 isPreview = false,
1401 /** @internal */
1402 patchConfig: ((config: ResolvedConfig) => void) | undefined = undefined,
1403 /** @internal */
1404 patchPlugins: ((resolvedPlugins: Plugin[]) => void) | undefined = undefined,
1405): Promise<ResolvedConfig> {
1406 let config = inlineConfig
1407 config.build ??= {}
1408 setupRollupOptionCompat(config.build, 'build')
1409 config.worker ??= {}
1410 setupRollupOptionCompat(config.worker, 'worker')
1411 config.optimizeDeps ??= {}
1412 setupRollupOptionCompat(config.optimizeDeps, 'optimizeDeps')
1413 if (config.ssr) {
1414 config.ssr.optimizeDeps ??= {}
1415 setupRollupOptionCompat(config.ssr.optimizeDeps, 'ssr.optimizeDeps')
1416 }
1417
1418 let configFileDependencies: string[] = []
1419 let mode = inlineConfig.mode || defaultMode
1420 // When `NODE_ENV` isn't set locally, ask Vite Task for it; the runner
1421 // also records the env in the build's cache key.
1422 if (process.env.NODE_ENV === undefined) {
1423 const nodeEnv = getEnv('NODE_ENV')
1424 if (nodeEnv !== undefined) {
1425 process.env.NODE_ENV = nodeEnv
1426 }
1427 }
1428 const isNodeEnvSet = !!process.env.NODE_ENV
1429 const packageCache: PackageCache = new Map()
1430
1431 // some dependencies e.g. @vue/compiler-* relies on NODE_ENV for getting
1432 // production-specific behavior, so set it early on
1433 if (!isNodeEnvSet) {
1434 process.env.NODE_ENV = defaultNodeEnv
1435 }
1436
1437 const configEnv: ConfigEnv = {
1438 mode,
1439 command,
1440 isSsrBuild: command === 'build' && !!config.build?.ssr,
1441 isPreview,
1442 }
1443
1444 let { configFile } = config
1445 if (configFile !== false) {
1446 const loadResult = await loadConfigFromFile(
1447 configEnv,
1448 configFile,
1449 config.root,
1450 config.logLevel,
1451 config.customLogger,
1452 config.configLoader,

Callers 15

previewFunction · 0.90
resolveConfigToBuildFunction · 0.90
runnerImportFunction · 0.90
_createServerFunction · 0.90
getDevEnvironmentFunction · 0.90
config.spec.tsFile · 0.90
testConfigFunction · 0.90
createIsExternalFunction · 0.90
resolveConfigWithPluginFunction · 0.90
createCssPluginTransformFunction · 0.90
css.spec.tsFile · 0.90
getSassResolverFunction · 0.90

Calls 15

setupRollupOptionCompatFunction · 0.90
mergeConfigFunction · 0.90
asyncFlattenFunction · 0.90
createLoggerFunction · 0.90
normalizePathFunction · 0.90
deepCloneFunction · 0.90
resolveSSROptionsFunction · 0.90
loadEnvFunction · 0.90
resolveEnvPrefixFunction · 0.90
findNearestPackageDataFunction · 0.90
resolveServerOptionsFunction · 0.90

Tested by 10

getDevEnvironmentFunction · 0.72
testConfigFunction · 0.72
createIsExternalFunction · 0.72
resolveConfigWithPluginFunction · 0.72
createCssPluginTransformFunction · 0.72
getSassResolverFunction · 0.72
callOnRollupLogFunction · 0.68