Home / Function/ resolveBuildOutputs() — vite Function Reference

resolveBuildOutputs() — vite Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  c96008e0_3b87_08ec_3ca8_496b2bf473ab["resolveBuildOutputs()"]
  45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"]
  c96008e0_3b87_08ec_3ca8_496b2bf473ab -->|defined in| 45981d85_cbdd_e969_8c88_c17072ea0eda
  a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52["resolveRolldownOptions()"]
  a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| c96008e0_3b87_08ec_3ca8_496b2bf473ab
  3cf1d94a_16a2_96d6_7d1d_9757e22a2557["warn()"]
  c96008e0_3b87_08ec_3ca8_496b2bf473ab -->|calls| 3cf1d94a_16a2_96d6_7d1d_9757e22a2557
  style c96008e0_3b87_08ec_3ca8_496b2bf473ab fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/build.ts lines 992–1045

export function resolveBuildOutputs(
  outputs: OutputOptions | OutputOptions[] | undefined,
  libOptions: LibraryOptions | false,
  logger: Logger,
): OutputOptions | OutputOptions[] | undefined {
  if (libOptions) {
    const libHasMultipleEntries =
      typeof libOptions.entry !== 'string' &&
      Object.values(libOptions.entry).length > 1
    const libFormats =
      libOptions.formats ||
      (libHasMultipleEntries ? ['es', 'cjs'] : ['es', 'umd'])

    if (!Array.isArray(outputs)) {
      if (libFormats.includes('umd') || libFormats.includes('iife')) {
        if (libHasMultipleEntries) {
          throw new Error(
            'Multiple entry points are not supported when output formats include "umd" or "iife".',
          )
        }

        if (!libOptions.name) {
          throw new Error(
            'Option "build.lib.name" is required when output formats include "umd" or "iife".',
          )
        }
      }

      return libFormats.map((format) => ({ ...outputs, format }))
    }

    // By this point, we know "outputs" is an Array.
    if (libOptions.formats) {
      logger.warn(
        colors.yellow(
          '"build.lib.formats" will be ignored because "build.rollupOptions.output" is already an array format.',
        ),
      )
    }

    outputs.forEach((output) => {
      if (
        (output.format === 'umd' || output.format === 'iife') &&
        !output.name
      ) {
        throw new Error(
          'Entries in "build.rollupOptions.output" must specify "name" when the format is "umd" or "iife".',
        )
      }
    })
  }

  return outputs
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does resolveBuildOutputs() do?
resolveBuildOutputs() is a function in the vite codebase, defined in packages/vite/src/node/build.ts.
Where is resolveBuildOutputs() defined?
resolveBuildOutputs() is defined in packages/vite/src/node/build.ts at line 992.
What does resolveBuildOutputs() call?
resolveBuildOutputs() calls 1 function(s): warn.
What calls resolveBuildOutputs()?
resolveBuildOutputs() is called by 1 function(s): resolveRolldownOptions.

Analyze Your Own Codebase

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

Try Supermodel Free