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

Function resolveBuildEnvironmentOptions

packages/vite/src/node/build.ts:426–513  ·  view source on GitHub ↗
(
  raw: BuildEnvironmentOptions,
  logger: Logger,
  consumer: 'client' | 'server' | undefined,
  isBundledDev: boolean,
  isSsrTargetWebworkerEnvironment?: boolean,
)

Source from the content-addressed store, hash-verified

424> = _buildEnvironmentOptionsDefaults
425
426export function resolveBuildEnvironmentOptions(
427 raw: BuildEnvironmentOptions,
428 logger: Logger,
429 consumer: 'client' | 'server' | undefined,
430 isBundledDev: boolean,
431 isSsrTargetWebworkerEnvironment?: boolean,
432): ResolvedBuildEnvironmentOptions {
433 const deprecatedPolyfillModulePreload = raw.polyfillModulePreload
434 const { polyfillModulePreload, ...rest } = raw
435 raw = rest
436 if (deprecatedPolyfillModulePreload !== undefined) {
437 logger.warn(
438 'polyfillModulePreload is deprecated. Use modulePreload.polyfill instead.',
439 )
440 }
441 if (
442 deprecatedPolyfillModulePreload === false &&
443 raw.modulePreload === undefined
444 ) {
445 raw.modulePreload = { polyfill: false }
446 }
447
448 const merged = mergeWithDefaults(
449 {
450 ..._buildEnvironmentOptionsDefaults,
451 cssCodeSplit: !raw.lib,
452 minify: consumer === 'server' || isBundledDev ? false : 'oxc',
453 rollupOptions: {},
454 rolldownOptions: undefined,
455 ssr: consumer === 'server',
456 emitAssets: consumer === 'client',
457 createEnvironment: (name, config) => new BuildEnvironment(name, config),
458 } satisfies BuildEnvironmentOptions,
459 raw,
460 )
461 setupRollupOptionCompat(merged, 'build')
462 merged.rolldownOptions = {
463 platform:
464 consumer === 'client' || isSsrTargetWebworkerEnvironment
465 ? 'browser'
466 : 'node',
467 ...merged.rolldownOptions,
468 }
469
470 // handle special build targets
471 if (merged.target === 'baseline-widely-available') {
472 merged.target = ESBUILD_BASELINE_WIDELY_AVAILABLE_TARGET
473 }
474 // dedupe target
475 if (Array.isArray(merged.target)) {
476 // esbuild allowed duplicate targets but oxc does not
477 merged.target = unique(merged.target)
478 }
479
480 // normalize false string into actual false
481 if ((merged.minify as string) === 'false') {
482 merged.minify = false
483 } else if (merged.minify === true) {

Callers 2

resolveConfigFunction · 0.90

Calls 4

mergeWithDefaultsFunction · 0.90
setupRollupOptionCompatFunction · 0.90
uniqueFunction · 0.90
warnMethod · 0.65

Tested by

no test coverage detected