Skip to content

Update dependency tsdown to v0.22.2 - autoclosed#323

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

Update dependency tsdown to v0.22.2 - autoclosed#323
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/tsdown-0.x

Conversation

@renovate

@renovate renovate Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
tsdown (source) 0.17.0-beta.60.22.2 age adoption passing confidence

Release Notes

rolldown/tsdown (tsdown)

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 @&#8203;tsdown/css -D
# or
pnpm add @&#8203;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
   🚀 Features
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v0.18.4

Compare Source

   🚀 Features
    View changes on GitHub

v0.18.3

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.18.2

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v0.18.1

Compare Source

   🚀 Features
export default defineConfig({
  entry: {
    '*': './src/*.ts',
    'data-loaders': './src/data-loaders/entries/index.ts',
    'data-loaders/*': './src/data-loaders/entries/!(index).ts',
    'volar/*': './src/volar/entries/*.ts',
  },
}
   🐞 Bug Fixes
    View changes on GitHub

v0.18.0

Compare Source

   🚨 Breaking Changes

v0.17.4

Compare Source

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

v0.17.3

Compare Source

   🚀 Features
  • copy: Support glob in copy  -  by @​kricsleo and @​sxzz in #​637 (c1fd4)
    • This may be a breaking change, as the behavior has changed again in v0.17.4. Please upgrade to v0.17.4 and verify the issue.
   🐞 Bug Fixes
    View changes on GitHub

v0.17.2

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v0.17.1

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v0.17.0

Compare Source

   🚨 Breaking Changes

Notable features: https://bsky.app/profile/sxzz.dev/post/3m6xi7e7d5k2b

   🚀 Features
   🐞 Bug Fixes

Note

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: Disabled by config. Please merge this manually once you are satisfied.

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.

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Size Change: +142 B (+0.23%)

Total Size: 62.2 kB

📦 View Changed
Filename Size Change
dist/attach.mjs 5.17 kB -1 B (-0.02%)
dist/cst.d.mts 413 B -1 B (-0.24%)
dist/cst.mjs 726 B -6 B (-0.82%)
dist/factories/flow-mapping.mjs 297 B -1 B (-0.34%)
dist/factories/flow-sequence.mjs 301 B -1 B (-0.33%)
dist/index.d.mts 1.47 kB +215 B (+17.2%) ⚠️
dist/parse.mjs 1.44 kB -17 B (-1.16%)
dist/transforms/alias.mjs 577 B -1 B (-0.17%)
dist/transforms/block-folded.mjs 546 B -1 B (-0.18%)
dist/transforms/block-literal.mjs 555 B -1 B (-0.18%)
dist/transforms/block-value.mjs 1.5 kB -1 B (-0.07%)
dist/transforms/content.mjs 1.47 kB +39 B (+2.73%)
dist/transforms/context.mjs 1.04 kB -40 B (-3.69%)
dist/transforms/directive.mjs 425 B -1 B (-0.23%)
dist/transforms/document-body.mjs 3.65 kB -1 B (-0.03%)
dist/transforms/document-head.mjs 2.48 kB -1 B (-0.04%)
dist/transforms/document.mjs 918 B -1 B (-0.11%)
dist/transforms/documents.mjs 2.33 kB -1 B (-0.04%)
dist/transforms/flow-map.mjs 1.84 kB -1 B (-0.05%)
dist/transforms/flow-seq.mjs 3.49 kB -1 B (-0.03%)
dist/transforms/map.mjs 1.31 kB -1 B (-0.08%)
dist/transforms/pair.mjs 3.99 kB -1 B (-0.03%)
dist/transforms/plain.mjs 1.04 kB -1 B (-0.1%)
dist/transforms/quote-double.mjs 562 B -1 B (-0.18%)
dist/transforms/quote-single.mjs 562 B -1 B (-0.18%)
dist/transforms/quote-value.mjs 617 B -1 B (-0.16%)
dist/transforms/seq.mjs 2.82 kB -1 B (-0.04%)
dist/transforms/transform.d.mts 771 B -24 B (-3.02%)
dist/transforms/transform.mjs 1.81 kB -1 B (-0.06%)
dist/utils/extract-comments.mjs 339 B -1 B (-0.29%)
dist/utils/update-positions.mjs 2.26 kB -1 B (-0.04%)
ℹ️ View Unchanged
Filename Size
dist/factories/alias.mjs 234 B
dist/factories/anchor.mjs 167 B
dist/factories/block-folded.mjs 179 B
dist/factories/block-literal.mjs 183 B
dist/factories/block-value.mjs 308 B
dist/factories/content.mjs 178 B
dist/factories/directive.mjs 251 B
dist/factories/document-body.mjs 252 B
dist/factories/document-head.mjs 262 B
dist/factories/document.mjs 317 B
dist/factories/flow-collection.mjs 296 B
dist/factories/flow-mapping-item.mjs 250 B
dist/factories/flow-sequence-item.mjs 225 B
dist/factories/mapping-item.mjs 233 B
dist/factories/mapping-key.mjs 260 B
dist/factories/mapping-value.mjs 291 B
dist/factories/mapping.mjs 223 B
dist/factories/plain.mjs 234 B
dist/factories/position.mjs 249 B
dist/factories/quote-double.mjs 179 B
dist/factories/quote-single.mjs 179 B
dist/factories/quote-value.mjs 255 B
dist/factories/root.mjs 187 B
dist/factories/sequence-item.mjs 291 B
dist/factories/sequence.mjs 246 B
dist/factories/tag.mjs 155 B
dist/index.mjs 131 B
dist/parse.d.mts 174 B
dist/transforms/comment.mjs 286 B
dist/transforms/context.d.mts 883 B
dist/types.d.mts 5.13 kB
dist/utils/create-updater.mjs 261 B
dist/utils/define-parents.mjs 973 B
dist/utils/find-char-index.mjs 215 B
dist/utils/find-last-char-index.mjs 255 B
dist/utils/get-last.mjs 126 B
dist/utils/get-point-text.mjs 187 B
dist/yaml-syntax-error.d.mts 390 B
dist/yaml-syntax-error.mjs 368 B

compressed-size-action

@renovate renovate Bot changed the title Update dependency tsdown to v0.22.2 Update dependency tsdown to v0.22.2 - autoclosed Jun 9, 2026
@renovate renovate Bot closed this Jun 9, 2026
@renovate
renovate Bot deleted the renovate/tsdown-0.x branch June 9, 2026 10:28
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