BuildEnvironmentOptions Type — vite Architecture
Architecture documentation for the BuildEnvironmentOptions type/interface in build.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD c405e6f9_f059_0d3a_d8d9_6d6dd2e00614["BuildEnvironmentOptions"] 45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"] c405e6f9_f059_0d3a_d8d9_6d6dd2e00614 -->|defined in| 45981d85_cbdd_e969_8c88_c17072ea0eda style c405e6f9_f059_0d3a_d8d9_6d6dd2e00614 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/build.ts lines 91–303
export interface BuildEnvironmentOptions {
/**
* Compatibility transform target. The transform is performed with esbuild
* and the lowest supported target is es2015. Note this only handles
* syntax transformation and does not cover polyfills
*
* Default: 'baseline-widely-available' - transpile targeting browsers that
* are included in the Baseline Widely Available on 2026-01-01.
* (Chrome 111+, Edge 111+, Firefox 114+, Safari 16.4+).
*
* Another special value is 'esnext' - which only performs minimal transpiling
* (for minification compat).
*
* For custom targets, see https://esbuild.github.io/api/#target and
* https://esbuild.github.io/content-types/#javascript for more details.
* @default 'baseline-widely-available'
*/
target?: 'baseline-widely-available' | EsbuildTarget | false
/**
* whether to inject module preload polyfill.
* Note: does not apply to library mode.
* @default true
* @deprecated use `modulePreload.polyfill` instead
*/
polyfillModulePreload?: boolean
/**
* Configure module preload
* Note: does not apply to library mode.
* @default true
*/
modulePreload?: boolean | ModulePreloadOptions
/**
* Directory relative from `root` where build output will be placed. If the
* directory exists, it will be removed before the build.
* @default 'dist'
*/
outDir?: string
/**
* Directory relative from `outDir` where the built js/css/image assets will
* be placed.
* @default 'assets'
*/
assetsDir?: string
/**
* Static asset files smaller than this number (in bytes) will be inlined as
* base64 strings. If a callback is passed, a boolean can be returned to opt-in
* or opt-out of inlining. If nothing is returned the default logic applies.
*
* Default limit is `4096` (4 KiB). Set to `0` to disable.
* @default 4096
*/
assetsInlineLimit?:
| number
| ((filePath: string, content: Buffer) => boolean | undefined)
/**
* Whether to code-split CSS. When enabled, CSS in async chunks will be
* inlined as strings in the chunk and inserted via dynamically created
* style tags when the chunk is loaded.
* @default true
*/
cssCodeSplit?: boolean
/**
* An optional separate target for CSS minification.
* As esbuild only supports configuring targets to mainstream
* browsers, users may need this option when they are targeting
* a niche browser that comes with most modern JavaScript features
* but has poor CSS support, e.g. Android WeChat WebView, which
* doesn't support the #RGBA syntax.
* @default target
*/
cssTarget?: EsbuildTarget | false
/**
* Override CSS minification specifically instead of defaulting to `build.minify`,
* so you can configure minification for JS and CSS separately.
* @default 'lightningcss'
*/
cssMinify?: boolean | 'lightningcss' | 'esbuild'
/**
* If `true`, a separate sourcemap file will be created. If 'inline', the
* sourcemap will be appended to the resulting output file as data URI.
* 'hidden' works like `true` except that the corresponding sourcemap
Defined In
Source
Frequently Asked Questions
What is the BuildEnvironmentOptions type?
BuildEnvironmentOptions is a type/interface in the vite codebase, defined in packages/vite/src/node/build.ts.
Where is BuildEnvironmentOptions defined?
BuildEnvironmentOptions is defined in packages/vite/src/node/build.ts at line 91.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free