Skip to content

Comments

fix(hmr): should not panic for editing modules that contain import(..)#5351

Merged
hyf0 merged 2 commits intomainfrom
hyf_33234890238490
Jul 20, 2025
Merged

fix(hmr): should not panic for editing modules that contain import(..)#5351
hyf0 merged 2 commits intomainfrom
hyf_33234890238490

Conversation

@hyf0
Copy link
Member

@hyf0 hyf0 commented Jul 19, 2025

Run

RD_LOG=hmr=trace RUST_BACKTRACE=FULL cargo test -p rolldown -- fixture_with_config_tests__rolldown__topics__hmr__dynamic_import__config_json --nocapture

Closes #5249
Closes #5248

@netlify
Copy link

netlify bot commented Jul 19, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit af642a3
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/687bcd550ad84b0008ec7fb8

@IWANABETHATGUY IWANABETHATGUY marked this pull request as draft July 19, 2025 04:52
@hyf0 hyf0 changed the title wip(hmr): exist import(..) cause panic wip(hmr): existing import(..) cause panic Jul 19, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Jul 19, 2025

Benchmarks Rust

group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.00     74.9±1.68ms        ? ?/sec    1.08     80.8±2.40ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.00     88.6±2.18ms        ? ?/sec    1.05     93.4±1.92ms        ? ?/sec
bundle/bundle@rome_ts                                        1.00    113.6±4.08ms        ? ?/sec    1.04    117.7±2.10ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    135.0±1.59ms        ? ?/sec    1.03    139.7±1.86ms        ? ?/sec
bundle/bundle@threejs                                        1.00     40.7±0.93ms        ? ?/sec    1.05     42.7±2.34ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.00     50.7±0.57ms        ? ?/sec    1.04     52.8±0.61ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    441.0±7.55ms        ? ?/sec    1.02    449.5±7.89ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.00    526.3±5.05ms        ? ?/sec    1.01    532.9±7.95ms        ? ?/sec
scan/scan@rome_ts                                            1.03     91.2±1.93ms        ? ?/sec    1.00     88.4±1.65ms        ? ?/sec
scan/scan@threejs                                            1.03     32.1±1.93ms        ? ?/sec    1.00     31.3±1.97ms        ? ?/sec
scan/scan@threejs10x                                         1.02    331.7±4.94ms        ? ?/sec    1.00    325.4±6.68ms        ? ?/sec

@hyf0 hyf0 changed the title wip(hmr): existing import(..) cause panic fix(hmr): existing import(..) cause panic Jul 19, 2025
github-merge-queue bot pushed a commit that referenced this pull request Jul 19, 2025
@hyf0 hyf0 force-pushed the hyf_33234890238490 branch from e7b8558 to d9d8830 Compare July 19, 2025 16:47
Copy link
Member Author

hyf0 commented Jul 19, 2025

@hyf0 hyf0 force-pushed the hyf_33234890238490 branch from d9d8830 to af642a3 Compare July 19, 2025 16:52
@hyf0 hyf0 marked this pull request as ready for review July 19, 2025 16:56
@hyf0 hyf0 requested a review from sapphi-red July 19, 2025 16:56
@hyf0 hyf0 changed the title fix(hmr): existing import(..) cause panic fix(hmr): should not panic for editing modules that contain import(..) Jul 19, 2025
@hyf0 hyf0 added this pull request to the merge queue Jul 20, 2025
Merged via the queue into main with commit a29b625 Jul 20, 2025
24 checks passed
@hyf0 hyf0 deleted the hyf_33234890238490 branch July 20, 2025 04:38
This was referenced Jul 22, 2025
shulaoda added a commit that referenced this pull request Jul 22, 2025
## [1.0.0-beta.29] - 2025-07-22

### 🚀 Features

- rolldown_plugin_chunk_import_map: support custom file name (#5383) by
@shulaoda
- rolldown_plugin_chunk_import_map: emit standard import map (#5382) by
@shulaoda
- rolldown_plugin_chunk_import_map: support custom base url (#5381) by
@shulaoda
- support plugin context meta for native plugins (#5371) by @shulaoda
- rolldown: oxc v0.77.3 (#5367) by @Boshen
- rolldown_plugin_transform: align sourcemap enable logic (#5348) by
@shulaoda
- plugin_driver: use hook usage for `close_bundle` (#5361) by @shulaoda
- hmr: attach region comments for hmr patch (#5358) by @hyf0
- rolldown: add transformHiresSourcemap option (#5346) by @Brooooooklyn
- rolldown_plugin_web_worker_post: align `transform_ast` hook metadata
order to `post` (#5339) by @shulaoda

### 🐛 Bug Fixes

- when preserveEntrySignatures: false is set, output includes a circular
import (#5365) by @IWANABETHATGUY
- do not normalize iife global names (#5228) by @redstonekasi
- hmr: should not panic for editing modules that contain `import(..)`
(#5351) by @hyf0
- sync ast for newly added modules (#5354) by @IWANABETHATGUY
- used exports from dynamic imported module are removed incorrectly
(#5341) by @IWANABETHATGUY
- keep top level variables for non-esm format when minify is enabled
(#5332) by @sapphi-red
- rust: correctly return watch option (#5334) by @HigherOrderLogic

### 🚜 Refactor

- rolldown_plugin_chunk_import_map: clarify import map paths and output
filename (#5376) by @shulaoda
- rolldown: `collapse_sourcemaps` does not need to own a Vec (#5352) by
@Boshen
- rolldown_plugin_asset: improve readability for easier maintenance
(#5359) by @shulaoda
- ecmascript: remove unnecessary `allocator.alloc(program)` call (#5350)
by @Boshen
- store ast with same shape as module_table (#5345) by @IWANABETHATGUY
- simplify `is_dynamic_entry_alive` (#5342) by @IWANABETHATGUY
- rolldown_plugin_web_worker_post: tweak code organization (#5338) by
@shulaoda
- store `ScopeFlags` instead of `ScopeId` when traverse ast (#5330) by
@IWANABETHATGUY
- simplify `keep_names` VarDeclaration rewrite (#5325) by
@IWANABETHATGUY

### 📚 Documentation

- experimental: update the description of `chunkImportMap` (#5384) by
@shulaoda
- experiment: add usage documentation for `chunkImportMap` (#5379) by
@shulaoda

### ⚡ Performance

- plugin_driver: skip unused hooks early based on hook usage meta
(#5363) by @shulaoda
- rolldown: box `TransformOptions` (#5353) by @Boshen

### 🧪 Testing

- rust: hide runtime module output in snapshots to improve clarity
(#5366) by @hyf0
- node: put minify related tests in a single directory (#5333) by
@sapphi-red

### ⚙️ Miscellaneous Tasks

- examples: update `chunk-import-map` (#5385) by @shulaoda
- add `examples/chunk-import-map` (#5380) by @shulaoda
- deps: lock file maintenance (#5373) by @renovate[bot]
- deps: lock file maintenance rust crates (#5372) by @renovate[bot]
- deps: lock file maintenance npm packages (#5370) by @renovate[bot]
- deps: update dependency @napi-rs/wasm-runtime to v1 (#5369) by
@renovate[bot]
- deps: update taiki-e/install-action action to v2.56.19 (#5368) by
@renovate[bot]
- extract `HookOrderIndicates` logic (#5362) by @shulaoda
- rust: remove unnecessary `#[allow(unused)]` (#5360) by @shulaoda
- deps: update dependency rolldown-plugin-dts to v0.14.1 (#5357) by
@renovate[bot]
- use `debug=1` for profile.dev and profile.test (#5355) by
@IWANABETHATGUY
- deps: update dependency rolldown-plugin-dts to ^0.14.0 (#5349) by
@renovate[bot]
- remove packages/rolldown/npm/* from workspace config (#5347) by
@Brooooooklyn
- pnpm,justfile: enable pnpm `verifyDepsBeforeRun: install` (#5331) by
@Boshen
- update `build-js-glue` script (#5335) by @btea

### ◀️ Revert

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

### ❤️ New Contributors

* @redstonekasi made their first contribution in
[#5228](#5228)
* @HigherOrderLogic made their first contribution in
[#5334](#5334)

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]: panics with no entry found for key when editing dynamic imports while HMR is enabled

2 participants