Skip to content

Comments

refactor(hmr): replace HmrOutput with HmrUpdate#5488

Merged
hyf0 merged 1 commit intomainfrom
07-29-refactor_hmr_replace_hmroutput_with_hmrupdate_
Jul 29, 2025
Merged

refactor(hmr): replace HmrOutput with HmrUpdate#5488
hyf0 merged 1 commit intomainfrom
07-29-refactor_hmr_replace_hmroutput_with_hmrupdate_

Conversation

@hyf0
Copy link
Member

@hyf0 hyf0 commented Jul 29, 2025

  • Use enum to reduce complexity caused by combine non-related data together

Copy link
Member Author

hyf0 commented Jul 29, 2025

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

github-actions bot commented Jul 29, 2025

Benchmarks Rust

  • target: main(0449d1e)
  • pr: 07-29-refactor_hmr_replace_hmroutput_with_hmrupdate_(a6d6e52)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.00     77.7±1.86ms        ? ?/sec    1.04     80.8±3.73ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.00     88.7±2.60ms        ? ?/sec    1.04     92.0±3.68ms        ? ?/sec
bundle/bundle@rome_ts                                        1.00    117.9±3.77ms        ? ?/sec    1.00    117.7±2.53ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    136.6±2.97ms        ? ?/sec    1.01    138.0±3.05ms        ? ?/sec
bundle/bundle@threejs                                        1.02     44.3±1.95ms        ? ?/sec    1.00     43.3±2.73ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.00     52.1±1.38ms        ? ?/sec    1.02     53.0±1.40ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    453.4±9.15ms        ? ?/sec    1.00    452.1±7.37ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.00    535.6±7.93ms        ? ?/sec    1.00    534.1±7.11ms        ? ?/sec
scan/scan@rome_ts                                            1.00     90.5±2.07ms        ? ?/sec    1.00     90.3±2.16ms        ? ?/sec
scan/scan@threejs                                            1.00     31.3±0.69ms        ? ?/sec    1.03     32.1±2.29ms        ? ?/sec
scan/scan@threejs10x                                         1.00    331.1±6.39ms        ? ?/sec    1.00    330.7±6.71ms        ? ?/sec

Copy link
Member

@sapphi-red sapphi-red left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I had a feeling it might be a good idea to have this change.

Base automatically changed from 07-29-refactor_node_hmr_re-organize_file_structures to main July 29, 2025 10:04
@hyf0 hyf0 force-pushed the 07-29-refactor_hmr_replace_hmroutput_with_hmrupdate_ branch from 2ae8735 to a6d6e52 Compare July 29, 2025 10:07
@graphite-app
Copy link
Contributor

graphite-app bot commented Jul 29, 2025

Merge activity

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

@netlify
Copy link

netlify bot commented Jul 29, 2025

Deploy Preview for rolldown-rs ready!

Name Link
🔨 Latest commit a6d6e52
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/68889d75a46bd100085077f4
😎 Deploy Preview https://deploy-preview-5488--rolldown-rs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@hyf0 hyf0 added this pull request to the merge queue Jul 29, 2025
Merged via the queue into main with commit 1716ef2 Jul 29, 2025
23 checks passed
@hyf0 hyf0 deleted the 07-29-refactor_hmr_replace_hmroutput_with_hmrupdate_ branch July 29, 2025 10:25
Boshen pushed a commit that referenced this pull request Jul 30, 2025
## [1.0.0-beta.30] - 2025-07-30

### 💥 BREAKING CHANGES

- rolldown: remove unfinished module federation support (#5471) by @Boshen
- disable `strictExecutionOrder` by default (#5436) by @hyf0

### 🚀 Features

- hmr: multiple changes should result to multiple updates (#5500) by @hyf0
- binding: add memory adjustment hint in fn write (#5375) by @Brooooooklyn
- store sideEffects information about global var access (#5495) by @IWANABETHATGUY
- merge side effects detail (#5486) by @IWANABETHATGUY
- plugin/vite-resolve: add warn / debug logs (#5476) by @sapphi-red
- plugin/vite-resolve: avoid wrapping errors with napi errors (#5483) by @sapphi-red
- add `this.fs` support (#5475) by @sapphi-red
- rolldown_plugin_asset: align `generate_bundle` logic (#5480) by @shulaoda
- hmr: prepare to launch that batched edits should result to multiple hmr output (#5458) by @hyf0
- hmr: support `import.meta.hot.invalidate` (#5457) by @hyf0
- mark all `toESM` as pure (#5461) by @IWANABETHATGUY
- rolldown_plugin_asset: align load hook logic (#5452) by @shulaoda
- rolldown_plugin_utils: align `file_to_built_url` (#5450) by @shulaoda
- rolldown_plugin_utils: align `should_inline` logic (#5308) by @AliceLanniste
- rolldown_plugin_asset: add partial `file_to_built_url` support (#5445) by @shulaoda
- expose `optimization.pifeForModuleWrappers` option (#5433) by @sapphi-red
- add `optimization.pifeForModuleWrappers` option (#5432) by @sapphi-red
- use PIFE for callback passed to `createCjsInitializer` (#5427) by @sapphi-red
- use PIFE for callbacks passed to `__commonJSMin` / `_commonJS` wrapper (#5426) by @sapphi-red
- use PIFE for callback passed to `createEsmInitializer` (#5425) by @sapphi-red
- use PIFE for callbacks passed to `__esm` wrapper (#5424) by @sapphi-red
- use PIFE for callbacks passed to `__esmMin` wrapper (#5319) by @sapphi-red
- rolldown: oxc v0.78.0 (#5421) by @Boshen
- rolldown: support `output.sourcemapBaseUrl` (#5413) by @situ2001
- mark all `__commonJS` CallExpression as **Pure** (#5419) by @IWANABETHATGUY
- rolldown_plugin_alias: warn if alias resolves to non-absolute path (#5417) by @shulaoda
- rolldown_plugin_asset: align `encode_uri_path` logic (#5410) by @shulaoda
- add warning and conversion for `import.meta` for non-`esm` output format (#5378) by @7086cmd

### 🐛 Bug Fixes

- use uuid_v4 to generate unique id for hook calls (#5501) by @hyf0
- modules that are sideeffect free but relies on the execution order is not wrapped (#5498) by @IWANABETHATGUY
- missing_export warning should not be an hard error (#5493) by @sapphi-red
- cli: remove unnecessary `await` (#5487) by @situ2001
- browser: stub fs/promises for browser build (#5484) by @sapphi-red
- indirect requiring external module  is not wrapped by `__toESM` in cjs format (#5454) by @IWANABETHATGUY
- Panic on reexport external module in  CJS format (#5430) by @IWANABETHATGUY
- handle top-level return statements in CommonJS modules (#5437) by @hyf0
- panic when using preserveModules: true and certain dependencies (#5415) by @IWANABETHATGUY
- rolldown_plugin_alias: only replace the first matched alias (#5412) by @shulaoda
- canonical name not found panic happens with treeshake.commonjs=true (#5409) by @IWANABETHATGUY
- hmr: shouldn't consider self-accepting module as hmr boundary for its importee (#5405) by @hyf0
- hmr: should detect hmr boundary correctly (#5400) by @hyf0
- optimization.inlineConst: true generates invalid code when importing a module statically and dynamically (#5398) by @IWANABETHATGUY
- top level VarDeclaration is not hoisted when wrapped in `__esm` (#5396) by @IWANABETHATGUY

### 🚜 Refactor

- use pascal case when naming bitflags field (#5497) by @IWANABETHATGUY
- test/hmr: use sensible time to wait (#5490) by @hyf0
- hmr: update message types to use 'hmr:update' (#5489) by @hyf0
- hmr: replace `HmrOutput` with `HmrUpdate` (#5488) by @hyf0
- node/hmr: re-organize file structures (#5485) by @hyf0
- rolldown_plugin_utils: improve `asset_to_data_url` (#5481) by @shulaoda
- replace pattern match for SideEffectsDetail with bitflags api (#5479) by @IWANABETHATGUY
- rename stmtSideEffect to SideEffectDetail (#5478) by @IWANABETHATGUY
- use bitflags store more details about side effects (#5477) by @IWANABETHATGUY
- node/hmr: tweak package `test-dev-server` (#5462) by @hyf0
- hmr: tweak naming and add comments (#5459) by @hyf0
- test/hmr: remove hard-code edited content (#5189) by @hyf0
- rust: make `Log#code` an `Option` (#5416) by @shulaoda
- hmr: should mark self-accept module correctly (#5406) by @hyf0
- hmr: remove unnecessary data during `propagate_update` (#5402) by @hyf0
- hmr: make hmr patch output less changeable (#5401) by @hyf0
- `__esm` top level bindings hoisted (#5397) by @IWANABETHATGUY
- skip fast in  esm format when transform import.meta (#5395) by @IWANABETHATGUY

### 📚 Documentation

- clarify rolldown-rollup behavior difference around output generation (#5439) by @sapphi-red

### ⚡ Performance

- reduce runtime symbol memory usage and hashtable lookup (#5460) by @IWANABETHATGUY

### 🧪 Testing

- hmr: support to run mutiple test fixtures (#5456) by @hyf0
- basic tests for `optimization.pifeForModuleWrappers` (#5435) by @sapphi-red

### ⚙️ Miscellaneous Tasks

- deps: update github-actions (#5509) by @renovate[bot]
- debug: update default session ID to meaningful `unknown-session` (#5502) by @hyf0
- deps: update dependency rolldown-plugin-dts to v0.14.2 (#5492) by @renovate[bot]
- auto generated runtime_helper bitflags (#5474) by @IWANABETHATGUY
- fix wasi build failed (#5470) by @IWANABETHATGUY
- deps: lock file maintenance (#5467) by @renovate[bot]
- deps: lock file maintenance (#5466) by @renovate[bot]
- deps: lock file maintenance rust crates (#5465) by @renovate[bot]
- deps: lock file maintenance npm packages (#5464) by @renovate[bot]
- deps: update github-actions (#5463) by @renovate[bot]
- export `__commonJSMin` in runtime-base.js (#5455) by @IWANABETHATGUY
- rolldown_plugin_utils: remove `file_to_dev_url` temporarily (#5446) by @shulaoda
- rolldown_plugin_asset: move `remove_url_query` into `rolldown_plugin_utils` (#5444) by @shulaoda
- rolldown: disable aarch64 atomics (#5447) by @Brooooooklyn
- remove diff with esbuild (#5428) by @IWANABETHATGUY
- dx/ai: add deepwiki badge to enable automatic refresh (#5423) by @hyf0
- dx/ai: Use `.cursorignore` to ignore meaningless files for AI (#5422) by @hyf0
- rolldown_plugin_alias: inline matches and remove redundant comment (#5418) by @shulaoda
- rolldown_plugin_asset: remove unnecessary comments (#5411) by @shulaoda
- rolldown_plugin_manifest: remove unnecessary code (#5408) by @shulaoda
- deps: update dependency tsdown to v0.13.0 (#5392) by @renovate[bot]
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.

3 participants