Skip to content

Comments

refactor(rust): isolate mutations on assets data#5152

Merged
hyf0 merged 1 commit intomainfrom
07-03-refactor_rust_isolate_mutations_on_assets_data
Jul 3, 2025
Merged

refactor(rust): isolate mutations on assets data#5152
hyf0 merged 1 commit intomainfrom
07-03-refactor_rust_isolate_mutations_on_assets_data

Conversation

@hyf0
Copy link
Member

@hyf0 hyf0 commented Jul 3, 2025

This PR contains two purposes:

  1. The oringal code will mutate the asset.content during transforming Asset to Output. It's not an ideal logic, we want this step to be pure converting option without any mutation.
  2. Due to 1., the asset data we emitted to devtool are not the final data. This causes some inconsistency, which we don't want this to happen.

Copy link
Member Author

hyf0 commented Jul 3, 2025

@hyf0 hyf0 marked this pull request as ready for review July 3, 2025 09:45
@github-actions
Copy link
Contributor

github-actions bot commented Jul 3, 2025

Benchmarks Rust

  • target: main(b053ce3)
  • pr: 07-03-refactor_rust_isolate_mutations_on_assets_data(6e2a72a)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.00     73.1±1.35ms        ? ?/sec    1.34     97.7±7.11ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.00     86.5±5.67ms        ? ?/sec    1.26    108.7±5.90ms        ? ?/sec
bundle/bundle@rome_ts                                        1.00    112.0±4.59ms        ? ?/sec    1.23    137.6±7.73ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    133.5±4.48ms        ? ?/sec    1.15    153.9±6.94ms        ? ?/sec
bundle/bundle@threejs                                        1.00     39.4±1.12ms        ? ?/sec    1.33     52.3±3.65ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.00     49.1±0.66ms        ? ?/sec    1.35     66.2±5.46ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    427.8±3.62ms        ? ?/sec    1.07    459.6±6.67ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.00    498.3±2.40ms        ? ?/sec    1.05    522.8±9.80ms        ? ?/sec
scan/scan@rome_ts                                            1.00     88.6±1.71ms        ? ?/sec    1.05     92.7±2.06ms        ? ?/sec
scan/scan@threejs                                            1.00     29.8±0.80ms        ? ?/sec    1.08     32.3±2.30ms        ? ?/sec
scan/scan@threejs10x                                         1.00    319.1±4.42ms        ? ?/sec    1.03    328.6±4.48ms        ? ?/sec

Base automatically changed from 07-03-refactor_rust_remove_unnecessary_usage_of_index_vec_on_assets to main July 3, 2025 10:12
@hyf0 hyf0 force-pushed the 07-03-refactor_rust_isolate_mutations_on_assets_data branch from 63b9fce to aec7809 Compare July 3, 2025 10:12
@netlify
Copy link

netlify bot commented Jul 3, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 6e2a72a
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/686658b9ebdbe90008480063

@graphite-app
Copy link
Contributor

graphite-app bot commented Jul 3, 2025

Merge activity

  • Jul 3, 10:13 AM UTC: Graphite rebased this pull request, because this pull request is set to merge when ready.

@hyf0 hyf0 force-pushed the 07-03-refactor_rust_isolate_mutations_on_assets_data branch from aec7809 to 6e2a72a Compare July 3, 2025 10:17
@hyf0 hyf0 added this pull request to the merge queue Jul 3, 2025
Merged via the queue into main with commit 2680358 Jul 3, 2025
22 checks passed
@hyf0 hyf0 deleted the 07-03-refactor_rust_isolate_mutations_on_assets_data branch July 3, 2025 10:30
@github-actions github-actions bot mentioned this pull request Jul 5, 2025
hyf0 pushed a commit that referenced this pull request Jul 5, 2025
## [1.0.0-beta.24] - 2025-07-05

### 🚀 Features

- support `inlineConst` for imported variable (#5165) by @IWANABETHATGUY
- rust: skip transform hook for modules starts with `rolldown:` (#5169)
by @hyf0
- print rolldown version (#5163) by @btea
- add optimization.inlineConst option (#5164) by @IWANABETHATGUY
- hmr: introduce `rolldown_plugin_hmr` to inject runtime code (#5159) by
@hyf0
- rolldown: oxc v0.75.1 (#5157) by @Boshen

### 🐛 Bug Fixes

- generate correct CSS filename in `preserveModules` mode (#5175) by
@shulaoda
- rolldown_plugin_build_import_analysis: avoid `default` keyword error
(#5166) by @shulaoda
- watch: add paths to watcher in batch (#5068) by @branchseer
- debug: should emit chunk data after computing cross chunk links
(#5156) by @hyf0
- simplify commonjs interop `default` prop optimization (#5142) by
@IWANABETHATGUY
- should include modules contain `exports * from '...'` forcefully if
they reexport any wrapped module (#5143) by @hyf0
- use canonical runtime time for `__name` (#5140) by @IWANABETHATGUY
- `options.jsx` is ignored when `options.transform` is set (#5137) by
@shulaoda

### 🚜 Refactor

- polyfill `flatten_iter` for wasm target (#5180) by @IWANABETHATGUY
- rolldown_plugin_dynamic_import_vars: remove unnecessary validity
checks (#5172) by @shulaoda
- hmr: remove hmr-related hacky hard-code (#5168) by @hyf0
- rolldown_plugin_dynamic_import_vars: align with rolldown-vite (#5171)
by @shulaoda
- hmr: use `rolldown:hmr` to load hmr runtime code (#5162) by @hyf0
- rust: remove special fields of `Asset` (#5155) by @hyf0
- rust: make `Asset#originate_from` optional (#5153) by @hyf0
- rust: isolate mutations on assets data (#5152) by @hyf0
- rust: remove unnecessary usage of index vec on assets (#5151) by @hyf0
- merge different member expr in `try_rewrite_member_expr` (#5146) by
@IWANABETHATGUY
- remove unused code (#5144) by @IWANABETHATGUY
- use `self.result.ast_usage` directly (#5135) by @IWANABETHATGUY

### 📚 Documentation

- update syntax lowering transform info (#5145) by @TheAlexLichter

### 🧪 Testing

- rust/hmr: hide hmr runtime code in snapshots (#5160) by @hyf0

### ⚙️ Miscellaneous Tasks

- rolldown_testing: avoid unnecessary snapshots (#5181) by @shulaoda
- fix `flatten_iter` compile error (#5179) by @IWANABETHATGUY
- expose `optimization.inlineConst` option (#5177) by @IWANABETHATGUY
- infra: update `pnpm-lock.yaml` (#5178) by @shulaoda
- rust: remove unnecessary crate `rolldown_loader_utils` (#5173) by
@shulaoda
- print build time use green color (#5158) by @btea
- deps: update dependency rolldown-plugin-dts to v0.13.13 (#5148) by
@renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.13.13 (#5138) by
@renovate[bot]
- allow only test without generate snapshot (#5134) by @IWANABETHATGUY

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.

2 participants