npm rolldown 1.1.2
v1.1.2

8 hours ago

[1.1.2] - 2026-06-18

๐Ÿ“ Notable tsconfig behavior changes

These ship via the oxc_resolver 11.21.3 bump (#9841) and affect resolve.tsconfigPaths (Vite 8 resolves through oxc-resolver):

  • Honor explicit non-TS extensions in include (oxc-project/oxc-resolver#1213). compilerOptions.paths now resolve for importers whose extension is explicitly listed in a tsconfig's include (e.g. src/**/*.vue, src/**/*.svelte). Previously oxc-resolver filtered importers by extension before evaluating the include globs, so a .vue/.svelte file listed in include never matched its project and its paths were skipped. This unblocks the default create-vite Vue + TS layout (a solution-style root plus a referenced tsconfig.app.json that declares paths and include: ["src/**/*.ts", "src/**/*.vue"]). Matches vue-tsc and svelte-check, which register these extensions via TypeScript's extraFileExtensions.
  • No fallback to the outermost tsconfig in auto-discovery (oxc-project/oxc-resolver#1220). Auto-discovery no longer attaches the topmost ancestor tsconfig.json to a file that no project actually owns (via files / include / project references). Previously such a file inherited the outermost ancestor's paths / baseUrl, leaking aliases into files that project does not own. oxc-resolver now returns no config in that case, matching tsserver / typescript-go, which route such files to an inferred project with no aliases.

๐Ÿš€ Features

  • add option named for invalid return type errors for more places (#9846) by @shulaoda
  • add option names for invalid return type errors (#9821) by @sapphi-red
  • transform: infer decorator strictNullChecks from tsconfig (#9590) by @kylecannon
  • tracing: gate chrome-json trace layer behind chrome-tracing feature (#9773) by @hyf0
  • dev: align test-dev-server with Vite dev server (#9668) by @h-a-n-a

๐Ÿ› Bug Fixes

  • plugin_timings: point doc link to existing checks reference page (#9837) by @hyf0
  • generator: correct contradictory panic message in cjs cross-chunk symbol lookup (#9836) by @hyf0
  • esm: preserve with clause on export * from external (#9796) by @hyf0
  • Make external_import_binding_merger deterministic (#9755) by @naruaway
  • surface invalid manualCodeSplitting group test regex as an error (#9792) by @shulaoda
  • avoid panic on output.file without a file name (#9789) by @shulaoda
  • avoid O(N^2) rendering of high-volume diagnostics (#9748) (#9749) by @IWANABETHATGUY
  • avoid panic on JSON numbers outside f64 range (#9788) by @shulaoda
  • deps: bump mimalloc-safe to 0.1.63 to fix worker_threads segfault (#9785) by @shulaoda
  • cache ESM evaluation errors (#9784) by @sapphi-red
  • wrap node require helper in pure IIFE (#9783) by @kb019
  • lazy-barrel: load locally-used imports on a re-exported record (#9757) by @shulaoda
  • avoid dangling wrapped-ESM init call across chunks (#9502) (#9717) by @IWANABETHATGUY
  • dev: detect same-second rewrites in CI poll watcher (#9736) by @h-a-n-a
  • dev: force rebuild after HMR errors (#9686) by @h-a-n-a
  • dev: print build errors on browser refresh after a failed build (#9652) by @h-a-n-a

๐Ÿšœ Refactor

๐Ÿ“š Documentation

  • tsconfig: align auto-discovery docs with oxc-resolver behavior (#9845) by @shulaoda
  • relocate meta/design to internal-docs, split design from implementation (#9826) by @h-a-n-a
  • meta: add options normalization design doc (#9818) by @IWANABETHATGUY
  • document why the napi tracing feature is enabled (#9766) by @Boshen
  • dev: move test-dev-server test guidance into the testing docs (#9809) by @h-a-n-a

โšก Performance

  • drop unused regex unicode property tables from the binding (#9848) by @Boshen
  • drop urlencoding crate in favor of percent-encoding (#9851) by @Boshen
  • drop owo-colors supports-colors feature in vite reporter (#9824) by @Boshen
  • skip enum member value extraction for non-TypeScript modules (#9840) by @shulaoda
  • rolldown: use unstable sort for itertools sorted_by at unique-key sites (#9827) by @Boshen
  • cheaper deterministic ordering in external import binding merger (#9810) by @IWANABETHATGUY
  • disable idna's ICU backend by pinning idna_adapter to 1.0.0 (-129 KB) (#9811) by @Boshen
  • size: use unstable sort where stability is unneeded (#9803) by @Boshen
  • remove num-format dependency from vite reporter (#9795) by @Boshen
  • reduce js callback error size (#9776) by @Boshen
  • rolldown_error: remove Debug supertrait from BuildEvent (#9798) by @Boshen
  • reduce plugin hook order code size (#9761) by @Boshen
  • deps: disable infer default features to reduce binary size (#9765) by @Boshen
  • reduce pluginable monomorphization size (#9771) by @Boshen
  • avoid rebuilding replace plugin values (#9764) by @Boshen
  • defer link-stage-output drop to rayon workers after output is produced (#9733) by @Brooooooklyn
  • tree-shaking: hoist already-included guard to call sites in inclusion DFS (#9738) by @Brooooooklyn
  • renamer: dedup before allocating the owned name in add_symbol_in_root_scope (#9740) by @Brooooooklyn

๐Ÿงช Testing

  • allocs: track allocation counts for rolldown_sourcemap (#9835) by @hyf0
  • bench: add CodSpeed micro-benchmarks for rolldown_sourcemap (#9834) by @hyf0
  • add cjs named export mutation test (#9823) by @sapphi-red
  • dev: restore shared-page reliability conventions in AGENTS.md (#9786) by @h-a-n-a
  • dev: add AGENTS.md test guidance for agents (#9763) by @h-a-n-a
  • dev: split out initial-build-error into its own playground (#9772) by @h-a-n-a
  • dev: align e2e suite with Vite and parallelize playgrounds (#9759) by @h-a-n-a
  • remove unnecessary module namespace object JSON serializations in tests (#9725) by @sapphi-red
  • use assert.deepStrictEqual instead of assert.deepEqual by using assert/strict instead of assert (#9724) by @sapphi-red
  • hmr: add test case for #5301 (#5302) by @sapphi-red
  • dev: add tests for dev-engine principles (#9720) by @h-a-n-a
  • dev: align dev-engine test harness with Vite (#9684) by @h-a-n-a

โš™๏ธ Miscellaneous Tasks

โค๏ธ New Contributors

Co-authored-by: shulaoda 165626830+shulaoda@users.noreply.github.com

Don't miss a new rolldown release

NewReleases is sending notifications on new releases.