Directory relative from outDir where the built js/css/image assets will
be placed.
'assets'
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.
4096
Adjust chunk size warning limit (in kB).
500
Options to pass on to @rollup/plugin-commonjs
Copy the public directory to outDir on write.
true
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.
true
Override CSS minification specifically instead of defaulting to build.minify,
so you can configure minification for JS and CSS separately.
'esbuild'
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.
target
Options to pass on to @rollup/plugin-dynamic-import-vars
Empty outDir on write.
true when outDir is a sub directory of project root
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.
false
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": [...]
}
}
false
Set to false to disable minification, or specify the minifier to use.
Available options are 'terser' or 'esbuild'.
'esbuild'
Directory relative from root where build output will be placed. If the
directory exists, it will be removed before the build.
'dist'
Set to false to disable reporting compressed chunk sizes. Can slightly improve build speed.
true
Will be merged with internal rollup options. https://rollupjs.org/configuration-options/
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.
false
Produce SSR oriented build. Note this requires specifying SSR entry via
rollupOptions.input.
false
Emit assets during SSR.
false
Generate SSR manifest for determining style links and asset preload directives in production.
false
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.
'modules'
Options for terser https://terser.org/docs/api-reference#minify-options
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.
Rollup watch options https://rollupjs.org/configuration-options/#watch
null
Whether to write bundle to disk
true
Make all properties in T required