chore(deps): update oxc to v0.106.0#7512
Conversation
✅ Deploy Preview for rolldown-rs canceled.
|
Pull request was closed
566e180 to
6de569c
Compare
Benchmarks Rust |
6de569c to
5bcebf8
Compare
914d5f9 to
6f14867
Compare
6f14867 to
604e55f
Compare
Pull request was closed
604e55f to
f876291
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
f876291 to
a6dd645
Compare
Added a new option (`invalid_import_side_effects`) to disable #16797 as it requires a new assumptions. refs rolldown/rolldown#7512 (comment)
c625648 to
29e896d
Compare
19ab15c to
8e7d08d
Compare
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Pull request overview
This PR updates oxc dependencies from v0.103.0 to v0.106.0, bringing in upstream improvements and adapting to breaking API changes in the oxc ecosystem.
Key Changes:
- Updated all oxc-related dependencies (runtime, types, parser, transform, minify) to v0.106.0
- Migrated from the old
BindingPattern.kindAPI to directBindingPatternenum matching - Updated AST builder methods to use new
binding_pattern_binding_identifierhelper - Added
invalidImportSideEffectsoption to TreeShakeOptions - Test snapshots updated to reflect improved tree-shaking and minification from oxc
Reviewed changes
Copilot reviewed 35 out of 38 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pnpm-workspace.yaml | Updated oxc package versions from 0.103.0 to 0.106.0 |
| pnpm-lock.yaml | Lockfile updates for oxc packages and new platform bindings (arm-eabi, arm-musleabihf, ppc64, riscv64-musl, ia32) |
| packages/rolldown/src/binding.d.cts | Added invalidImportSideEffects option to TypeScript TreeShakeOptions interface |
| crates/rolldown_plugin_vite_import_glob/src/utils.rs | Updated to use new binding_pattern_binding_identifier builder method and added initializer parameter to formal_parameter |
| crates/rolldown_plugin_vite_build_import_analysis/src/ast_visit.rs | Migrated from BindingPatternKind to direct BindingPattern enum matching |
| crates/rolldown_plugin_vite_build_import_analysis/src/ast_utils.rs | Updated to use new binding pattern builder methods and direct enum matching |
| crates/rolldown_plugin_oxc_runtime/src/generated/embedded_helpers.rs | Updated runtime helper prefix version string |
| crates/rolldown_ecmascript_utils/src/extensions/ast_ext/function.rs | Updated pattern matching from .kind field access to direct enum matching, improved initializer side-effect checking |
| crates/rolldown_ecmascript_utils/src/extensions/ast_ext/binding_property_ext.rs | Changed from BindingPatternKind to BindingPattern enum |
| crates/rolldown_ecmascript_utils/src/extensions/ast_ext/binding_pattern_ext.rs | Comprehensive migration from .kind pattern access to direct pattern matching |
| crates/rolldown_ecmascript_utils/src/ast_snippet.rs | Updated AST builder calls to use new binding_pattern_binding_identifier helper and added initializer parameter |
| crates/rolldown_common/src/inner_bundler_options/types/treeshake.rs | Added invalid_import_side_effects: true to oxc TreeShakeOptions conversion |
| crates/rolldown/src/utils/tweak_ast_for_scanning.rs | Updated to use BindingPattern instead of BindingPatternKind |
| crates/rolldown/src/stages/link_stage/cross_module_optimization.rs | Changed pattern matching from .kind to direct enum |
| crates/rolldown/src/module_finalizers/*.rs | Multiple files updated to use new binding pattern APIs |
| crates/rolldown/src/hmr/*.rs | Updated HMR code to use new formal_parameter signature with initializer |
| crates/rolldown/src/ast_scanner/*.rs | Migrated all binding pattern usage to new API |
| Cargo.toml & Cargo.lock | Updated oxc Rust crate versions to 0.106.0 |
| Test snapshots | Multiple test output files updated reflecting improved oxc minification (better IIFE elimination, Symbol handling, etc.) |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
I'm going to merge this because I spent a whole day playing whack a mole with CI. @sapphi-red and @IWANABETHATGUY please take a look at the esbuild diffs and raise issues accordingly. |
Merge activity
|
8e7d08d to
0f6065d
Compare
## [1.0.0-beta.58] - 2025-12-31 ### 💥 BREAKING CHANGES - experimental/devtools: rename InputOptions#debug to InputOptions#devtools (#7686) by @Copilot ### 🚀 Features - implement target feature check in `should_transform_js` for raw options (#7697) by @shulaoda - support `output.dynamicImportInCjs` option (#7677) by @shulaoda - types: expose `ChecksOptions` type (#7653) by @sapphi-red ### 🐛 Bug Fixes - export runtime helpers for cross-chunk access (#7658) by @shulaoda - cjs namespace merging regression (#7665) by @IWANABETHATGUY - replace panic with proper error handling for hash placeholder generation (#7661) by @shulaoda - remove the blank line between shebang and postBanner (#7643) by @btea - rolldown_plugin_vite_reporter: apply padding before ANSI coloring for proper size column alignment (#7649) by @shulaoda ### 🚜 Refactor - rust: use `StableModuleId` as the map key if possible (#7718) by @hyf0 - rust: return `StableModuleId` instead of `&str` from `Module#stable_id()` (#7717) by @hyf0 - rust: return correct stable id of external module from `Module#stable_id()` (#7716) by @hyf0 - rust: introduce `StableModuleId` type (#7715) by @hyf0 - rust: reduce unnecessary `id.as_arc_str().clone().into()` (#7714) by @hyf0 - rust: remove `ModuleId#resource_id` and use `as_arc_str` directly (#7710) by @hyf0 - rust: remove unused `Module#id_clone` (#7709) by @hyf0 - rust: remove `Module#id_as_str` and use `Module#id` directly (#7708) by @hyf0 - consolidate namespace call analysis into import analyzer (#7657) by @IWANABETHATGUY - rust: make `ExternalModule#id` have the type `ModuleId` (#7707) by @hyf0 - rust: rename `Module#id` to `Module#id_as_str` (#7706) by @hyf0 - rust: use `ModuleId` instead of raw `ArcStr` for `ScanStageCache` (#7701) by @hyf0 - simplify error propagation in cache merge (#7702) by @shulaoda - use `ModuleId` as the type of `ResolvedId#id` (#7694) by @hyf0 - types: rename `resolved_request_info.rs` to `resolved_id.rs` and move its contents (#7687) by @hyf0 - devtools: emit data to `<CWD>/node_modules/.rolldown` (#7692) by @hyf0 - use `InvalidOption` for hash placeholder generation errors (#7674) by @shulaoda - rolldown_error: remove dependency on rolldown_utils (#7672) by @shulaoda - use nodejs-built-in-modules v1.0.0 directly in callsites (#7667) by @Boshen ### 📚 Documentation - migrate input options content from options to auto gen docs (#7663) by @mdong1909 - create reference index page (#7659) by @mdong1909 - tweak auto-generated reference output (#7654) by @sapphi-red - initialize auto-gen docs (#7252) by @mdong1909 ### ⚙️ Miscellaneous Tasks - deps: update napi (#7705) by @renovate[bot] - pin Node.js version to 24.12.0 LTS in .node-version file (#7713) by @Copilot - update esbuild test reasons (#7703) by @sapphi-red - deps: update crate-ci/typos action to v1.40.1 (#7696) by @renovate[bot] - deps: update oxc to v0.106.0 (#7512) by @renovate[bot] - js: replace dprint with oxfmt (#7214) by @Boshen - deps: update dependency oxlint to v1.36.0 (#7691) by @renovate[bot] - deps: update github-actions (#7679) by @renovate[bot] - deps: update npm packages (#7680) by @renovate[bot] - deps: update rust crates (#7678) by @renovate[bot] - deps: update oxc resolver to v11.16.2 (#7668) by @renovate[bot] - add API reference files to knip entry points (#7669) by @Copilot - deps: update notify (#7651) by @sapphi-red - add `homepage` field to package.json (#7648) by @trivikr - deps: update oxc resolver to v11.16.1 (#7647) by @renovate[bot] - deps: update rolldown-plugin-dts to 0.20.0 (#7645) by @shulaoda Co-authored-by: shulaoda <[email protected]>
) These sideeffects are commonly ignored, so I think we should ignore them by default. - [Rollup REPL](https://rollupjs.org/repl/?version=4.57.1&shareable=eyJleGFtcGxlIjpudWxsLCJtb2R1bGVzIjpbeyJjb2RlIjoiaW1wb3J0IHsgZm9vIH0gZnJvbSAndW5rbm93bidcbmlmIChmYWxzZSkge1xuICBjb25zb2xlLmxvZyhmb28pXG59IiwiaXNFbnRyeSI6dHJ1ZSwibmFtZSI6Im1haW4uanMifV0sIm9wdGlvbnMiOnt9fQ==) - [esbuild try](https://esbuild.github.io/try/#dAAwLjI3LjIALS1taW5pZnkAaW1wb3J0IHsgZm9vIH0gZnJvbSAndW5rbm93bicKaWYgKGZhbHNlKSB7CiAgY29uc29sZS5sb2coZm9vKQp9) - [SWC playground](https://play.swc.rs/?version=1.15.11&code=H4sIAAAAAAAAAw3LMQ6AIBAEwP6S%2B8N2YOOfjOEMEW4NaCwIf9fpJ9eL7caAkZiwxorw%2BOl8PahkQ7St9LRgqAA7vbOktfCI%2F1hUpsoHV0iLrEQAAAA%3D&config=H4sIAAAAAAAAA41VS47bMAzd5xSB111MB0VR9ADd9QyCYlGOMrJoiFQ%2BGOTupRU7k5nQRjdBzKdHiuQj9b7ZbpsDtc3v7bv8lY%2FBZoJ8%2FxYLXRLbs1gaaHtLbQ4DN99m9EAj5G0kqKbrDWnY5g64suj15fXHxGgiIsHMmGx9SMFfHmO22A8ZiB5sYhWXpYfE9Jk%2FYRlPI8C5PNp3iBFsWkGMJRMSQwdZc9xijHYgMEebFS%2FjTW0OhFqIESwMzgwZBxVPLnDAJDGfUQfWmRYdKFDI0HI4gkaTWEJLJOkp%2BVTYwa50Xe3zFzYcbSyWlZhwri2R2ype9xiIjS9JK%2BENXKjBDZyK%2B5UZvMnAJadn3gFDWujJG4BUIFqiZHvQ%2FNYTXvS0xParzJC8SJYvCi761rJM0ElRTQheqexYGcgctG5mcKWFsbKtdp0JXigfBQcGvBetKK7pFLjda0H5MgB6BZD%2BWq%2Bp6gaY%2BxQu4ONArMB%2FJEvWBTad6C3vl1G69DuMKwF64D26lQPSCsZlOMuWOA%2FLeEkORBrg1COFKvC8BGQAGE2s%2B%2FJJGzIe4tF0EXcfa2I6cL3v4d6mrs77w75kHCIcIS7J%2BD9GZBWVux1HVc%2BT%2FTS98EsTpZXBC99fPj0bkspm%2Fq1JNT268pBQ1eTtOfnZfByaX465ak2gvzNRKv6W8JSazfUfly9ihugGAAA%3D) This was originally set to `true` (#17300) for Rolldown (rolldown/rolldown#7512 (comment)), but that should be instead handled on Rolldown side (rolldown/rolldown#8194).
No description provided.