tsdown is a next-generation TypeScript library bundler built on Rolldown and Oxc. It provides blazing-fast builds, automatic .d.ts generation, and seamless migration from tsup. Supports Rolldown/Rollup/Unplugin plugins and features smart dependency handling.
The skill is based on tsdown v0.20.1, generated at 2026-01-28.
Anthony's Preferences:
-
Build pure-ESM packages, avoid CJS
-
Always enable dts option for type declarations
-
Enable exports option for auto-generated package exports
Core
Topic Description Reference
Configuration Config file setup, defineConfig, multiple configs core-config
CLI Command-line interface and options core-cli
Entry Points Entry files, aliases, glob patterns core-entry
Build Options
Topic Description Reference
Output Format (ESM/CJS/IIFE/UMD), directory, target, platform options-output
Declaration Files .d.ts generation, isolatedDeclarations, sourcemaps options-dts
Dependencies External, noExternal, dependency bundling options-dependencies
Package Exports Auto-generating exports, main, module fields options-package-exports
Features
Topic Description Reference
Optimization Tree shaking, minification, sourcemaps features-optimization
Shims CJS/ESM compatibility shims features-shims
Unbundle Mode Bundleless transpile-only builds features-unbundle
Watch Mode Auto-rebuild on file changes features-watch
Advanced
Topic Description Reference
Plugins Rolldown, Unplugin, Rollup, Vite plugins advanced-plugins
Hooks Build lifecycle hooks advanced-hooks
Programmatic API Using tsdown from code advanced-programmatic
Rolldown Options Customizing inputOptions and outputOptions advanced-rolldown-options
Recipes
Topic Description Reference
Framework Support Vue and React library bundling recipes-frameworks
Migration Migrating from tsup recipes-migration