Home / Function/ resolveDepOptimizationOptions() — vite Function Reference

resolveDepOptimizationOptions() — vite Function Reference

Architecture documentation for the resolveDepOptimizationOptions() function in config.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  9d98f746_61f2_7414_b955_969eb9cb18d5["resolveDepOptimizationOptions()"]
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  9d98f746_61f2_7414_b955_969eb9cb18d5 -->|defined in| 7da774f9_eca5_d54e_6e01_6bee7d460a2b
  05b85d27_e543_a69f_707e_8e37768b0fda["resolveEnvironmentOptions()"]
  05b85d27_e543_a69f_707e_8e37768b0fda -->|calls| 9d98f746_61f2_7414_b955_969eb9cb18d5
  50c942bf_5ddd_ac2c_f4f6_571d569b7215["mergeWithDefaults()"]
  9d98f746_61f2_7414_b955_969eb9cb18d5 -->|calls| 50c942bf_5ddd_ac2c_f4f6_571d569b7215
  f56ee71e_4165_1d46_cf2e_e9dc68848891["setupRollupOptionCompat()"]
  9d98f746_61f2_7414_b955_969eb9cb18d5 -->|calls| f56ee71e_4165_1d46_cf2e_e9dc68848891
  00831e67_fe39_7ed4_eed0_e29cb8e15286["warn()"]
  9d98f746_61f2_7414_b955_969eb9cb18d5 -->|calls| 00831e67_fe39_7ed4_eed0_e29cb8e15286
  style 9d98f746_61f2_7414_b955_969eb9cb18d5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/config.ts lines 1168–1325

function resolveDepOptimizationOptions(
  optimizeDeps: DepOptimizationOptions | undefined,
  preserveSymlinks: boolean,
  forceOptimizeDeps: boolean | undefined,
  consumer: 'client' | 'server' | undefined,
  logger: Logger,
): DepOptimizationOptions {
  if (
    optimizeDeps?.rolldownOptions &&
    optimizeDeps?.rolldownOptions === optimizeDeps?.rollupOptions
  ) {
    delete optimizeDeps?.rollupOptions
  }
  const merged = mergeWithDefaults(
    {
      ...configDefaults.optimizeDeps,
      disabled: undefined, // do not set here to avoid deprecation warning
      noDiscovery: consumer !== 'client',
      force: forceOptimizeDeps ?? configDefaults.optimizeDeps.force,
    },
    optimizeDeps ?? {},
  )
  setupRollupOptionCompat(merged, 'optimizeDeps')

  const rolldownOptions = merged.rolldownOptions as Exclude<
    DepOptimizationOptions['rolldownOptions'],
    undefined
  >

  if (merged.esbuildOptions && Object.keys(merged.esbuildOptions).length > 0) {
    logger.warn(
      colors.yellow(
        `You or a plugin you are using have set \`optimizeDeps.esbuildOptions\` ` +
          `but this option is now deprecated. ` +
          `Vite now uses Rolldown to optimize the dependencies. ` +
          `Please use \`optimizeDeps.rolldownOptions\` instead.`,
      ),
    )

    rolldownOptions.resolve ??= {}
    rolldownOptions.output ??= {}
    rolldownOptions.transform ??= {}

    const setResolveOptions = <
      T extends keyof Exclude<RolldownOptions['resolve'], undefined>,
    >(
      key: T,
      value: Exclude<RolldownOptions['resolve'], undefined>[T],
    ) => {
      if (value !== undefined && rolldownOptions.resolve![key] === undefined) {
        rolldownOptions.resolve![key] = value
      }
    }

    if (
      merged.esbuildOptions.minify !== undefined &&
      rolldownOptions.output.minify === undefined
    ) {
      rolldownOptions.output.minify = merged.esbuildOptions.minify
    }
    if (
      merged.esbuildOptions.treeShaking !== undefined &&
      rolldownOptions.treeshake === undefined
    ) {
      rolldownOptions.treeshake = merged.esbuildOptions.treeShaking
    }
    if (
      merged.esbuildOptions.define !== undefined &&
      rolldownOptions.transform.define === undefined
    ) {
      rolldownOptions.transform.define = merged.esbuildOptions.define
    }
    if (merged.esbuildOptions.loader !== undefined) {
      const loader = merged.esbuildOptions.loader
      rolldownOptions.moduleTypes ??= {}
      for (const [key, value] of Object.entries(loader)) {
        if (
          rolldownOptions.moduleTypes[key] === undefined &&
          value !== 'copy' &&
          value !== 'css' &&
          value !== 'default' &&

Domain

Subdomains

Frequently Asked Questions

What does resolveDepOptimizationOptions() do?
resolveDepOptimizationOptions() is a function in the vite codebase, defined in packages/vite/src/node/config.ts.
Where is resolveDepOptimizationOptions() defined?
resolveDepOptimizationOptions() is defined in packages/vite/src/node/config.ts at line 1168.
What does resolveDepOptimizationOptions() call?
resolveDepOptimizationOptions() calls 3 function(s): mergeWithDefaults, setupRollupOptionCompat, warn.
What calls resolveDepOptimizationOptions()?
resolveDepOptimizationOptions() is called by 1 function(s): resolveEnvironmentOptions.

Analyze Your Own Codebase

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

Try Supermodel Free