Skip to content

Releases: rolldown/tsdown

v0.22.4

Choose a tag to compare

@github-actions github-actions released this 08 Jul 07:30
Immutable release. Only release title and notes can be modified.
v0.22.4
434cfb3

   🚀 Features

   🐞 Bug Fixes

   🏎 Performance

    View changes on GitHub

v0.22.3

Choose a tag to compare

@github-actions github-actions released this 16 Jun 17:38
Immutable release. Only release title and notes can be modified.
v0.22.3
472b69e

   🚨 Breaking Changes

   🐞 Bug Fixes

   🏎 Performance

  • css: Skip renderChunk when no CSS has been collected  -  by @ShMcK in #967 (9f051)
    View changes on GitHub

v0.22.2

Choose a tag to compare

@github-actions github-actions released this 04 Jun 10:37
Immutable release. Only release title and notes can be modified.
v0.22.2
15ac682

   🐞 Bug Fixes

    View changes on GitHub

v0.22.1

Choose a tag to compare

@github-actions github-actions released this 28 May 14:21
Immutable release. Only release title and notes can be modified.
v0.22.1
0bddff1

   🚀 Features

  • dts: Add deps.dts option to override dependency bundling for declaration files  -  by @sxzz (881bf)

   🐞 Bug Fixes

  • Improve error handling for unsupported TypeScript syntax on Node.js  -  by @sxzz (b93db)
  • Add extra space for emoji rendering in Windows Terminal  -  by @sxzz (925cc)
  • unbundle: Add shims support for unbundled builds  -  by @sxzz (fc991)
    View changes on GitHub

v0.22.0

Choose a tag to compare

@github-actions github-actions released this 07 May 10:07
Immutable release. Only release title and notes can be modified.
v0.22.0
e3b454b

   🚨 Breaking Changes

  • Drop Node.js < 22.18.0 support, make unrun optional, add tsx config loader  -  by @sxzz (a1042)
  • dts: Auto-enable dts when tsconfig declaration is true  -  by @sxzz in #872 (085f0)
  • publint: Use pkg from publint results, require publint v0.3.8+  -  by @sxzz (413bb)

   🚀 Features

   🐞 Bug Fixes

  • Explicitly drop node 23 support  -  by @sxzz (85e65)
  • debug: Enhance debug logging for pack tarball  -  by @sxzz and Copilot (5de04)
  • exports: Detect types fields nested in conditional exports  -  by @sxzz (82fa1)
  • pkg: Fix duplicate configuration warning logic  -  by @ho991217 and @sxzz in #935 (6a0d9)

🔄 Migration Guide

Node.js version

Upgrade to Node.js 22.18.0 or later. Bun and Deno remain supported (experimental).

unrun is no longer bundled

If your environment relies on the unrun config loader (i.e. you're on a Node version without native TypeScript support and use the default auto loader), install it manually:

npm i -D unrun
# or, alternatively, the new tsx loader:
npm i -D tsx

If you use Node.js 22.18.0+ with native TypeScript support, no change is needed — the auto loader will pick native.

dts auto-enabled from tsconfig

If your tsconfig.json has compilerOptions.declaration: true but you do not want tsdown to emit .d.ts files, opt out explicitly:

// tsdown.config.ts
export default defineConfig({
  dts: false,
})

exports.bin auto-detection

Any entry chunk containing a shebang (e.g. #!/usr/bin/env node) now causes tsdown to write a bin field in package.json automatically. The semantics differ slightly from explicit bin: true:

Value Single shebang Multiple shebangs No shebangs
(unset) Auto-set bin Warn, skip Silent
true Auto-set bin Throw Warn
false No bin No bin No bin

To opt out entirely:

export default defineConfig({
  exports: { bin: false },
})

Links

v0.22.0-beta.3

v0.22.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 May 11:48
Immutable release. Only release title and notes can be modified.
v0.22.0-beta.3
a0f3a08

No significant changes

    View changes on GitHub

v0.22.0-beta.2

v0.22.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Apr 14:12
Immutable release. Only release title and notes can be modified.
v0.22.0-beta.2
c4e6dac

   🚀 Features

    View changes on GitHub

v0.22.0-beta.1

v0.22.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Apr 11:24
Immutable release. Only release title and notes can be modified.
v0.22.0-beta.1
e3d5e72

   🚨 Breaking Changes

  • Drop Node.js < 22.18.0 support, make unrun optional, add tsx config loader  -  by @sxzz (a1042)
  • dts: Auto-enable dts when tsconfig declaration is true  -  by @sxzz in #872 (085f0)
  • publint: Use pkg from publint results, require publint v0.3.8+  -  by @sxzz (413bb)

Migration Guide

Node.js version

Upgrade to Node.js 22.18.0 or later. Bun and Deno remain supported (experimental).

unrun is no longer bundled

If your environment relies on the unrun config loader (i.e. you're on a Node version without native TypeScript support and use the default auto loader), install it manually:

npm i -D unrun
# or, alternatively, the new tsx loader:
npm i -D tsx

If you use Node.js 22.18.0+ with native TypeScript support, no change is needed — the auto loader will pick native.

dts auto-enabled from tsconfig

If your tsconfig.json has compilerOptions.declaration: true but you do not want tsdown to emit .d.ts files, opt out explicitly:

// tsdown.config.ts
export default defineConfig({
  dts: false,
})

exports.bin auto-detection

Any entry chunk containing a shebang (e.g. #!/usr/bin/env node) now causes tsdown to write a bin field in package.json automatically. The semantics differ slightly from explicit bin: true:

Value Single shebang Multiple shebangs No shebangs
(unset) Auto-set bin Warn, skip Silent
true Auto-set bin Throw Warn
false No bin No bin No bin

To opt out entirely:

export default defineConfig({
  exports: { bin: false },
})

   🚀 Features

   🐞 Bug Fixes

  • debug: Enhance debug logging for pack tarball  -  by @sxzz and Copilot (5de04)
  • exports: Detect types fields nested in conditional exports  -  by @sxzz (82fa1)
    View changes on GitHub

v0.21.10

Choose a tag to compare

@github-actions github-actions released this 22 Apr 15:55
Immutable release. Only release title and notes can be modified.
v0.21.10
53d495b

   🚀 Features

    View changes on GitHub

v0.21.9

Choose a tag to compare

@github-actions github-actions released this 16 Apr 10:45
v0.21.9
752c3e5

   🚀 Features

  • Upgrade rolldown  -  by @sxzz (2d74e)
  • config: Track transitive config dependencies for watch reload  -  by @sxzz in #919 (16e27)
  • exports: Add bin to publishConfig when devExports is enabled  -  by @sxzz in #911 (60592)
  • plugin: Add tsdownConfig and tsdownConfigResolved plugin hooks  -  by @sxzz in #918 (665e5)

   🐞 Bug Fixes

    View changes on GitHub