Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • BuildOptions

Index

Properties

assetsDir?: string

Directory relative from outDir where the built js/css/image assets will be placed.

default

'assets'

assetsInlineLimit?: number

Static asset files smaller than this number (in bytes) will be inlined as base64 strings. Default limit is 4096 (4 KiB). Set to 0 to disable.

default

4096

chunkSizeWarningLimit?: number

Adjust chunk size warning limit (in kB).

default

500

commonjsOptions?: RollupCommonJSOptions

Options to pass on to @rollup/plugin-commonjs

copyPublicDir?: boolean

Copy the public directory to outDir on write.

default

true

cssCodeSplit?: boolean

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

cssMinify?: boolean | "esbuild" | "lightningcss"

Override CSS minification specifically instead of defaulting to build.minify, so you can configure minification for JS and CSS separately.

default

'esbuild'

cssTarget?: string | false | string[]

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

dynamicImportVarsOptions?: RollupDynamicImportVarsOptions

Options to pass on to @rollup/plugin-dynamic-import-vars

emptyOutDir?: null | boolean

Empty outDir on write.

default

true when outDir is a sub directory of project root

lib?: false | LibraryOptions

Build in library mode. The value should be the global name of the lib in UMD mode. This will produce esm + cjs + umd bundle formats with default configurations that are suitable for distributing libraries.

default

false

manifest?: string | boolean

Whether to emit a .vite/manifest.json under assets dir to map hash-less filenames to their hashed versions. Useful when you want to generate your own HTML instead of using the one generated by Vite.

Example:

{
"main.js": {
"file": "main.68fe3fad.js",
"css": "main.e6b63442.css",
"imports": [...],
"dynamicImports": [...]
}
}
default

false

minify?: boolean | "esbuild" | "terser"

Set to false to disable minification, or specify the minifier to use. Available options are 'terser' or 'esbuild'.

default

'esbuild'

modulePreload?: boolean | ModulePreloadOptions

Configure module preload Note: does not apply to library mode.

default

true

outDir?: string

Directory relative from root where build output will be placed. If the directory exists, it will be removed before the build.

default

'dist'

polyfillModulePreload?: boolean

whether to inject module preload polyfill. Note: does not apply to library mode.

default

true

deprecated

use modulePreload.polyfill instead

reportCompressedSize?: boolean

Set to false to disable reporting compressed chunk sizes. Can slightly improve build speed.

default

true

rollupOptions?: RollupOptions

Will be merged with internal rollup options. https://rollupjs.org/configuration-options/

sourcemap?: boolean | "inline" | "hidden"

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 comments in the bundled files are suppressed.

default

false

ssr?: string | boolean

Produce SSR oriented build. Note this requires specifying SSR entry via rollupOptions.input.

default

false

ssrEmitAssets?: boolean

Emit assets during SSR.

default

false

ssrManifest?: string | boolean

Generate SSR manifest for determining style links and asset preload directives in production.

default

false

target?: string | false | string[]

Compatibility transform target. The transform is performed with esbuild and the lowest supported target is es2015/es6. Note this only handles syntax transformation and does not cover polyfills (except for dynamic import)

Default: 'modules' - Similar to @babel/preset-env's targets.esmodules, transpile targeting browsers that natively support dynamic es module imports. https://caniuse.com/es6-module-dynamic-import

Another special value is 'esnext' - which only performs minimal transpiling (for minification compat) and assumes native dynamic imports support.

For custom targets, see https://esbuild.github.io/api/#target and https://esbuild.github.io/content-types/#javascript for more details.

default

'modules'

terserOptions?: TerserOptions

In addition, you can also pass a maxWorkers: number option to specify the max number of workers to spawn. Defaults to the number of CPUs minus 1.

watch?: null | WatcherOptions
default

null

write?: boolean

Whether to write bundle to disk

default

true