Skip to content

chore(deps): update dependency tsdown to ^0.23.0 - #22

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/tsdown-0.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/tsdown-0.x

Conversation

@renovate

@renovate renovate Bot commented May 7, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
tsdown (source) ^0.21.10 → ^0.23.0 age adoption passing confidence

Release Notes

rolldown/tsdown (tsdown)

v0.23.7

Compare Source

[!NOTE]
v0.23.6 was skipped on purpose: its release failed, so this release follows v0.23.5 directly.

Notes

rolldown-plugin-dts is now v0.30. Full details are in the rolldown-plugin-dts v0.30.0 release notes.

Migration

dts.entry only filters entries. Only entries that match get declaration files. A matching file that is not an entry no longer gets its own declaration file. To emit declarations for such a file, add it to entry. The filter now applies to .d.cts as well as .d.mts.

dts.entry is resolved from cwd. Patterns are relative to tsdown's cwd, the same as the top-level entry, instead of process.cwd(). This only matters when the two differ, e.g. in workspace builds. Set dts.cwd to override it.

dts.emitDtsOnly and dts.dtsInput are deprecated. Use dts.dtsOnly instead. The old names still work but log a warning.

Highlights
  • dts: An entry's file-level doc comment is kept in its declaration file.
  • dts: Declaration files no longer contain a dangling sourceMappingURL.
  • dts: CJS declaration builds no longer emit a throwaway JS chunk. With the tsc generator, they build one program for all entries.
  • tsgo (experimental): Diagnostics show code context in color terminals, and packages from project references and files outside the tsconfig directory now get declarations.
  • Agent skill: The npm package now ships a small tsdown skill. pnpm 12.11+ can link it into agent skill directories, and it points agents to the full skill on GitHub for the installed version.

   🚀 Features
    View changes on GitHub

v0.23.5

Compare Source

Notes

rolldown-plugin-dts is now v0.29. tsdown passes dts options through to it unchanged, so its deprecations show up in your config too. Full details are in the rolldown-plugin-dts v0.29.0 release notes.

Migration

tsc-only dts options move under dts.tsc. The top-level build, incremental, parallel, eager, newContext and vue options still work but log a deprecation warning. Setting the same option at both levels throws an error. emitJs stays at the top level.

 export default defineConfig({
   dts: {
-    vue: true,
+    tsc: { vue: true },
   },
 })

tsgo (experimental, not covered by semver):

  • @typescript/native-preview is no longer supported. Install TypeScript 7.1+ (typescript@7.1.0-beta), or point tsgo.moduleUrl at another build.
  • On TypeScript 7.1+, tsgo.path is the API server executable, not the tsgo CLI. You usually don't need to set it.
  • Declaration maps come only from compilerOptions.declarationMap: true in tsconfig; the sourcemap option no longer enables them.
  • TypeScript 7.0 still works with a deprecation warning, but that backend will be removed soon.

   🚀 Features
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v0.23.4

Compare Source

   🚀 Features
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v0.23.3

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v0.23.2

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.23.1

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v0.23.0

Compare Source

   🧭 Migration Guide

Most users can upgrade directly. Before upgrading, run one final build with tsdown@0.22.14 and resolve all deprecation warnings.

  • config:
    • bundle: false → unbundle: true; bundle: true can be removed
    • outExtension → outExtensions
    • publicDir / --public-dir → copy / --copy
    • removeNodeProtocol: true → nodeProtocol: 'strip'
    • injectStyle → css.inject
  • deps:
    • inlineOnly / deps.onlyAllowBundle → deps.onlyBundle
    • skipNodeModulesBundle: true → deps.neverBundle: true
    • resolveDepSubpath now defaults to false; set it to true to preserve the previous behavior
  • dts:
    • rolldown-plugin-dts was upgraded from 0.27.13 to 0.28.5
    • dts.oxc: true → dts.generator: 'oxc'
    • dts.tsgo: true → dts.generator: 'tsgo'; oxc and tsgo objects now only configure their respective generators
    • dts.volarPlugins → dts.customLanguages; rename each language's create hook to createVolarPlugins
    • Custom languages, including vue, now throw when combined with an incompatible generator
    • dts.cjsReexport was removed; dual-format builds now generate CJS declarations in a separate pass
  • attw:
    • The default profile changed from strict to esm-only; set profile: 'strict' to preserve the previous checks
  • programmatic API:
    • build() now returns { bundles, watch }; replace const bundles = await build() with const { bundles } = await build()
  • requirements:
    • Node.js 25 is no longer supported; use ^22.18.0, ^24.11.0, or >=26.0.0
    • rolldown-plugin-dts now requires Rolldown 1.2.x
    • Legacy types and typesVersions fallbacks were removed; use TypeScript's bundler, node16, or nodenext module resolution
   🚨 Breaking Changes
   🚀 Features
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v0.22.14

Compare Source

   🚀 Features
  • Add CLI build concurrency option  -  by @​sxzz and Jeroen Zwartepoorte (8a14c)
    View changes on GitHub

v0.22.13

Compare Source

   🚀 Features
  • deps: Support neverBundle: true to externalize all dependencies  -  by @​sxzz (d30a7)
   🐞 Bug Fixes
    View changes on GitHub

v0.22.12

Compare Source

   🚨 Breaking Changes
    View changes on GitHub

v0.22.11

Compare Source

   🚀 Features
    View changes on GitHub

v0.22.10

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.22.9

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.22.8

Compare Source

   🚀 Features
   🐞 Bug Fixes
  • config: Concat plugins arrays when merging config  -  by @​sxzz (b1c80)
    View changes on GitHub

v0.22.7

Compare Source

   🚀 Features
  • logger: Add suppressWarnings option to filter warnings  -  by @​sxzz (dc510)
    View changes on GitHub

v0.22.6

Compare Source

No significant changes

    View changes on GitHub

v0.22.5

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.22.4

Compare Source

   🚀 Features
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v0.22.3

Compare Source

   🚨 Breaking Changes
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v0.22.2

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v0.22.1

Compare Source

   🚀 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

Compare Source

   🚨 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

🔄 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

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 55e6fbd to b38f0c2 Compare May 18, 2026 10:01
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from b38f0c2 to 375cf69 Compare May 28, 2026 17:30
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 2 times, most recently from 610e5a1 to 6a8b878 Compare June 16, 2026 20:39
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 3 times, most recently from 9d4b592 to 828e36d Compare July 13, 2026 06:13
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 5 times, most recently from 55f9707 to 17f7fbb Compare July 21, 2026 18:49
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 17f7fbb to 0b93681 Compare July 23, 2026 20:58
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 0b93681 to 0dcb0ca Compare August 14, 2026 18:31
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 0dcb0ca to a3b3c28 Compare September 3, 2026 23:21
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to ^0.22.0 chore(deps): update dependency tsdown to ^0.23.0 Sep 3, 2026
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from a3b3c28 to 480568b Compare September 7, 2026 21:09
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 3 times, most recently from 07a0208 to 2b0f9df Compare September 18, 2026 19:37
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 2b0f9df to cc5553b Compare September 25, 2026 04:27
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 2 times, most recently from ff286a2 to c9978be Compare October 10, 2026 17:53
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 3 times, most recently from 9a34491 to 9ffaa5b Compare October 23, 2026 14:55
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 3 times, most recently from 4210ca5 to 4b8b5dc Compare November 3, 2026 18:57
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 4b8b5dc to d669d29 Compare November 6, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants