Skip to content

feat(hmr): automatically disable treeshaking in hmr#5311

Merged
hyf0 merged 1 commit intomainfrom
07-17-feat_hmr_automatically_disable_treeshaking_in_hmr
Jul 16, 2025
Merged

feat(hmr): automatically disable treeshaking in hmr#5311
hyf0 merged 1 commit intomainfrom
07-17-feat_hmr_automatically_disable_treeshaking_in_hmr

Conversation

@hyf0
Copy link
Member

@hyf0 hyf0 commented Jul 16, 2025

There're some partial optimizations (like dce) we could do in hmr.

However, it's expected to disable treeshaking in hmr and let's ensure this behavior.

Copy link
Member Author

hyf0 commented Jul 16, 2025

@hyf0 hyf0 marked this pull request as ready for review July 16, 2025 17:53
@github-actions
Copy link
Contributor

github-actions bot commented Jul 16, 2025

Benchmarks Rust

  • target: main(fbf366b)
  • pr: 07-17-feat_hmr_automatically_disable_treeshaking_in_hmr(7bac077)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.02     75.9±1.47ms        ? ?/sec    1.00     74.6±1.55ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.02     86.8±1.49ms        ? ?/sec    1.00     85.3±1.13ms        ? ?/sec
bundle/bundle@rome_ts                                        1.02    114.5±3.43ms        ? ?/sec    1.00    112.2±1.58ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.02    136.5±2.75ms        ? ?/sec    1.00    134.0±1.52ms        ? ?/sec
bundle/bundle@threejs                                        1.03     42.4±2.61ms        ? ?/sec    1.00     41.2±2.11ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.02     51.6±0.84ms        ? ?/sec    1.00     50.7±0.73ms        ? ?/sec
bundle/bundle@threejs10x                                     1.01    437.1±5.00ms        ? ?/sec    1.00    432.8±4.98ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.00    522.5±4.70ms        ? ?/sec    1.00    525.1±8.49ms        ? ?/sec
scan/scan@rome_ts                                            1.01     90.7±1.59ms        ? ?/sec    1.00     90.0±1.38ms        ? ?/sec
scan/scan@threejs                                            1.00     31.7±1.77ms        ? ?/sec    1.01     31.9±1.89ms        ? ?/sec
scan/scan@threejs10x                                         1.00    324.4±3.46ms        ? ?/sec    1.02    330.2±4.53ms        ? ?/sec

Base automatically changed from 07-17-feat_hmr_use_trait_hmrastbuilder_to_unify_ast_construction to main July 16, 2025 18:27
@hyf0 hyf0 force-pushed the 07-17-feat_hmr_automatically_disable_treeshaking_in_hmr branch from 2c185d1 to 7bac077 Compare July 16, 2025 18:27
@netlify
Copy link

netlify bot commented Jul 16, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 7bac077
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/6877ef1c20ee240008275f59

@graphite-app
Copy link
Contributor

graphite-app bot commented Jul 16, 2025

Merge activity

  • Jul 16, 6:28 PM UTC: Graphite rebased this pull request, because this pull request is set to merge when ready.

@hyf0 hyf0 added this pull request to the merge queue Jul 16, 2025
Merged via the queue into main with commit 2502d39 Jul 16, 2025
23 checks passed
@hyf0 hyf0 deleted the 07-17-feat_hmr_automatically_disable_treeshaking_in_hmr branch July 16, 2025 18:43
This was referenced Jul 17, 2025
shulaoda pushed a commit that referenced this pull request Jul 17, 2025
## [1.0.0-beta.28] - 2025-07-17

### 🚀 Features

- rolldown: oxc v0.77.2 (#5328) by @Boshen
- hmr: add `module` and `exports` parameters to CJS initializer
functions (#5322) by @hyf0
- rolldown_plugin_transform: align with `vitejs/rolldown-vite#318`
(#5318) by @shulaoda
- rolldown_plugin_transform: align with `vitejs/rolldown-vite#315`
(#5315) by @shulaoda
- hmr: automatically disable treeshaking in hmr (#5311) by @hyf0
- hmr: use `trait HmrAstBuilder` to unify ast construction (#5310) by
@hyf0
- rolldown_plugin_chunk_import_map: basic implementation (#5307) by
@shulaoda
- add `watch.onInvalidate` (#5239) by @situ2001
- rolldown_plugin_chunk_import_map: implement initial `render_chunk`
logic (#5306) by @shulaoda
- rolldown: oxc v0.77.1 (#5304) by @Boshen
- js: expose `experimental.incrementalBuild` option (#5300) by
@IWANABETHATGUY
- js: support `experimental.onDemandWrapping` option (#5299) by
@IWANABETHATGUY
- support on demand wrapping for entry chunk (#5291) by @IWANABETHATGUY
- rolldown_plugin_chunk_import_map: initialize (#5289) by @shulaoda
- show owner module id for "canonical name not found for" errors (#5288)
by @sapphi-red

### 🐛 Bug Fixes

- only transform VarDeclaration when enable `keepNames` (#5323) by
@IWANABETHATGUY
- keepNames with special Ifstmt (#5320) by @IWANABETHATGUY
- incremental watch panic when adding dynamic import (#5309) by
@IWANABETHATGUY
- make leaf module wrapping optimization opt-in (#5305) by
@IWANABETHATGUY
- `keepNames` should consider exportNamed function declaration (#5298)
by @IWANABETHATGUY
- undefined `process.versions` for browser build (#5295) by @sxzz
- sanitizeFileName: entry name should be sanitized (#5283) by @shulaoda
- minify-internal-exports: ensure minifying internal exports stably
(#5281) by @hyf0
- keep legal and annotation comments for `minify: 'dce-only'` (#5280) by
@sapphi-red
- unstable chunk generation when `preserveEntrySignatures: false` is
used (#5274) by @IWANABETHATGUY

### 🚜 Refactor

- pass the while CodegenOptions to `EcmaCompiler::minify` (#5279) by
@sapphi-red
- avoid iterate `canonical_exports` twice (#5276) by @IWANABETHATGUY

### 📚 Documentation

- pluginutils: add README file (#5262) by @TheAlexLichter

### ⚡ Performance

- inline function expression when rewriting `name` property with
`keepNames` enabled (#5321) by @IWANABETHATGUY
- rolldown_sourcemap: cache source id -> source text mapping (#5285) by
@Boshen
- rolldown_sourcemap: disable rayon (#5284) by @Boshen

### 🧪 Testing

- rust: prevent meaningless snapshot change from bumping oxc runtime
versions (#5312) by @hyf0

### ⚙️ Miscellaneous Tasks

- upgrade to NAPI-RS 3.0 stable (#5324) by @Brooooooklyn
- infra: add onlyBuiltDependencies (#5287) by @situ2001
- improve the order of import keys in the exports field (#5314) by @btea
- deps: update dependency rolldown-plugin-dts to v0.13.14 (#5293) by
@renovate[bot]
- deps: lock file maintenance rust crates (#5267) by @renovate[bot]
- deps: lock file maintenance npm packages (#5266) by @renovate[bot]
- deps: update github-actions (#5265) by @renovate[bot]

### ❤️ New Contributors

* @situ2001 made their first contribution in
[#5287](#5287)

Co-authored-by: IWANABETHATGUY <17974631+IWANABETHATGUY@users.noreply.github.com>
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