
Tsdown Migrate
This is a comprehensive reference guide for migrating TypeScript library projects from tsup to tsdown, the newer Rolldown-powered bundler. It covers the full migration path: renaming config files, transforming options like cjsInterop to cjsDefault, moving external and noExternal into a deps namespace, and handling the different defaults (tsdown defaults to ESM and auto-enables DTS). The guide includes explicit mappings for deprecated options, alternatives for unsupported features like splitting and metafile, and package.json updates. Use this when you need to port a tsup build setup to tsdown or troubleshoot compatibility issues. The detail level is thorough enough that an agent can execute the migration without guessing.
- skills.sh installs
- 395
- GitHub stars
- 4.3K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add rolldown/tsdown --skill tsdown-migrate --agent claude-codeInstalls into .claude/skills of the current project.
Files
Migrating from tsup to tsdown
Knowledge base for AI agents to migrate tsup projects to tsdown — the Rolldown-powered library bundler.
Target Version: Two-Stage Migration
tsdown v0.23 removed all previously-deprecated tsup compatibility options — bundle, outExtension, publicDir, removeNodeProtocol, injectStyle, and skipNodeModulesBundle are no longer recognized. They fail TypeScript type checking and are silently ignored at runtime, so a missed mapping on v0.23+ produces wrong output without any error. Migrating directly to v0.23+ is therefore unsafe. tsdown v0.22.14 is the last version that still accepts these options and flags each one with a deprecation warning, making it the safe migration checkpoint. Migrate in two stages:
Sponsors
Details
- Repository
- github.com/rolldown/tsdown
- First seen
- Jun 3, 2026