Home / Function/ resolveBuildEnvironmentOptions() — vite Function Reference

resolveBuildEnvironmentOptions() — vite Function Reference

Architecture documentation for the resolveBuildEnvironmentOptions() function in build.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  5a2ddafa_69c5_82bb_4c9e_32634cfa6eed["resolveBuildEnvironmentOptions()"]
  45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"]
  5a2ddafa_69c5_82bb_4c9e_32634cfa6eed -->|defined in| 45981d85_cbdd_e969_8c88_c17072ea0eda
  05b85d27_e543_a69f_707e_8e37768b0fda["resolveEnvironmentOptions()"]
  05b85d27_e543_a69f_707e_8e37768b0fda -->|calls| 5a2ddafa_69c5_82bb_4c9e_32634cfa6eed
  58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig()"]
  58c4a210_68fe_1b4d_ed49_d59203f97ef1 -->|calls| 5a2ddafa_69c5_82bb_4c9e_32634cfa6eed
  50c942bf_5ddd_ac2c_f4f6_571d569b7215["mergeWithDefaults()"]
  5a2ddafa_69c5_82bb_4c9e_32634cfa6eed -->|calls| 50c942bf_5ddd_ac2c_f4f6_571d569b7215
  f56ee71e_4165_1d46_cf2e_e9dc68848891["setupRollupOptionCompat()"]
  5a2ddafa_69c5_82bb_4c9e_32634cfa6eed -->|calls| f56ee71e_4165_1d46_cf2e_e9dc68848891
  cd876c7b_825e_7e39_9771_1b4f9bfc7754["unique()"]
  5a2ddafa_69c5_82bb_4c9e_32634cfa6eed -->|calls| cd876c7b_825e_7e39_9771_1b4f9bfc7754
  3cf1d94a_16a2_96d6_7d1d_9757e22a2557["warn()"]
  5a2ddafa_69c5_82bb_4c9e_32634cfa6eed -->|calls| 3cf1d94a_16a2_96d6_7d1d_9757e22a2557
  style 5a2ddafa_69c5_82bb_4c9e_32634cfa6eed fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/build.ts lines 418–498

export function resolveBuildEnvironmentOptions(
  raw: BuildEnvironmentOptions,
  logger: Logger,
  consumer: 'client' | 'server' | undefined,
  isBundledDev: boolean,
): ResolvedBuildEnvironmentOptions {
  const deprecatedPolyfillModulePreload = raw.polyfillModulePreload
  const { polyfillModulePreload, ...rest } = raw
  raw = rest
  if (deprecatedPolyfillModulePreload !== undefined) {
    logger.warn(
      'polyfillModulePreload is deprecated. Use modulePreload.polyfill instead.',
    )
  }
  if (
    deprecatedPolyfillModulePreload === false &&
    raw.modulePreload === undefined
  ) {
    raw.modulePreload = { polyfill: false }
  }

  const merged = mergeWithDefaults(
    {
      ..._buildEnvironmentOptionsDefaults,
      cssCodeSplit: !raw.lib,
      minify: consumer === 'server' || isBundledDev ? false : 'oxc',
      rollupOptions: {},
      rolldownOptions: undefined,
      ssr: consumer === 'server',
      emitAssets: consumer === 'client',
      createEnvironment: (name, config) => new BuildEnvironment(name, config),
    } satisfies BuildEnvironmentOptions,
    raw,
  )
  setupRollupOptionCompat(merged, 'build')
  merged.rolldownOptions = {
    platform: consumer === 'server' ? 'node' : 'browser',
    ...merged.rolldownOptions,
  }

  // handle special build targets
  if (merged.target === 'baseline-widely-available') {
    merged.target = ESBUILD_BASELINE_WIDELY_AVAILABLE_TARGET
  }
  // dedupe target
  if (Array.isArray(merged.target)) {
    // esbuild allowed duplicate targets but oxc does not
    merged.target = unique(merged.target)
  }

  // normalize false string into actual false
  if ((merged.minify as string) === 'false') {
    merged.minify = false
  } else if (merged.minify === true) {
    merged.minify = 'oxc'
  }

  const defaultModulePreload = {
    polyfill: true,
  }

  const resolved: ResolvedBuildEnvironmentOptions = {
    ...merged,
    cssTarget: merged.cssTarget ?? merged.target,
    cssMinify:
      merged.cssMinify ??
      (consumer === 'server' ? 'lightningcss' : !!merged.minify),
    // Resolve to false | object
    modulePreload:
      merged.modulePreload === false
        ? false
        : merged.modulePreload === true
          ? defaultModulePreload
          : {
              ...defaultModulePreload,
              ...merged.modulePreload,
            },
  }

  return resolved
}

Domain

Subdomains

Frequently Asked Questions

What does resolveBuildEnvironmentOptions() do?
resolveBuildEnvironmentOptions() is a function in the vite codebase, defined in packages/vite/src/node/build.ts.
Where is resolveBuildEnvironmentOptions() defined?
resolveBuildEnvironmentOptions() is defined in packages/vite/src/node/build.ts at line 418.
What does resolveBuildEnvironmentOptions() call?
resolveBuildEnvironmentOptions() calls 4 function(s): mergeWithDefaults, setupRollupOptionCompat, unique, warn.
What calls resolveBuildEnvironmentOptions()?
resolveBuildEnvironmentOptions() is called by 2 function(s): resolveConfig, resolveEnvironmentOptions.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free