Setting the file. One moment.
Subchapter 8.20
references/option-minification.mdMarkdown3 KBView on GitHub
Minification removes unnecessary characters (whitespace, comments) and optimizes code for production, reducing bundle size and improving load times.
Note: Uses Oxc minifier (opens in a new tab) internally. The minifier is currently in alpha.
minify?: boolean | 'dce-only' | MinifyOptionstrue — Enable full minification (whitespace removal, mangling, compression)false — Disable minification (default)'dce-only' — Only perform dead code elimination without full minificationMinifyOptions — Pass detailed options to the Oxc minifier# Enable minification
tsdown --minify
# Disable minification
tsdown --no-minifyNote: The CLI --minify flag is a boolean toggle. For 'dce-only' mode or advanced options, use the config file.
export default defineConfig({
entry: ['src/index.ts'],
minify: true,
})Remove dead code without full minification (keeps readable output):
export default defineConfig({
entry: ['src/index.ts'],
minify: 'dce-only',
})// dist/index.mjs
const x = 1
function hello(x$1) {
console.log('Hello World')
console.log(x$1)
}
hello(x)// dist/index.mjs
const e=1;function t(e){console.log(`Hello World`),console.log(e)}t(e);export default defineConfig({
entry: ['src/index.ts'],
format: ['esm', 'cjs'],
minify: true,
clean: true,
})export default defineConfig((options) => ({
entry: ['src/index.ts'],
format: ['esm'],
minify: !options.watch, // Only minify in production
}))export default defineConfig({
entry: ['src/index.ts'],
format: ['iife'],
platform: 'browser',
globalName: 'MyLib',
minify: true,
})export default defineConfig([
// Development build
{
entry: ['src/index.ts'],
format: ['esm'],
minify: false,
outDir: 'dist/dev',
},
// Production build
{
entry: ['src/index.ts'],
format: ['esm'],
minify: true,
outDir: 'dist/prod',
},
])# Production build with minification
tsdown --minify --clean
# Multiple formats with minification
tsdown --format esm --format cjs --minify
# Conditional minification (only when not watching)
tsdown --minify # Or omit --watchminify: true for production builds'dce-only' to remove dead code while keeping output readableOxc minifier is in alpha and may have issues:
minify: 'dce-only'minify: false