tsdown: One tool to bundle them all
summary
tsdown bundles TypeScript libraries into ESM/CJS/neutral outputs with automatic package.json exports and automated DTS generation, choosing what to externalize versus inline and offering a bundleless mode. It runs a single command for builds, supports Vue SFCs, Node 20+ (Deno/Bun experimental), and parallel multi-package builds, and it reports 873,000 monthly npm downloads and ~2,100 dependent projects. The core uses a Rust-powered bundling engine for high-performance builds.
AI-written summary · about
chapters (16)
- 0:00Introduction to TSdown
- 1:30What is a library bundler?
- 2:35Pain points with existing bundlers
- 5:05TSdown’s design and features
- 8:14Getting started with TSdown
- 9:23Automatic type decoration
- 10:26Dependency handling
- 11:55Multi-format output and platforms
- 13:18Package.json export fields
- 14:22Building Vue component libraries
- 15:09Performance and benchmarks
- 15:52Migration from TSR
- 16:56Other features and ecosystem
- 17:40Adoption and community
- 19:07Future plans for TSdown
- 20:38Acknowledgments and thanks
related talks
46mThe “Perfect” JS Library Tooling
39mBundlers: a deep dive into modern JavaScript build tools
32mThe "Perfect" Tooling Library
23mPublishing in JavaScript Ecosystem: How to Keep Everyone Happy?
24mPublishing in the JavaScript Ecosystem & Keeping Users Happy
28mThe Secret To Fast TypeScript
34mTowards a simpler JavaScript ecosystem
45mBundler Bonanza
