npm rolldown 1.0.0-rc.3
v1.0.0-rc.3

latest releases: 1.0.0-rc.11, 1.0.0-rc.10, 1.0.0-rc.9...
one month ago

[1.0.0-rc.3] - 2026-02-04

⚡ Remove Unnecessary Default Export Assignment

  • Eliminates redundant variable assignments when exporting default values
  • Reduces output bundle size and improves code clarity
// index.js
var x = 42;
export default x;

// Before
var x = 42;
var entry_default = x;
export { entry_default as default };

// After
var x = 42;
export { x as default };

🐛 Avoid Unnecessary Facade Chunks

  • Keep user-defined entry modules in their own chunks
  • Reduces HTTP round trips and improves startup performance
// main.js (entry module)
import { a } from './lib.js'
console.log(a)

// lib.js
export * from './counter.js'

// counter.js (entry module)
export const a = 100

// Before
dist/
├── main.js            import { a } from './counter-chunk.js'; console.log(a)
├── counter.js         export { a } from './counter-chunk.js' // ❌ facade chunk
└── counter-chunk.js   export const a = 100

// After
dist/
├── main.js     import { a } from './counter.js'; console.log(a)
└── counter.js  export const a = 100

🚀 Features

  • expose RUNTIME_MODULE_ID constant for plugin authors (#8199) by @shulaoda
  • warn unsupported combination of preserveValueImports and importsNotUsedAsValues in tsconfig.json (#8169) by @sapphi-red
  • sophisticated watch tracking for load dependencies (#8092) by @sapphi-red
  • add inputMap option to minify / minifySync functions (#8138) by @sapphi-red
  • consolidate same tsconfig errors (#8119) by @sapphi-red
  • include tsconfig file path in error messages (#8107) by @Copilot
  • lazy-barrel: support incremental build mode (#8114) by @shulaoda

🐛 Bug Fixes

  • rust: preserve dependencies added by this.addWatchFile (#8198) by @hyf0
  • spawn RuntimeModuleTask after build_start to avoid race condition (#8182) by @shulaoda
  • rust/dev: only close after the ongoing task finished (#8147) by @hyf0
  • ensure \0rolldown/runtime.js will go through transform hook and add test (#8093) by @hyf0
  • [name] in assetFileNames does not include the directory part (#8098) by @IWANABETHATGUY
  • handle external module properties in namespace imports (#8124) by @IWANABETHATGUY
  • keep user-defined entry modules in their own chunks (#8047) by @IWANABETHATGUY
  • avoid Unknown resolve error error message (#8111) by @sapphi-red

💼 Other

  • remove warnings for building rolldown with not(feature = "experimental") (#8110) by @coolreader18

🚜 Refactor

📚 Documentation

⚡ Performance

  • remove unnecessary assignment for default export (#8127) by @shulaoda

🧪 Testing

  • dev: this.addWatchFile dependency should be preserved after reload (#8165) by @sapphi-red
  • mark flaky transform_runtime_module test as ignored (#8178) by @Copilot
  • rolldown_sourcemap: add test for coarse segments (#8166) by @sapphi-red
  • dev: correctly assert file change (#8164) by @sapphi-red
  • rust: transform_runtime_module test shouldn't panic inside (#8151) by @hyf0
  • rust: fix flakiness of rust tests (#8150) by @hyf0
  • mark output.dynamicImportInCjs tests as passed (#8125) by @shulaoda
  • lazy-barrel: add test cases for default export (#8129) by @shulaoda
  • rolldown_plugin_vite_manifest: use relative path for outPath (#8101) by @shulaoda

⚙️ 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.