Skip to content

chore(deps): update dependency tsdown to v0.23.0 - #86

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 Nov 11, 2025 •

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
tsdown (source) 0.15.0 → 0.23.0 age confidence

Release Notes

rolldown/tsdown (tsdown)

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

v0.21.10

Compare Source

   🚀 Features
    View changes on GitHub

v0.21.9

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.21.8

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.21.7

Compare Source

   🚀 Features
  • Add module option for attw and publint to allow passing imported modules directly  -  by @​sxzz (31e90)
   🐞 Bug Fixes
  • deps: Add skipNodeModulesBundle dep subpath e2e tests and fix docs  -  by @​sxzz (deff7)
    View changes on GitHub

v0.21.6

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.21.5

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.21.4

Compare Source

   🚀 Features
   🐞 Bug Fixes
  • exports: Preserve CRLF line endings in package.json  -  by @​sxzz (a4d4e)
    View changes on GitHub

v0.21.3

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.21.2

Compare Source

   🚨 Breaking Changes
  • exe: Add exe.outDir for separate executable output dir, defaults to build  -  by @​sxzz (d49ef)

Note: Executable is still an experimental feature and does not follow SemVer. Breaking changes may occur in any release.

   🚀 Features
   🐞 Bug Fixes
  • css: Skip data URIs and external URLs in CSS url() rebasing  -  by @​sxzz (13907)
    View changes on GitHub

v0.21.1

Compare Source

   🚨 Breaking Changes

[!IMPORTANT]
If you are using CSS features (e.g., CSS imports), you now need to manually install the @tsdown/css package:

npm install @tsdown/css -D
# or
pnpm add @tsdown/css -D

Note: CSS support is still an experimental feature and does not follow SemVer. Breaking changes may occur in any release.

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.21.0

Compare Source

v0.21.0 - Notable Changes

Breaking Changes
Dependency options renamed to deps namespace

The dependency-related options have been moved under a new deps namespace with clearer names:

  • external -> deps.neverBundle
  • noExternal -> deps.alwaysBundle
  • inlineOnly -> deps.onlyAllowBundle
  • skipNodeModulesBundle -> deps.skipNodeModulesBundle

Before:

export default defineConfig({
  external: ['vue'],
  noExternal: ['lodash'],
})

After:

export default defineConfig({
  deps: {
    neverBundle: ['vue'],
    alwaysBundle: ['lodash'],
  },
})

The old options still work but are deprecated and will emit warnings.

failOnWarn default changed from 'ci-only' to false

If you relied on the previous behavior where warnings would fail the build in CI environments, you now need to explicitly set failOnWarn: true or failOnWarn: 'ci-only' in your config.

Node.js < 22.18.0 deprecated

tsdown now emits a deprecation warning when running on Node.js versions below 22.18.0. Plan to upgrade your Node.js version accordingly.

New Features
Experimental Node.js SEA executable bundling (exe)

tsdown can now bundle your TypeScript project into a standalone executable using Node.js Single Executable Applications (SEA). A new @tsdown/exe package provides cross-platform executable building support. See the exe documentation for details.

export default defineConfig({
  exe: true, // or { useCodeCache: true, useSnapshot: true }
})
Full CSS pipeline with @tsdown/css

CSS handling has been reimplemented as a native Rolldown plugin and extracted into the @tsdown/css package, providing a complete CSS pipeline with Lightning CSS and PostCSS support via the css.transformer option. See the CSS documentation for details.

inlinedDependencies field in package.json

When using the exports feature, tsdown now auto-generates an inlinedDependencies field in your package.json, listing dependencies that are bundled into the output.

Object option for customExports

customExports now supports an object format for more fine-grained control over the generated exports field.

Migration Guide
  1. Update dependency options: Rename external -> deps.neverBundle, noExternal -> deps.alwaysBundle, etc.
  2. Check failOnWarn: If you need warnings to fail the build in CI, explicitly set failOnWarn: 'ci-only' or failOnWarn: true.
  3. Upgrade Node.js: Ensure you're running Node.js >= 22.18.0 to avoid deprecation warnings.
Links

   🚨 Breaking Changes
   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.20.3

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v0.20.2

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.20.1

Compare Source

   🚀 Features
    View changes on GitHub

v0.20.0

Compare Source

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

v0.19.0

Compare Source

   🚨 Breaking Changes

❗ Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

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

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, 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 enabled auto-merge (squash) November 11, 2025 15:48
@codecov

codecov Bot commented Nov 11, 2025 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (64b7a78) to head (90e2594).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #86   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         1           
  Lines            5         5           
  Branches         3         3           
=========================================
  Hits             5         5           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 4 times, most recently from e05c323 to 8a9623e Compare November 14, 2025 22:58
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.16.0 chore(deps): update dependency tsdown to v0.16.1 Nov 14, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 3 times, most recently from f48e0d7 to 2efe162 Compare November 18, 2025 19:12
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.16.1 chore(deps): update dependency tsdown to v0.16.4 Nov 18, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 2efe162 to 8c71666 Compare November 20, 2025 05:47
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.16.4 chore(deps): update dependency tsdown to v0.16.5 Nov 20, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 8c71666 to 24ea05d Compare November 23, 2025 08:28
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.16.5 chore(deps): update dependency tsdown to v0.16.6 Nov 23, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 7 times, most recently from ee27e5c to c9d58af Compare November 28, 2025 17:04
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.16.6 chore(deps): update dependency tsdown to v0.16.7 Nov 28, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 2 times, most recently from 7660e98 to 3578eef Compare November 30, 2025 21:51
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.16.7 chore(deps): update dependency tsdown to v0.16.8 Nov 30, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 3 times, most recently from 0ea8126 to 672ef4a Compare December 4, 2025 14:10
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 4 times, most recently from 40ac7ac to 0554d32 Compare December 15, 2025 01:46
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.17.2 chore(deps): update dependency tsdown to v0.17.3 Dec 15, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch from 0554d32 to 205438b Compare December 15, 2025 13:01
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.17.3 chore(deps): update dependency tsdown to v0.17.2 Dec 15, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 2 times, most recently from 243908a to 796657c Compare December 18, 2025 12:34
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.17.2 chore(deps): update dependency tsdown to v0.18.0 Dec 18, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 4 times, most recently from 7d52226 to 8b4aa05 Compare December 20, 2025 21:42
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.18.0 chore(deps): update dependency tsdown to v0.18.1 Dec 20, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 2 times, most recently from 7a31a48 to b6c1323 Compare December 24, 2025 12:39
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.18.1 chore(deps): update dependency tsdown to v0.18.2 Dec 24, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 4 times, most recently from d8a528e to 5850f97 Compare December 27, 2025 18:00
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.18.2 chore(deps): update dependency tsdown to v0.18.3 Dec 27, 2025
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 2 times, most recently from ab1d10b to 3a34b8b Compare January 2, 2026 14:10
@renovate renovate Bot changed the title chore(deps): update dependency tsdown to v0.18.3 chore(deps): update dependency tsdown to v0.18.4 Jan 2, 2026
@renovate
renovate Bot force-pushed the renovate/tsdown-0.x branch 3 times, most recently from 77c1f44 to da72560 Compare January 3, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants