Skip to content

Comments

feat(rolldown): oxc v0.87.0#5975

Merged
IWANABETHATGUY merged 5 commits intomainfrom
08-30-feat_rolldown_oxc_v0.84.0
Sep 8, 2025
Merged

feat(rolldown): oxc v0.87.0#5975
IWANABETHATGUY merged 5 commits intomainfrom
08-30-feat_rolldown_oxc_v0.84.0

Conversation

@Boshen
Copy link
Member

@Boshen Boshen commented Aug 30, 2025

No description provided.

@netlify
Copy link

netlify bot commented Aug 30, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 2f3207a
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/68be5fce3d50a00008628387

@socket-security
Copy link

socket-security bot commented Aug 30, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​oxc-project/​types@​0.87.01001007096100
Added@​oxc-project/​runtime@​0.87.01001007396100
Updatedoxc-transform@​0.82.3 ⏵ 0.87.098 +110088 +196 +2100
Updatedoxc-parser@​0.82.3 ⏵ 0.87.09810010096 +2100

View full report

@github-actions
Copy link
Contributor

github-actions bot commented Aug 30, 2025

Benchmarks Rust

group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.00     84.2±2.74ms        ? ?/sec    1.01     85.0±4.76ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.00     94.3±2.32ms        ? ?/sec    1.00     93.9±2.37ms        ? ?/sec
bundle/bundle@rome_ts                                        1.00    122.2±3.18ms        ? ?/sec    1.01    123.0±3.36ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    142.6±2.48ms        ? ?/sec    1.00    142.5±3.21ms        ? ?/sec
bundle/bundle@threejs                                        1.02     46.3±0.82ms        ? ?/sec    1.00     45.4±0.95ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.01     54.6±0.83ms        ? ?/sec    1.00     54.2±0.92ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    480.2±5.10ms        ? ?/sec    1.00    482.1±9.52ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.01    562.2±5.39ms        ? ?/sec    1.00   558.5±12.12ms        ? ?/sec
scan/scan@rome_ts                                            1.02     98.3±2.07ms        ? ?/sec    1.00     96.1±1.48ms        ? ?/sec
scan/scan@threejs                                            1.03     34.8±0.49ms        ? ?/sec    1.00     33.7±0.60ms        ? ?/sec
scan/scan@threejs10x                                         1.02    360.7±4.13ms        ? ?/sec    1.00    353.2±4.44ms        ? ?/sec

@sapphi-red sapphi-red force-pushed the 08-30-feat_rolldown_oxc_v0.84.0 branch from 739db2d to f5510f0 Compare August 30, 2025 07:12
Copy link
Member

This stack of pull requests is managed by Graphite. Learn more about stacking.

@sapphi-red
Copy link
Member

@Boshen It seems oxc-transform is missing optionalDependencies since 0.83.0.

@Boshen Boshen changed the title feat(rolldown): oxc v0.84.0 feat(rolldown): oxc v0.85.0 Aug 30, 2025
@Boshen
Copy link
Member Author

Boshen commented Aug 30, 2025

Bad news we have more failures from rollup tests

failures [
  "rollup@form@assignment-to-exports: declares updated variable in ES output (#755)@generates es",
  "rollup@form@deep-properties-access: handles deeply nested property accesses",
  "rollup@form@deep-properties: handles deeply nested properties",
  "rollup@form@handles-async-await: properly handles exporting async functions",
  "rollup@form@recursive-computed-members: handle recursive computed member access",
  "rollup@form@recursive-multi-expressions: handles recursive multi-expressions"
]

@sapphi-red
Copy link
Member

All rollup tests failures are snapshot diffs and I think these are all fine.

@IWANABETHATGUY IWANABETHATGUY marked this pull request as draft August 30, 2025 09:37
@IWANABETHATGUY
Copy link
Member

If @sapphi-red could ensure all those tests are only different in snapshot, then we could add these tests to │ ignored(behavior passed, snapshot different) category

graphite-app bot pushed a commit to oxc-project/oxc that referenced this pull request Aug 30, 2025
…s to be preserved (#13422)

Made the single use variable inlining to respect `keep_names` option.

refs rolldown/rolldown#5975 (comment)
@sapphi-red
Copy link
Member

On second thought, do we expect this inlining to happen for DCE? I wonder if I should skip this optimization for DCE.

@hyf0
Copy link
Member

hyf0 commented Aug 31, 2025

On second thought, do we expect this inlining to happen for DCE? I wonder if I should skip this optimization for DCE.

My thoughts:

  • DCE visit is unavoidable, it's positive we could do more things during the visit.
  • Inlining seems to reduce overheads of the incoming scan phrase(reducing variables, top level statementts, maybe else)

Overall I think it's positive.

@IWANABETHATGUY
Copy link
Member

IWANABETHATGUY commented Aug 31, 2025

On second thought, do we expect this inlining to happen for DCE? I wonder if I should skip this optimization for DCE.

I think that is acceptable, the biggest requirement of the extra dce pass in the scan phase is for deleting dead branches, e.g.

if (process.env.NODE_ENV === "development") {
  require('./a.js')
} else {
  require ('./b.js')
}

without inline, the dce pass can't handle scenario:

const cond = process.env.NODE_ENV
if (cond === "development") {
  require('./a.js')
} else {
  require ('./b.js')
}

Overall, I think it is reasonable to put the inline in DCE?

Note

the process.env.NODE_ENV will be replaced by define option

@Boshen Boshen force-pushed the 08-30-feat_rolldown_oxc_v0.84.0 branch from 0e606ef to ceaf924 Compare August 31, 2025 11:35
@Boshen Boshen changed the title feat(rolldown): oxc v0.85.0 feat(rolldown): oxc v0.86.0 Aug 31, 2025
@Boshen
Copy link
Member Author

Boshen commented Aug 31, 2025

@sapphi-red updated oxc, remaining issues are

failures [
  "rollup@form@assignment-to-exports: declares updated variable in ES output (#755)@generates es",
  "rollup@form@deep-properties-access: handles deeply nested property accesses",
  "rollup@form@deep-properties: handles deeply nested properties",
  "rollup@form@handles-async-await: properly handles exporting async functions",
  "rollup@form@recursive-computed-members: handle recursive computed member access",
  "rollup@form@recursive-multi-expressions: handles recursive multi-expressions",
  "rollup@form@reexport-star-deshadow: Star reexports scope deshadowing@generates es"
]

@sapphi-red sapphi-red force-pushed the 08-30-feat_rolldown_oxc_v0.84.0 branch from ceaf924 to a0a25f5 Compare August 31, 2025 12:21
@sapphi-red
Copy link
Member

oxc-project/oxc#13477 should fix the failing test.

@Boshen Boshen changed the title feat(rolldown): oxc v0.86.0 feat(rolldown): oxc v0.87.0 Sep 8, 2025
@Boshen Boshen marked this pull request as ready for review September 8, 2025 03:55
@Boshen Boshen force-pushed the 08-30-feat_rolldown_oxc_v0.84.0 branch from 2f89001 to 3c79bd8 Compare September 8, 2025 03:56
@sapphi-red sapphi-red force-pushed the 08-30-feat_rolldown_oxc_v0.84.0 branch from 3c79bd8 to 2f3207a Compare September 8, 2025 04:47
sapphi-red
sapphi-red previously approved these changes Sep 8, 2025
@sapphi-red sapphi-red dismissed their stale review September 8, 2025 05:32

one thing to check

@IWANABETHATGUY
Copy link
Member

mapping issues tracked #6054

@IWANABETHATGUY IWANABETHATGUY added this pull request to the merge queue Sep 8, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Sep 8, 2025
@IWANABETHATGUY IWANABETHATGUY merged commit a4e3899 into main Sep 8, 2025
26 checks passed
@IWANABETHATGUY IWANABETHATGUY deleted the 08-30-feat_rolldown_oxc_v0.84.0 branch September 8, 2025 06:22
@IWANABETHATGUY
Copy link
Member

IWANABETHATGUY commented Sep 8, 2025

flaky test

@IWANABETHATGUY IWANABETHATGUY self-assigned this Sep 8, 2025
@github-actions github-actions bot mentioned this pull request Sep 8, 2025
shulaoda added a commit that referenced this pull request Sep 8, 2025
## [1.0.0-beta.36] - 2025-09-08
> [!warning]
> ### 💥 BREAKING CHANGES
> 
> - drop CJS format, increase minimum required node (#6025) by @sxzz


### 🚀 Features

- rolldown_plugin_reporter: statically imported dynamic import warning (#6065) by @shulaoda
- rolldown_plugin_reporter: warn large chunks (#6063) by @shulaoda
- rolldown: oxc v0.87.0 (#5975) by @Boshen

### 🐛 Bug Fixes

- allow keeping whitespace while enabling minify (#5893) by @sapphi-red
- dev/watch: build connection between file in `this.addWatchFile` and currently transformed module during transform hook (#6048) by @hyf0
- validator of `output.minify` (#6062) by @IWANABETHATGUY
- codspeed rust benchmark ci (#6052) by @IWANABETHATGUY
- just command in ci (#6045) by @IWANABETHATGUY
- watch: only consider files read from disk are able to watch (#6037) by @hyf0

### 🚜 Refactor

- dev: introduce `DevWatchOptions` for enhanced file watching configuration (#6057) by @hyf0
- unify to use `is_in_node_modules` from `rolldown_plugin_utils` (#6066) by @shulaoda

### 🧪 Testing

- rust: ensure unused pure function call got treeshaked (#4524) by @hyf0
- hmr: tweak improper test (#6034) by @hyf0
- hmr: add test of editing multiple files in the same timeframe (#6029) by @hyf0
- hmr: support to edit multiple files in the same timeframe (#6014) by @hyf0

### ⚙️ Miscellaneous Tasks

- deps: lock file maintenance rust crates (#6003) by @renovate[bot]
- deps: lock file maintenance npm packages (#5995) by @renovate[bot]
- add auto-assign PR workflow for organization members (#6058) by @IWANABETHATGUY
- fix benchmark-node workflow (#6060) by @IWANABETHATGUY
- adding `test-node-rolldown-only` just command (#6055) by @IWANABETHATGUY
- just commands in ci (#6056) by @IWANABETHATGUY
- run test ci when `justfile` is changed (#6049) by @IWANABETHATGUY
- remove unused warning for conditional compiled`SimplifyMinifyOptions` (#6047) by @IWANABETHATGUY
- remove auto approval ci (#6051) by @IWANABETHATGUY
- adding rustfmt components for `repo-validation` (#6053) by @IWANABETHATGUY
- repo: check format/style in `just lint-rust` (#6050) by @hyf0
- repo/ai: refine `justfile` (#6038) by @hyf0
- repo/ai: add `AGENTS.md` and `CLAUDE.md` (#6039) by @hyf0
- deps: update github-actions (major) (#6041) by @renovate[bot]
- deps: update github-actions (#6040) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.16.1 (#6035) by @renovate[bot]

Co-authored-by: shulaoda <[email protected]>
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.

4 participants