Skip to content

Comments

fix(hmr): repeated imports should point to the same binding#5571

Merged
hyf0 merged 1 commit intomainfrom
08-04-fix_hmr_repeated_imports_should_point_to_the_same_binding
Aug 4, 2025
Merged

fix(hmr): repeated imports should point to the same binding#5571
hyf0 merged 1 commit intomainfrom
08-04-fix_hmr_repeated_imports_should_point_to_the_same_binding

Conversation

@hyf0
Copy link
Member

@hyf0 hyf0 commented Aug 3, 2025

Fixes #5149

@hyf0 hyf0 marked this pull request as ready for review August 3, 2025 16:16
@hyf0 hyf0 force-pushed the 08-04-fix_hmr_repeated_imports_should_point_to_the_same_binding branch from 1ba14fd to e033b13 Compare August 3, 2025 16:19
@github-actions
Copy link
Contributor

github-actions bot commented Aug 3, 2025

Benchmarks Rust

  • target: 08-03-feat_hmr_remove_meaningless_stmt_instead_of_replacing_with_empty_stmt(1095628)
  • pr: 08-04-fix_hmr_repeated_imports_should_point_to_the_same_binding(e033b13)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.00     77.3±1.35ms        ? ?/sec    1.00     77.6±2.36ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.00     87.0±1.21ms        ? ?/sec    1.01     88.2±1.45ms        ? ?/sec
bundle/bundle@rome_ts                                        1.14    130.6±1.91ms        ? ?/sec    1.00    114.6±1.84ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.13    153.6±3.16ms        ? ?/sec    1.00    135.8±1.56ms        ? ?/sec
bundle/bundle@threejs                                        1.16     48.5±2.75ms        ? ?/sec    1.00     41.9±2.53ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.12     56.9±0.73ms        ? ?/sec    1.00     50.9±0.70ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    439.8±4.50ms        ? ?/sec    1.00    438.6±4.94ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.01   523.7±13.18ms        ? ?/sec    1.00    521.0±3.28ms        ? ?/sec
scan/scan@rome_ts                                            1.02     90.7±2.29ms        ? ?/sec    1.00     88.8±1.60ms        ? ?/sec
scan/scan@threejs                                            1.02     30.8±0.84ms        ? ?/sec    1.00     30.1±0.42ms        ? ?/sec
scan/scan@threejs10x                                         1.01    326.2±5.24ms        ? ?/sec    1.00    322.0±5.12ms        ? ?/sec

@graphite-app graphite-app bot changed the base branch from 08-03-feat_hmr_remove_meaningless_stmt_instead_of_replacing_with_empty_stmt to graphite-base/5571 August 4, 2025 01:32
@hyf0 hyf0 force-pushed the graphite-base/5571 branch from 1095628 to 9db8b61 Compare August 4, 2025 01:50
@hyf0 hyf0 force-pushed the 08-04-fix_hmr_repeated_imports_should_point_to_the_same_binding branch from e033b13 to 182d5e8 Compare August 4, 2025 01:50
@graphite-app graphite-app bot changed the base branch from graphite-base/5571 to main August 4, 2025 01:50
@graphite-app
Copy link
Contributor

graphite-app bot commented Aug 4, 2025

Merge activity

  • Aug 4, 1:50 AM 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 Aug 4, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 4, 2025
@hyf0 hyf0 added this pull request to the merge queue Aug 4, 2025
Merged via the queue into main with commit 0d6f4dc Aug 4, 2025
23 of 34 checks passed
@hyf0 hyf0 deleted the 08-04-fix_hmr_repeated_imports_should_point_to_the_same_binding branch August 4, 2025 02:28
This was referenced Aug 4, 2025
shulaoda added a commit that referenced this pull request Aug 4, 2025
## [1.0.0-beta.31] - 2025-08-04

### 🚀 Features

- support function for asset_inline_limit (#5453) by @AliceLanniste
- hmr: generate initializer for `export * from ...` (#5577) by @hyf0
- hmr: remove meaningless stmt instead of replacing with empty stmt (#5570) by @hyf0
- option `watch.clearScreen` (#5518) by @situ2001
- rolldown: oxc v0.80.0 (#5538) by @Boshen
- plugin/generateBundle: add support for modifying chunk filename (#5564) by @shulaoda
- assetFileNames: support `name` and `originalFileName` (#5555) by @shulaoda
- add optional `onInvalidate` schema to validator (#5528) by @situ2001
- don't throw resolve errors for dynamic import inside try block (#5537) by @shulaoda
- rolldown: oxc v0.79.0 (#5512) by @Boshen
- rolldown_plugin_asset: align `render_chunk` logic (#5511) by @shulaoda
- rolldown_plugin_utls: finish `render_asset_url_in_js` (#5508) by @shulaoda
- rolldown_plugin_utils: align replacement logic for `__VITE_ASSET__` (#5507) by @shulaoda
- rolldown_plugin_utils: add partial `render_asset_url_in_js` support (#5504) by @shulaoda
- expose `sourcemapBaseUrl` from NormalizedOutputOptions (#5513) by @sapphi-red

### 🐛 Bug Fixes

- modify output filename correctly in `generateBundle` and `writeBundle` (#5580) by @shulaoda
- hmr: ensure correct runtime behavior for `export * from ...` (#5578) by @hyf0
- hmr: repeated imports should point to the same binding (#5571) by @hyf0
- hmr: handle `export * from ...` (#5566) by @hyf0
- rolldown_plugin_web_worker_post: handle `import.meta` correctly (#5565) by @shulaoda
- antd bundle output not correct (#5549) by @IWANABETHATGUY
- hmr: module namespace object should be included via treeshaking mechanism normally (#5543) by @hyf0
- plugin/vite-resolve: use `import` / `require` conditions for external modules resolution (#5540) by @sapphi-red
- rolldown_plugin_asset: InvalidAsset#is should match InvalidAsset::True (#5529) by @AliceLanniste
- __name lacks require('./chunk-containing-runtime') when format: 'cjs' + keepNames: true (#5526) by @IWANABETHATGUY
- plugin/vite-resolve: resolve externalized packages with `resolve.externalConditions` (#5491) by @sapphi-red
- optimization.inlineConst: true does not keep export names when output.minifyInternalExports: true is enabled (#5520) by @IWANABETHATGUY
- scanner: identify `module.exports.__esModule = true` (#5503) by @overlookmotel
- error instead of panic if `sourcemapBaseUrl` is an invalid URL (#5514) by @sapphi-red

### 🚜 Refactor

- hmr: use `__rolldown_exports__` as the name for esm module namespace object (#5579) by @hyf0
- tests: rename `_configName` to `_testName` in configuration files and update variant formatting in snapshots (#5569) by @hyf0
- rolldown: remove unnecessary comments (#5552) by @situ2001
- rolldown: Remove `rolldown_rstr` crate and use `CompactStr` directly (#5542) by @Copilot
- hide namespace statement index knowledge inside StmtInfos (#5545) by @sapphi-red
- use pascal case when naming bitflags field for `ImportRecordMeta` (#5539) by @IWANABETHATGUY
- use concat_string! to simplify string concatenation (#5527) by @IWANABETHATGUY
- use combinator function handle `sourcemap_base_url` parsing (#5517) by @IWANABETHATGUY
- rolldown_plugin_utils: improve `to_output_file_path_in_js` (#5505) by @shulaoda

### 📚 Documentation

- wording nit (#5521) by @nullxone

### 🧪 Testing

- rust: rename `configName` to `_configName` and add comments (#5568) by @hyf0
- rust: re-organize `rolldown_testing_config` (#5567) by @hyf0

### ⚙️ Miscellaneous Tasks

- deps: lock file maintenance npm packages (#5582) by @renovate[bot]
- deps: lock file maintenance (#5581) by @renovate[bot]
- deps: lock file maintenance rust crates (#5576) by @renovate[bot]
- deps: lock file maintenance npm packages (#5574) by @renovate[bot]
- deps: update github-actions (#5573) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.15.1 (#5572) by @renovate[bot]
- deps: update dependency tsdown to v0.13.2 (#5562) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to ^0.15.0 (#5563) by @renovate[bot]
- ai: Add AGENTS.md and GitHub Copilot setup workflow (#5556) by @Copilot
- deps: update dependency tsdown to v0.13.1 (#5551) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.14.3 (#5544) by @renovate[bot]
- ensure all diagnostics in self.errors have Severity::Error (#5494) by @sapphi-red
- vscode: remove `code-spell-checker` extension (#5530) by @shulaoda
- deps: update dependency rolldown-plugin-dts to v0.14.2 (#5522) by @renovate[bot]
- add link to the REPL in the reproduction field description (#5519) by @sapphi-red
- enable some rollup tests (#5515) by @sapphi-red

### ❤️ New Contributors

* @Copilot made their first contribution in [#5556](#5556)
* @nullxone made their first contribution in [#5521](#5521)

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.

[Bug]: HMR wrong patch for multiple import statements with same importee

2 participants