包详细信息

@rolldown/binding-linux-x64-musl

rolldown197kMIT1.0.0-beta.19

Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.

webpack, parcel, esbuild, rollup

自述文件

@rolldown/binding-linux-x64-musl

This is the x86_64-unknown-linux-musl binary for @rolldown/binding

更新日志

[1.0.0-beta.20] - 2025-06-25

🚀 Features

  • rolldown: oxc v0.75.0 (#5069) by @Boshen
  • rolldown: oxc 0.74.0 (#5047) by @Boshen

🐛 Bug Fixes

  • vite-tests: avoid crash when packageJson.pnpm is undefined (#5066) by @shulaoda
  • JSX preset options not working correctly (#5060) by @shulaoda
  • remove improper jsdoc of builtin define plugin (#5046) by @AliceLanniste

🚜 Refactor

  • passing vec length directly (#5050) by @ShroXd

📚 Documentation

  • explain that a chunk may be bigger than maxSize (#5014) by @sapphi-red
  • update example about withFilter (#5040) by @IWANABETHATGUY

⚡ Performance

  • preallocate smaller vec for hash placeholder finder (#5064) by @sapphi-red
  • reduce temporary memory usage by avoiding output chunk clone until needed (#5058) by @sapphi-red
  • skip empty write bundle hook with hook_usage meta (#5057) by @sapphi-red

⚙️ Miscellaneous Tasks

  • deps: update dependency rolldown-plugin-dts to v0.13.12 (#5065) by @renovate[bot]
  • rolldown: upgrade NAPI-RS to 3.0.0-beta.10 (#5063) by @Brooooooklyn
  • bump oxc-resolver to v11.2.1 (#5061) by @Boshen
  • deps: update dependency tsdown to v0.12.9 (#5056) by @renovate[bot]
  • deps: update dependency rolldown-plugin-dts to v0.13.12 (#5054) by @renovate[bot]
  • remove long-commented-out code (#5048) by @shulaoda
  • deps: lock file maintenance npm packages (#5042) by @renovate[bot]
  • deps: lock file maintenance rust crates (#5043) by @renovate[bot]
  • deps: update taiki-e/install-action action to v2.54.0 (#5045) by @renovate[bot]
  • deps: update taiki-e/install-action action to v2.53.2 (#5041) by @renovate[bot]

[1.0.0-beta.19] - 2025-06-22

🚀 Features

  • support OutputOptions#manualChunks (#5037) by @hyf0
  • advanced-chunks: support advancedChunks#gruop#name to be function (#5035) by @hyf0
  • rolldown_plugin_import_glob: align with vitejs/vite#20163 (#5034) by @shulaoda
  • rust/advanced-chunks: support MatchGroup#name to be dynamic (#5033) by @hyf0
  • rolldown_plugin_build_import_analysis: align with vitejs/vite#20117 (#5027) by @shulaoda
  • rolldown_plugin_build_import_analysis: align with vitejs/vite#20115 (#5020) by @shulaoda
  • add validation warning for advanced chunks options without groups (#5009) by @sapphi-red

🐛 Bug Fixes

  • moduleInfo is not updated when entry module is emitted by this.emitFile (#5032) by @IWANABETHATGUY
  • preserveEntrySignatures: false generates circular imports that hangs with TLA (#5029) by @IWANABETHATGUY
  • rolldown_plugin_build_import_analysis: align pure dynamic import handling with rolldown-vite (#5016) by @shulaoda
  • plugin/vite-resolve: normalize leading slash (#5013) by @sapphi-red
  • debug: build_id doesn't increase (#5015) by @hyf0
  • side effects in this.emitFile({ type: 'chunk' }) is removed when preserveEntrySignatures: false is set (#5012) by @IWANABETHATGUY

🚜 Refactor

  • rolldown_utils: simplify block_on_spawn_all (#5019) by @shulaoda
  • use rolldown_utils::futures::block_on for WatcherImpl#start (#5018) by @shulaoda

📚 Documentation

  • jsdoc: document experimental.attachDebugInfo (#5028) by @hyf0
  • clarify that advancedChunks options are in bytes (#5022) by @sapphi-red
  • add a note that sequential conversion may break the code (#5024) by @sapphi-red

⚙️ Miscellaneous Tasks

  • infra: clean up dist before building rolldown (#5036) by @hyf0
  • Align status notice in readme with documentation (#5021) by @rijkvanzanten

❤️ New Contributors

  • @rijkvanzanten made their first contribution in #5021

[1.0.0-beta.18] - 2025-06-19

🚀 Features

  • advancedChunks: no need to include dependencies for PreserveEntrySignatures::False too (#5005) by @hyf0
  • analyze commonjs module side effects and remove unused module (#5003) by @IWANABETHATGUY
  • specially handling commonjs export stmt side effects (#5002) by @IWANABETHATGUY
  • rolldown: oxc v0.73.2 (#5000) by @Boshen
  • debug: attach both session_id and build_id to debug events (#4994) by @hyf0

🐛 Bug Fixes

  • rolldown_plugin_import_glob: correctly handle alias glob patterns (#5007) by @shulaoda
  • rolldown_plugin_alias: correctly handle resolved_id (#5006) by @shulaoda
  • imported namespace is missing after external import namespace merging (#4999) by @IWANABETHATGUY
  • node: add experimental.viteMode to option validator (#4996) by @sapphi-red
  • plugin/vite-resolve: optional peer dep id parse error (#4995) by @sapphi-red

🚜 Refactor

  • debug: remove extra mechanism for passing session_id and unnecessary passing of spans (#5001) by @hyf0

📚 Documentation

  • update description about directive handling (#4992) by @IWANABETHATGUY

⚙️ Miscellaneous Tasks

  • deps: update dependency rolldown-plugin-dts to v0.13.11 (#4863) by @renovate[bot]
  • infra: update changelog configuration in cliff.toml (#4961) by @shulaoda
  • infra: add knip to ci (#4991) by @webpro

[1.0.0-beta.17] - 2025-06-17

🚀 Features

  • binding: feat(binding): always use the same BindingBundler to create BindingBundlerImpl for the same RolldownBuild by @hyf0 in #4985
  • debug: feat(debug): cache large string by @hyf0 in #4882
  • feat: make require('./foo.json') work as expected even if the json is transformed to JS by a custom plugin by @IWANABETHATGUY in #4984
  • feat: add diagnostic for multiple entries with UMD/IIFE formats by @shulaoda in #4954

🐛 Bug Fixes

  • plugin/vite-resolve: fix(plugin/vite-resolve): importing an optional peer dep should throw an runtime error by @sapphi-red in #4980
  • fix: upgrade napi, fix wasm url by @sxzz in #4958
  • fix: should rewrite hmr related ast after test if experimental.hmr is enabled. by @IWANABETHATGUY in #4972

💼 Other

  • build: provide "type": "module" in package.json by @iiio2 in #4974

🚜 Refactor

  • binding: refactor(binding): rename Bundler to BindingBundleImpl by @hyf0 in #4983
  • rolldown: refactor(rolldown): migrate to ESM package by @sxzz in #4959

📚 Documentation

  • docs: explain how to transpile legacy decorators by @hyf0 in #4989
  • code-splitting: docs(code-splitting): make terms bold instead of wrapped with inline code block by @hyf0 in #4975
  • docs: improve advanced chunks by @hyf0 in #4966
  • docs: refine code splitting guide by @sapphi-red in #4969

🧪 Testing

  • test: place empty package.json to prevent all files to be treated as node mode by @sapphi-red in #4979

⚙️ Miscellaneous Tasks

  • infra: chore(infra): ensure pnpm install for common commands by @hyf0 in #4987
  • browser: chore(browser): add @oxc-project/runtime by @shulaoda in #4988
  • deps: chore(deps): update dependency tsdown to v0.12.8 by @renovate[bot] in #4977
  • deps: chore(deps): update npm packages (major) by @renovate[bot] in #4963
  • deps: chore(deps): lock file maintenance npm packages by @renovate[bot] in #4967
  • deps: chore(deps): lock file maintenance rust crates by @renovate[bot] in #4965
  • deps: chore(deps): lock file maintenance npm packages by @renovate[bot] in #4964
  • deps: chore(deps): update github-actions by @renovate[bot] in #4962

❤️ New Contributors

  • @iiio2 made their first contribution in #4974

[1.0.0-beta.16] - 2025-06-15

🚀 Features

  • rolldown: feat(rolldown): oxc v0.73.0 by @Boshen in #4948
  • types: feat(types): generate HMR runtime types by @sapphi-red in #4928
  • rolldown_plugin_build_import_analysis: feat(rolldown_plugin_build_import_analysis): align with rolldown-vite by @shulaoda in #4931
  • feat: allow to configureexperimental#attachDebugInfo: 'none' to disable generating #region comments by @TheAlexLichter in #4918

🐛 Bug Fixes

  • fix: deduplicate entry point by @IWANABETHATGUY in #4956
  • fix: diagnostic message on minified code is too long to be readable by @IWANABETHATGUY in #4950
  • fix: deduplicated entry points when have same id, name, and filename by @IWANABETHATGUY in #4947
  • fix: unbundle does not work with outExtensions by @IWANABETHATGUY in #4945
  • types: fix(types): remove undefined from return type of generateHmrPatch and hmrInvalidate by @sapphi-red in #4943
  • fix: handle error in hmrInvalidate by @sapphi-red in #4942
  • rolldown_plugin_build_import_analysis: fix(rolldown_plugin_build_import_analysis): preload helper is imported even if it’s not needed by @shulaoda in #4936
  • hmr: fix(hmr): avoid panic after syntax error by @sapphi-red in #4898
  • strictExecutionOrder: fix(strictExecutionOrder): ensure initialization chain of entry exports by @hyf0 in #4933
  • fix: should not panic when meet a syntax error in watch mode. by @IWANABETHATGUY in #4926
  • fix: regression, id filter normalization for windows is not working by @IWANABETHATGUY in #4922
  • rolldown_plugin_json: fix(rolldown_plugin_json): incorrect default JSON export by @shulaoda in #4924

🚜 Refactor

  • refactor: avoid unnecessary collect by @IWANABETHATGUY in #4949
  • refactor: get normalized options via binding by @IWANABETHATGUY in #4938
  • refactor: include DevRuntime base class even if custom HMR implementation is passed by @sapphi-red in #4929

📚 Documentation

  • docs: clarify minifier state by @TheAlexLichter in #4953
  • docs: drafting code splitting by @hyf0 in #4951
  • docs: add link to repl by @sxzz in #4917
  • pluginutils: docs(pluginutils): add example to simple filter functions by @sapphi-red in #4915

🧪 Testing

  • test: add testcase for normalized output options by @IWANABETHATGUY in #4939
  • hmr: test(hmr): enable expectExecuted for generatePatchError test by @sapphi-red in #4937
  • test: evaluate hmr tests in node by @sapphi-red in #4930
  • test: add "non used export" hmr test by @sapphi-red in #4900
  • test: enable expectExecuted in HMR tests by @sapphi-red in #4927

⚙️ Miscellaneous Tasks

  • deps: chore(deps): lock file maintenance npm packages by @renovate[bot] in #4866
  • infra: chore(infra): remove comments related to cspell by @shulaoda in #4940
  • ci: remove cargo bench test by @IWANABETHATGUY in #4925

[1.0.0-beta.15] - 2025-06-11

🚀 Features

  • feat: make native json plugin callable by @shulaoda in #4908
  • feat: support preserveSignature in this.emitFile by @IWANABETHATGUY in #4895
  • rolldown_plugin_module_preload_polyfill: feat(rolldown_plugin_module_preload_polyfill): expose plugin config by @shulaoda in #4896

🐛 Bug Fixes

  • fix: add missing pathe polyfill by @sxzz in #4912
  • node: fix(node): call options hook for experimental_scan by @sapphi-red in #4911
  • fix: better NoEntryPoint error message by @IWANABETHATGUY in #4903
  • fix: fail to bundle when provide entryPoint dynamiclly by @IWANABETHATGUY in #4902

🧪 Testing

  • pluginutils: test(pluginutils): add query suffix case for makeIdFiltersToMatchWithQuery by @sapphi-red in #4914
  • test: copy rollup preserveEntrySignature override-via-plugin test by @IWANABETHATGUY in #4910
  • test: include error in hmr test snapshots by @sapphi-red in #4899

⚙️ Miscellaneous Tasks

  • chore: update committed dts by @sapphi-red in #4913
  • chore: bump rolldown-ariadne by @IWANABETHATGUY in #4909
  • improve prepare release commit message by @Boshen

[1.0.0-beta.14] - 2025-06-10

💥 BREAKING CHANGES

  • refactor!: move preserveEntrySignatures from output to input options by @IWANABETHATGUY in #4871

🚀 Features

  • strictExecutionOrder: feat(strictExecutionOrder): no need to generate plain chunk imports for addressing side effects by @hyf0 in #4890
  • feat: make wasm fallback plugin callable in node by @shulaoda in #4885
  • rolldown_plugin_module_preload_polyfill: feat(rolldown_plugin_module_preload_polyfill): align with rolldown-vite by @shulaoda in #4884
  • attachDebugInfo: feat(attachDebugInfo): improve format and distinguish dynamic entries by @hyf0 in #4861

🐛 Bug Fixes

  • binding: fix(binding): preserveModules infinity loop by @Brooooooklyn in #4879
  • fix: dynamic import does not return exports when preserveEntrySignatures: false is set and the importee is an entry by @IWANABETHATGUY in #4891
  • fix: preserveEntrySignatures panics with an edge case by @IWANABETHATGUY in #4877
  • fix: directives are missing with preserveModules by @IWANABETHATGUY in #4876
  • fix: exports from dynamically imported chunks are removed by @IWANABETHATGUY in #4875

🚜 Refactor

  • refactor: clearify Chunk entry kind by @IWANABETHATGUY in #4892
  • rolldown_plugin_build_import_analysis: refactor(rolldown_plugin_build_import_analysis): align the logic with rolldown-vite by @shulaoda in #4856

📚 Documentation

  • contrib-guide: docs(contrib-guide): add HMR testing section by @sapphi-red in #4888
  • guide: docs(guide): update release channels - remove nightly, add pkg.pr.new by @Boshen in #4881

🧪 Testing

  • test: rename rolldown/topics/hmr/mutiply-entires to snake case by @sapphi-red in #4889
  • test: add test for #4849 by @sapphi-red in #4887
  • test: setup infra for hmr tests by @sapphi-red in #4886

⚙️ Miscellaneous Tasks

  • ci: disable publish to nightly by @Boshen in #4874
  • ci: extend Vite tests timeout by @sapphi-red in #4870
  • fix publish-to-npm.yml by @Boshen

◀️ Revert

  • revert: "refactor(rolldown_plugin_load_fallback): align with rolldown-vite" by @shulaoda in #4868

[1.0.0-beta.13] - 2025-06-07

🚀 Features

  • feat: merge same ImportNamespaceSpecifier for external module by @IWANABETHATGUY in #4373

🐛 Bug Fixes

  • ci: disable generate_release_notes by @Boshen

📚 Documentation

  • docs: add MAINTENANCE.md; remove rolldown.rs/contrib-guide/release by @Boshen in #4854

⚙️ Miscellaneous Tasks

  • add input description to prepare-release.yml by @Boshen
  • fix prepare-release.yml by @Boshen
  • CHANGELOG.md: ci(CHANGELOG.md): use git-cliff to generate changelogs by @Boshen in #4858

1.0.0-beta.12 (2025-06-06)

Features

  • preseveEntrySignature: allow-extension (#4800) (83d4d62)
  • advancedChunks: only move the captured module itself if preserveEntrySignatures is allow-extension (#4847) (57e7f8b)
  • interop import('some-cjs-module.js') (#4816) (b9ac5f0)
  • rolldown: oxc v0.72.3 (#4845) (759525d), closes #4796 #4846
  • support preserveEntrySignatures: exports-only (#4848) (63dc546)
  • support preserveEntrySignatures: false (#4844) (e4e90e9)
  • take node esm spec into account for dynamic imports in cjs modules that satisfy nodejs (#4819) (640af3a), closes #4289

Bug Fixes

Features

  • add index_of_one utils for Bitset (#4779) (16aff17)
  • advancedChunks: support function for output.advancedChunks.groups[].test (#4644) (0a177d4), closes #4477
  • node: support Rollup-style JSX options (#4756) (2c4c2a8), closes #4752
  • rolldown_plugin_isolated_declaration: improve diagnostic messages (#4731) (87188ed), closes #4040
  • warn when assignment to bundle is detected (#4792) (833c4e0)

Bug Fixes

⚠ BREAKING CHANGES

  • "feat!: always make the default value of platform as browser" (#4720)
  • resolve: add module to resolve conditions by default (#4703)
  • types/resolve: use literal 'import-statement' to refer to static import statements instead of 'import' (#4689)
  • rust: merge target option into transform (#4665)
  • rust: merge jsx option into transform (#4654)
  • always make the default value of platform as browser (#4611)

Features

  • add preserveEntrySignatures option (#4640) (3979e2a)
  • always make the default value of platform as browser (#4611) (43425a0)
  • binding: preserveModulesRoot (#4631) (51df2b7)
  • ci: apply cargo shear --fix correctly in autofix (#4677) (15934eb)
  • debug: add StmtSideEffect to record the specific reason why a stmt has side effect (#4671) (5982115)
  • debug: emit more details for Module[#imports](https://github.com/rolldown/rolldown/issues/imports) (#4619) (42afd5a)
  • enable cjs ns merge for react (#4621) (ddf8da8)
  • enable loose mode validate option and give warning (#4638) (080ce4e)
  • on_demand_wrapping: don't wrap modules that don't rely on others and have side effect (#4670) (326e6f5)
  • plugin/json: only transform module with moduleType: 'json' (#4554) (c69e332)
  • rolldown_plugin_oxc_runtime: support automatic resolution of oxc runtime helpers (#4641) (b09c035), closes #4597
  • rolldown_plugin_utils: extract check_public_file from rolldown_plugin_asset (#4660) (1b3b8c3)
  • rolldown_plugin_utils: extract file_to_url from rolldown_plugin_asset (#4663) (40290b5)
  • rolldown_plugin_utils: support create_to_import_meta_url_based_relative_runtime (#4657) (d77354f)
  • rolldown_plugin_utils: support to_output_file_path_in_js (#4659) (9e8c677)
  • rolldown: oxc v0.71.0 and napi beta (#4618) (76c39c6), closes #4614
  • rolldown: oxc v0.72.0 (#4658) (8371a90)
  • rolldown: oxc v0.72.1 and oxc-resolver v11 (#4718) (79a47fc)
  • rust: merge jsx option into transform (#4654) (4872097), closes #4447
  • rust: merge target option into transform (#4665) (f9aa33a), closes #4651
  • rust: preserveModulesRoot (#4630) (9f62c77)
  • support to attach chunk debug information in output (#4633) (1079582)

Bug Fixes

  • chunk.name is not sanitized when the chunk is a common chunk (#4712) (5949f2a), closes #4709
  • preserveModules co exists with multi entrypoints (#4626) (b46bdea), closes #4624
  • preserveModules don't respect relative path (#4629) (9727493)
  • browser: disable oxc runtime plugin (#4708) (0ec9e7d), closes #4707
  • ci: add missing just in warmup workflow (c6a1eb1)
  • ci: cache release builds to a different cache key (a002b24)
  • ci: cache warmup should include build artifacts (#4675) (0f2c3b5)
  • ci: fix double pnpm cache from setup-node (#4685) (db25788)
  • ci: fix release build (#4691) (82620b9)
  • ci: fix template-injection in benchmark-rust (57b2792)
  • ci: fix template-injection in publish-to-npm-for-nightly-canary.yml (352340f)
  • ci: in metrics, use cache instead of cargo fetch (937eae9)
  • ci: pnpm install --ignore-scripts (#4696) (e040112)
  • cjs namespace merge in incremental build (#4613) (b1c500e)
  • dynamic chunk not exported when using preserveModules (#4650) (d91dfb5)
  • exported dynamic import is treated as unused (#4648) (edf5b4e), closes #4646
  • generated wrapper stmt info should be always included on demand (#4639) (ed553e1)
  • index out of bounds panic at oxc_index-3.0.0 with recent canary version (#4713) (3fad6f4)
  • inlineDynamicImports: ensure tla module execution correctly (#4627) (e9ef28c)
  • partial cjs namespace merge with chunk split (#4598) (83a0b40)
  • partial merge cjs namespace (#4595) (0085f4a)
  • removing unused dynamic imported chunks (#4655) (fe21db7)
  • resolve: add module to resolve conditions by default (#4703) (9727531)
  • rolldown/browser: auto-resolve oxc runtime helpers (#4645) (701bbc3), closes #4641
  • rust: avoid panic in into_assignment_target (#4688) (6c806ea), closes #4304
  • sort dynamic entires with topological order before tree shake. (#4694) (bc96622)
  • strict_execution_order: runtime module should not be wrapped by default (#4692) (4008ac0)
  • strict_execution_order: wrapped module should be included on demand (#4687) (7c21036)
  • strip path for require identifier with preserveModules (#4704) (2ba8e28), closes #4700
  • types/resolve: use literal 'import-statement' to refer to static import statements instead of 'import' (#4689) (eee51d8)
  • watch: watch linux path at windows (#4625) (ed594aa)

Performance Improvements

  • change profile.dev.debug to improve rust compile times (#4623) (0312f66)
  • rolldown: prevent duplicate text embedding with include_str! (#4664) (8fee5af), closes #4354

Reverts

  • "feat!: always make the default value of platform as browser" (#4720) (4021325), closes rolldown/rolldown#4611
  • "refactor(rolldown_sourcemap): remove unused SourceJoiner[#prepend](https://github.com/rolldown/rolldown/issues/prepend)_source" (#4632) (719ec89), closes rolldown/rolldown#4431
  • feat(on_demand_wrapping): don't wrap modules that don't rely on others and have side effect [#4670](https://github.com/rolldown/rolldown/issues/4670) (#4686) (8a77ce9)

    1.0.0-beta.9 (2025-05-19)

⚠ BREAKING CHANGES

  • rolldown: update to oxc@0.70.0 to refine printing comments (#4562)
  • align directive rendering with esbuild (#4557)
  • don't expose And class in pluginutils (#4537)
  • add OutputOptions#legalComments and remove OutputOptions#comments (#4528)
  • expose withFilter function via rolldown/filter instead of rolldown (#4369)
  • allows users to specify filter expressions directly using an array syntax instead of an object with a "custom" key (#4368)
  • use camel cases for package.json#exports field (#4366)
  • filter expr binding conversion (#4343)

Features

  • add OutputOptions[#legal](https://github.com/rolldown/rolldown/issues/legal)Comments and remove OutputOptions[#comments](https://github.com/rolldown/rolldown/issues/comments) (#4528) (aa7e253)
  • add watcher.off method to remove event listener (#4388) (ca23f2d), closes #4382
  • allow to preserve legal comments with minify: true (#4591) (9a837fc)
  • allows users to specify filter expressions directly using an array syntax instead of an object with a "custom" key (#4368) (4a50b6d)
  • better error message for manualChunks (#4530) (5b8c925)
  • builtin-plugin: expose webWorkerPostPlugin (#4594) (d89470c)
  • cleanUrl rust interpreter (#4480) (1988c3d)
  • debug: add call_id to load and transform events (#4296) (432acb3)
  • debug: distinguish if resolve_id hook is called automatically or manually (#4254) (1b90f35)
  • debug: emit ModuleGraphReady event (#4515) (29d88da), closes #4135
  • debug: inject call_id for each pair of HookResolveIdCall events (#4255) (d93e66e)
  • expose isolatedDeclaration (#4410) (92d35c5)
  • expose loadConfig in api (#4428) (9a4338e), closes #4313
  • expose oxc-resolver (#4485) (8aae298)
  • filter expr binding conversion (#4343) (6c73e55)
  • filter expression node binding types (#4340) (684e2b5)
  • hmr: handle import.meta.hot.invalidate (#4339) (9725513)
  • hmr: support sourcemap (#4570) (d3b21fe)
  • implement filter expr filtering (#4346) (d35f587)
  • introduce filter expression (#4323) (21b9e45)
  • make BindingMinifyOptions fields optional (#4307) (165d0b1), closes #4306
  • make RolldownBuild.watchFiles to async (#4520) (4666852)
  • merge emitDecoratorMetadata from tsconfig.json (#4555) (3f14835), closes #4552
  • move filter related utils to @rolldown/pluginutils (#4429) (f932e9e)
  • output.virtualDirname (#4521) (2e52dbc)
  • parse filter expr (#4338) (e394f40)
  • partial preserveModules impl (#4456) (a3b1473)
  • plugin/transform: allow readonly array for options (#4266) (86482ea)
  • plugin/vite-resolve: port changes after Vite 6 (#4269) (7c1fae3), closes #4270
  • plugin: support code filter for renderChunk hook (#4351) (ef1f137), closes #4231
  • pluginutils: Query filter impl (#4535) (6c06a1c)
  • pluginutils: add exactRegex and prefixRegex (#4458) (7c58822)
  • pluginutils: add makeIdFiltersToMatchWithQuery function (#4469) (75757fa)
  • preserveModules (#4457) (4b0464e)
  • rolldown_error: add necessary id for some errors (#4533) (d4801c4), closes #4427
  • rolldown_plugin_asset_import_meta_url: initialize assetImportMetaUrlPlugin (#4563) (84c4bac)
  • rolldown_plugin_asset: align resolveId with rolldown-vite (#4545) (d6e2358)
  • rolldown_plugin_asset: initialize asset plugin (#4541) (51bbd05)
  • rolldown_plugin_asset: partially align load hook with rolldown-vite (#4561) (a58cdd9)
  • rolldown_plugin_dynamic_import_vars: basic support for custom resolver (#4333) (ad5315f), closes #3968
  • rolldown_plugin_dynamic_import_vars: complete basic alignment work (#4334) (1fd551c), closes #3968
  • rolldown_plugin_dynamic_import_vars: introduce resolver option (#4309) (89aa613), closes #3968
  • rolldown_plugin_dynamic_import_vars: prepare for custom resolver (#4328) (a15677b), closes #3968
  • rolldown_plugin_dynamic_import_vars: support include and exclude (#4288) (c4e6cad), closes #3968
  • rolldown_plugin_import_glob: support brace expansion (#4121) (54afc8f), closes #3982
  • rolldown_plugin_reporter: align the logic in renderChunk hook (#4464) (db88da2), closes #3968
  • rolldown_plugin_reporter: basically align behavior with rolldown-vite (#4475) (90102d7), closes #3968
  • rolldown_plugin_reporter: further aligned with rolldown-vite (#4476) (3985436), closes #3968
  • rolldown_plugin_reporter: prepare for chunk reporting (#4449) (e270f24), closes #3968
  • rolldown_plugin_web_worker_post: align with rolldown-vite (#4576) (0d7e06c)
  • rolldown: oxc_resolver v8 (#4392) (0de485b)
  • rolldown: bump oxc_resolver to v7.0 (#4367) (63723d5)
  • rolldown: expose experimental entry for browser (#4446) (069b04b)
  • rolldown: expose ModuleTypes type (#4506) (513a17a)
  • rolldown: oxc v0.66.0 (#4275) (35ee0e7)
  • rolldown: oxc v0.68.1 (#4405) (4d4df59)
  • rolldown: oxc v0.69.0 (#4478) (4940c31)
  • rolldown: oxc v0.76.0 (#4345) (86ed7c3)
  • rolldown: oxc_resolver v9.0.0 (#4462) (9ef061d)
  • rolldown: update to oxc@0.70.0 to refine printing comments (#4562) (1c583fe)
  • rust: execute cjs as it is (#4465) (5becdcf)
  • rust: impl Query filter (#4542) (8a5f862)
  • rust: initialize rolldown_plugin_vite_css (#4418) (f2531a6)
  • rust: support LegalComments::Inline (#4444) (6921d6c)
  • support extra IdParams and cleanUrl (#4479) (55a9209)
  • support variadic args for or and and filter expr (#4371) (3fe195c)
  • types: allow rollup plugin to be assigned to plugins option (#4568) (42e496f)
  • types: expose more watcher related types (#4383) (21263e5)
  • validate hoistTransitiveImports (#4262) (ac258d5)
  • watcher: support result.close at bundle end event (#4423) (f579291)
  • watch: support result.close at error event (#4424) (7bb3956)

Bug Fixes

  • asset ModuleType not available in TypeScript package (#4489) (8ac92a4)
  • add debug information for debug wasm binaries (#4549) (cc66f4b)
  • align directive rendering with esbuild (#4557) (709eb63)
  • align resolve extension order with esbuild (#4277) (6565161)
  • align sanitize_filename with rollup (#4244) (d53650c)
  • align validator with the actual types for output.polyfillRequire / output.minify.deadCodeElimination (#4294) (6e313e1)
  • chunk level directives rendering (#4551) (a16881d), closes #4548
  • chunk_exports: Prevent duplicate external module imports (#4408) (f90a05f), closes #4406
  • chunk.imports should include external imports (#4315) (62dee06)
  • ci: fix incorrect tag name for lychee-action (#4352) (2531185)
  • cli: ROLLUP_WATCH should be set when config is loaded (#4293) (f845728), closes #3967
  • cli: invalid type used with --target (#4407) (8cce9fc), closes #4387
  • consolidate log related types (#4355) (0174d14), closes #4330
  • debug: ensure emitting json object per line and correct types (#4295) (1d1fa3d)
  • don't minify .d.ts related chunk (#4240) (d984417)
  • dynamic import with backquotes are not bundled (#4435) (76c6380)
  • ensure executing of plain imported cjs, fixes #4443 (#4468) (df9b4ee)
  • hmr: accpet deps (#4314) (6aca0ce)
  • hmr: aovid using quote_stmt, it make sourcemap panic (#4571) (7b949a0)
  • hmr: enable incremental_build (#4298) (7209cf3)
  • hmr: export full reload info if reach to hmr root (#4242) (9b57bd3)
  • hmr: hmr chunk execute dependencies before create import.meta.hot (#4320) (2a06dfe)
  • hmr: make sure runtime module imported for each chunk (#4438) (4d444b0)
  • hmr: normalize hmr chunk sourcemap sources path (#4572) (6691f45)
  • hmr: preserve original import.meta.hot when no HMR context exists (#4391) (bc78fa1), closes #4390 #4370
  • hmr: reexport named declaration (#4319) (3858daa)
  • hmr: register cjs module exports (#4511) (66f4623)
  • hmr: remove duplicated import statment (#4556) (69aebee)
  • hmr: rewrite import default/namespace reference (#4299) (a0733d0)
  • hmr: rewrite import.meta.hot (#4370) (7b030ee)
  • moduleSideEffects function should also apply to external module (#4305) (77c8935)
  • node: add type property to RenderedChunk (#4553) (8ca4fde)
  • node: ensure comments option got passed to rust (#4527) (35571e5), closes #4491
  • plugin/vite-resolve: align default externalize logic with Vite (#4247) (a37e704)
  • plugin/vite-resolve: external was serialized incorrectly (#4270) (3a98131)
  • preserveModules cjs interop (#4529) (1e7b372)
  • render_chunk_exports: add missing semicolon to exported value assignment (#4498) (8739f25), closes #4459
  • rolldown_plugin_transform: use or instead of xor for transformOptions.lang (#4587) (ef90f2e)
  • rolldown_transform_plugin: incorrect detection of file extension (#4241) (eae9262), closes #3881
  • rust: ramdom segmentation fault (#4473) (42fd8e2)
  • should not convert module to cjs if there exists toplevel this but no module,exports used (#4514) (f606614)
  • should not throw for circular cjs imports, fixes #3529 (#4467) (3240812)
  • should rewrite jsx_name when jsx: preserve (#4516) (d95f99e)
  • should try to resolve .json extension by default (#4276) (e84206b), closes #4274
  • transform hook code filter does not work (#4386) (a720367), closes #4379
  • use correct FileTemplate when enable preserve_modules (#4517) (a779c8c)
  • using original error if normalize original plugin error has error (#4263) (d378cad)
  • watch-cli: call result.close at bundle end or error (#4426) (55efe08)
  • watch: allow call result.close multiply times (#4425) (e19ea12)

Performance Improvements

  • avoid allocating unnecessary memory in runtime for module_types map (#4301) (f675391)
  • enable Wasm 128bit SIMD Extension (#4484) (9d84ea8)
  • reduce wasm release binary size (#4547) (bf53a10)
  • rename: reduce some string allocations (#4487) (c51bc5c)
  • rolldown_plugin_alias: avoid unnecessary to_string allocations (#4268) (bf18d12), closes #3968
  • rolldown_plugin_json: change register_hook_usage to return HookUsage::Transform (#4375) (baf6ca1), closes #3968
  • rolldown: reduce size of ModuleLoaderMsg from 1472 to 24 bytes (#4496) (71d87e5)
  • rolldown: remove ArcStr usages in finalize_chunks (#4494) (4dcaa00)
  • rolldown: speedup extract_hash_placeholders with memchr (#4495) (38fd4b8)
  • rust: improve PreProcessor[#visit](https://github.com/rolldown/rolldown/issues/visit)_export_named_declaration (#4419) (f7e95d8)

Miscellaneous Chores

  • don't expose And class in pluginutils (#4537) (985af6d)
  • expose withFilter function via rolldown/filter instead of rolldown (#4369) (ead9749)
  • use camel cases for package.json[#exports](https://github.com/rolldown/rolldown/issues/exports) field (#4366) (2fa6d40)

1.0.0-beta.8 (2025-04-22)

Bug Fixes

  • attach more comments related to export decl (#4219) (a684277)
  • avoid empty line at the beginning of emitted chunks caused by file without imports (#4179) (a3b5f54), closes #4150
  • avoid hang if load error (#4056) (f262f1f)
  • avoid load again if load success at concurrent load (#4156) (821fc82)
  • build: handle empty dependencies in rolldown configuration (#4108) (934d75d)
  • clear js side cache at bundle fininsh (#4158) (10afd61)
  • convert severity of missing_export diagnostic to warning when importee module is ts/tsx (#4147) (57ae80d)
  • correct bundle size calculation (#3994) (748d395)
  • correct the behavior when multiple transform filter option are specified (#4059) (92f7cc6)
  • debug: prevent multiple writes on the same file (#4117) (9131bdc)
  • deconfilct chunk name after name generated (#4191) (1534f4a)
  • don't unwatch files when close watcher (#4105) (729b6cb), closes #4084
  • filter should not stabilize args.specifier (#3972) (85c4bdd)
  • filter test case (#3975) (eeb1005)
  • hmr: should generate correct commonjs wrapper (#4131) (afae765), closes #4129
  • hmr: should register cjs exports differing from esm (#4132) (ca47ca2)
  • isolated_declaration: skip external id (#4026) (8b7c824)
  • make sure flush before write into stdio (#4157) (85dcb2a)
  • named_function_expression_argument (#4074) (e95a392), closes #4045 #4061
  • node: ensure this.meta.watchMode is true in watch mode (#3969) (7ddcaea), closes #3960
  • node: fix webcontainer fallback for cjs rolldown + silence pkg.pr.new check error (#3958) (465ee23)
  • node: resolveId id filter is optional (#3991) (c7e4434)
  • preserve leading comments of export default decl (#4122) (e3ab62a), closes #4006
  • rolldown_plugin_transform: incorrect detection of source_type (#4214) (bfe3e9e), closes #4203
  • rolldown_utils: normalize ids before filtering (#3955) (dc245f0)
  • runtime module should get executed first always (#3978) (1c679ee), closes #3650
  • rust: preserve-legal should correspond to Comments::PreserveLegal (#4137) (cef50bd), closes #4118
  • rust: avoid panic when assetFileNames hash length exceeds 22 (#4019) (86710df), closes #4016
  • rust: crashes with object containing shorthand to NaN (#4197) (7d55cda), closes #4196 #4123
  • support nested plugin for withFilter (#4106) (698bd4c)
  • typo in example code (#4167) (31e3f1b)
  • validate hmr option (#4067) (c1d0963)

Features

Performance Improvements

1.0.0-beta.7 (2025-03-24)

Bug Fixes

  • check dummy record in all import_records.iter (#3930) (2519603)
  • ci: fix broken metric workflow (#3944) (1df6407)
  • determine a module side effects for require a module that can't analyze statically (#3928) (3909fcb), closes #3926
  • mark export all stmt as side effects free (#3897) (0f36c01)
  • metrix ci broken (#3924) (f115e7a)
  • normalize oxc minify keep_names with keep_names option (#3948) (126f3e0)
  • reuse JSON.parse wrapper from oxc-parser (#3904) (1726b6a)
  • tasks/generator: ensure just update-generated-code runs correctly on Windows (#3900) (ca73e82)
  • tasks/generator: ensure consistent path on Windows (#3901) (df042b0)

Features

  • add data structure that used for incremental build (#3932) (8c0b950)
  • add HookTransformAstArgs#stable_id (#3920) (15cb25a)
  • add isolated_declaration plugin (#3894) (529a7be)
  • hmr/poc: change visited map to use VisitState enum for better state management (#3908) (1fd3698)
  • incremental rebuild (#3934) (0b03e35)
  • isolated_declaration: add stripInternal option (#3902) (8f5f8f1)
  • isolated-declaration: emit typing for imported or exported typing module (#3910) (458a62d)
  • make ScanStageOutput cloneable (#3923) (47fe675)
  • make transform_ast hook to async (#3891) (b150e1b)
  • node/hmr: ensure only invoke hmr process if there are live connections (#3907) (9cb523f)
  • node/wasi: add private @rolldown/wasi to prepare to distribute wasm binary in a friendly way (#3925) (53faf0c)
  • remove unused import(...) if importee doesn't have side-effects (#3911) (0ac283b), closes #2827
  • support meta#chunks at render_chunk hook (#3898) (8fd9481)

Performance Improvements

1.0.0-beta.6 (2025-03-17)

1.0.0-beta.5 (2025-03-17)

Bug Fixes

  • cli: fix and improve error message when validating cli options (#3813) (64993bb)
  • cli: remove duplicate error message in stack trace (#3828) (79fea00)
  • dataurl plugin resolve panic (#3822) (251e281)
  • generate sourcemapMappingUrl reference properly (#3849) (2b0f20f), closes #3845
  • renovate: dependencyDashboard is not a preset (#3862) (607e112)

Features

  • calculate relative external module rendered path (#3855) (e0cd410)
  • emit diagnostic when configuration field conflict (#3854) (d0e0a63)
  • filter out diagnostics disabled in checks options (#3846) (4524a58)
  • hmr/rust: invoke transform hook on affected hmr module (#3866) (296d605)
  • hmr/rust: reuse existing ModuleLoader (#3865) (b4dd209)
  • hmr: enhance error handling by wrapping program body in a try-catch block (#3825) (007805a)
  • hmr: inject ModuleHotContext for each module (#3832) (30b9a0b)
  • hmr: support HMR on editing non-hmr-boundary module (#3853) (568197a)
  • hmr: wrap module code into a function (#3851) (8a7b7d1)
  • memorize importer's idx for each moodule (#3852) (3a7758f)
  • support absoulte/relative external (#3834) (d8f0bcb)

Performance Improvements

  • use mimalloc-safe which is maintaining by us (#3869) (6b9d148)

1.0.0-beta.4 (2025-03-11)

Bug Fixes

  • imports with only types are removed even if verbatimModuleSyntax is true (#3784) (ff8d19d), closes #3777
  • windows panic (#3436) (bc5b1e7)
  • keepNames with function declaration panic (#3687) (6016b3c)
  • add sequential?: boolean type for rollup compat (#3442) (e9daf93)
  • add wrong is_cjs_reexport flag (#3532) (c2bcb3d)
  • advanced_chunks: unexpected behavior with maxSize (#3641) (8b59091)
  • avoid generate asset filename panic if emit file with fileName (#3423) (794a63d)
  • avoid preliminary filenames conflict (#3460) (aeb352c)
  • auto polyfill import.meta.* in none esm format (#3454) (287a616)
  • avoid call outputOptions hook at close (#3601) (48b1b86)
  • avoid duplicated init_esm call (#3707) (6eafc2f)
  • build-binding script should reuse passed args (#3774) (77623da)
  • chunk sorting total order (#3451) (73116ab)
  • chunk.modules should order by exec_order (#3638) (8219a83)
  • cjs: ensure esm namespace always exist (#3693) (f0301a6), closes #3619 #3529
  • cli doesn't show config loading error details (#3464) (e048f55)
  • cli: cli default option (#3613) (93d8731)
  • consider require ExpressionIdentfier as a import record (#3428) (2410ee7), closes #3395
  • deconflict export alias (#3457) (fdb55d5)
  • diagnostic in minified file significantly slow down the build (#3498) (2efa799), closes #3455
  • don't enable drop_console when compress is true (#3639) (2382047)
  • entry chunk name should respect sanitizeFileName (#3618) (4ec8869)
  • escape import/export module name and json key (#3458) (4ccaf24)
  • fix ROLLUP_FILE_URL for emitted chunks (#3507) (63b4e88)
  • glob import from parent dir (#3614) (59c5da5)
  • glob_import: return absolute paths for absolute globs (#3701) (eec83c9)
  • hash: should calculate hash dependenies correctly (#3522) (c34d2d4)
  • hash: should compute cross chunk dependecis in stable order (#3524) (52119c7), closes #3453
  • load mts config without type module (#3750) (64998fb)
  • make default sanitizeFilename compatible with rollup (#3431) (67ec7d7), closes #3418 #3418
  • make diagnostic message for eval build event easier to understand (#3766) (efafb0f), closes #3759
  • making return type compatible with rollup/parseAst (#3586) (659cbd3)
  • manifestPlugin: manifest fileds should be camelCase (#3551) (011af34)
  • mf: add remote esm module __esModule flg (#3569) (22d8cf4)
  • minify with jsx preserve (#3730) (d6de53c)
  • minify: disable top_level option for iife format (#3647) (335d3d6)
  • node: add rolldown dist typing check (#3516) (32880da)
  • node: allow output.minify: 'dce-only' (#3805) (e170e6e)
  • node: allow updating sourcemap.debugId by plugins (#3749) (c83cc30)
  • node: EmittedFile type compat (#3745) (55ddf7d)
  • node: make in for additional properties in OutputChunk work (#3635) (cec60e3)
  • node: proxy moduleSideEffects for moduleInfo (#3510) (cc2d779), closes #2781
  • node: tsc build only emit declaration (#3509) (9c0032c)
  • NormalizedOutputOptions option (#3582) (0bfe751)
  • NormalizedOutputOptions sourcemapIgnoreList (#3714) (34556a5)
  • prefix async to runtime helper if module has top level await (#3696) (c4a1aae), closes #3686
  • preserve this for PluginContext#emitFile (#3683) (ca89c63), closes #3634
  • preserve this for PluginContext#getModuleInfo (#3634) (8346be7)
  • regressed from renovate bot (#3484) (d660852)
  • replace all global require to __require when necessary (#3469) (cfcc101)
  • rust: dynamically importing JSON with output.advancedChunks.groups (#3584) (a7e403e), closes #3437 #3343
  • rust: generate specified hash length for emitted asset filenames (#3740) (b770d2c), closes #3737
  • rust: only replace specified-length placeholders for the hash type (#3736) (f4abf32)
  • should consider void expr as side effects free if expr is side effects free (#3479) (857a285), closes #3478
  • should generate correct pattern for cross chunk symbols (#3296) (54fd0f1)
  • splitting: indirect external symbol (#3405) (89db1f3)
  • stackblitz merge_transform_options failed (#3732) (79b9463)
  • stackoverflow when update cjs module meta (#3530) (ece5e77)
  • suppress unresolved require error in try catch block (#3605) (b546e53)
  • sync other moduleSideEffects value in ModuleInfo (#3520) (f65bde3), closes #2781
  • synchronize js ModuleInfo mutation to rust side (#3518) (8922436), closes #2781
  • syntax error when use top level await with strict_execution_order option (#3512) (558ea78)
  • tla: detecting TLA in top level block scope (#3552) (747e54d)
  • top level this substitution (#3567) (89eac9e)

Features

Performance Improvements

  • advanced_chunks: remove unnecessary sorting (#3655) (b814905)
  • avoid unnecessary alloc in to_base64 (#3462) (92d10c3)
  • binding: modules property in RenderedChunk (#3533) (06b6bbf)
  • plugin_dynamic_import_vars: remove Regex (#3702) (3337767)
  • reduce clone of transform_options (#3782) (73fa972)
  • reduce memory alloc for StmtInfo (#3590) (b0898a8)
  • remove unnecessary to_string (#3715) (0ba0ac4)
  • replace data url parse with nom (#3677) (ca90fa2)
  • rolldown_plugin_replace: replace static Regex with pure function (#3690) (e1deaff)
  • rolldown_utils: remove replace placeholder Regex (#3691) (582886c)
  • rust: avoid emitted_filenames to hash twice (#3504) (9404df1)
  • rust: avoid unnecessary into_owned on Cow<str> (#3470) (cdeedac)
  • rust: avoid unnecessary source clone (#3815) (a22cfd2)
  • rust: improve get_lived_entry (#3665) (6e16c3c)
  • should not invalidate ModuleOptions if mutate ModuleInfo has same id with hook param (#3519) (370af62)

1.0.0-beta.3 (2025-01-23)

Bug Fixes

  • dynamic tree shaking more await syntax (#3399) (f11bf03), closes #3396
  • force cjs wrapper to be included in the output (#3400) (8a5eba0)
  • should not set default value for treeshake in cli normalization (#3398) (72ddc66), closes #3392
  • shouldn't generate unused __toESM calls (#3401) (5deb279)
  • sort function panic due to user-provided comparison function does not correctly implement a total order (#3384) (4986046)

Features

1.0.0-beta.2 (2025-01-20)

Bug Fixes

Features

Performance Improvements