chore(hmr): delete commented-out dead code left from old register-module codegen#9707
Conversation
How to use the Graphite Merge QueueAdd the label graphite: merge-when-ready to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
a1a3539 to
40b0a7e
Compare
There was a problem hiding this comment.
Pull request overview
This PR cleans up HMR-related Rust code by removing commented-out, superseded dead code in the HMR stage and AST finalizer, aligning the implementation with the current HmrAstBuilder::create_register_module_stmt path introduced in #3792.
Changes:
- Removed an outdated TODO/commented assignment in
compute_update_for_calling_invalidate. - Removed commented-out
unreachable!residue in module filtering branches. - Deleted a large commented-out, obsolete
registerModulegeneration block ingenerate_runtime_module_register_for_hmr.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| crates/rolldown/src/hmr/hmr_stage.rs | Removes stale commented-out logic and unreachable-residue comments in HMR update computation paths. |
| crates/rolldown/src/hmr/hmr_ast_finalizer.rs | Removes a large commented-out legacy register-module codegen block now superseded by create_register_module_stmt(). |
✅ Deploy Preview for rolldown-rs canceled.
|
✅ Deploy Preview for rolldown-rs canceled.
|
Merging this PR will not alter performance
Comparing Footnotes
|
Merge activity
|
…ule codegen (#9707) The block in generate_runtime_module_register_for_hmr was superseded by HmrAstBuilder::create_register_module_stmt (called right above it) back in #3792 and even references the since-deleted snippet field; the two commented unreachable! lines were dead decision residue. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
40b0a7e to
a10acb7
Compare
## [1.1.1] - 2026-06-11 ### 🚀 Features - ecmascript_utils: introduce AstFactory for AST construction (#9682) by @hyf0 - drop no-op init calls for empty wrapped-ESM modules (#9678) by @IWANABETHATGUY ### 🐛 Bug Fixes - resolver: honor package.json#type for .jsx/.tsx extensions (#9690) (#9699) by @IWANABETHATGUY - hmr: report the full-reload reason for the invalidate-loop case (#9708) by @hyf0 - explicit `moduleSideEffects` from a hook must take priority over the `package.json#sideEffects` (#9688) by @sapphi-red - keep the `rolldown-runtime` name for the standalone runtime chunk (#9685) by @shulaoda - lazy-barrel: request all exports for entry barrels on first encounter (#9672) by @shulaoda - finalizer: skip init_*() for tree-shaken wrapped ESM owners (#9669) by @IWANABETHATGUY - order `chunk.imports` by execution order (#9654) by @chuganzy - vite-resolve: preserve slash separators for Sass partial exports (#9546) by @cjc0013 - cross-chunk CJS wrapper shadowed by author-local binding (#9648) by @IWANABETHATGUY ### 🚜 Refactor - precompute wrapped-ESM init metadata in generate stage (#9712) by @IWANABETHATGUY - ecmascript_utils: fold construction ext traits onto AstFactory and delete AstSnippet (#9702) by @hyf0 - finalizer: finish ScopeHoistingFinalizer migration to AstFactory (#9701) by @hyf0 - finalizer: migrate module_finalizers/mod.rs to AstFactory (#9700) by @hyf0 - hmr: migrate hmr finalizer to AstFactory (#9695) by @hyf0 - plugin: migrate vite_build_import_analysis to AstFactory (#9693) by @hyf0 - scanner: migrate tweak_ast_for_scanning to AstFactory (#9683) by @hyf0 - always split runtime module first (#9419) by @IWANABETHATGUY ### 📚 Documentation - tsconfig: correct auto-discovery resolution to match TypeScript (#9714) by @shulaoda - design: plan to unify all internal AST construction (#9673) by @hyf0 - tsconfig: align reference resolution docs with TypeScript behavior (#9641) by @shulaoda ### ⚡ Performance - avoid per-module join Strings in scope-hoisting concatenation (#9645) by @Boshen - avoid intermediate Strings in the ESM export clause (#9644) by @Boshen - reuse a scratch buffer for facade namespace names in the scanner (#9642) by @Boshen - reuse the import-matching tracker stack across named imports (#9643) by @Boshen - avoid cloning the per-chunk export-items map in render_chunk_exports (#9639) by @Boshen - avoid CompactStr allocation in sorted-exports membership check (#9640) by @Boshen ### 🧪 Testing - add more `moduleSideEffects` precedence tests (#9689) by @sapphi-red - 9651: drop shimMissingExports from regression fixture (#9674) by @IWANABETHATGUY ### ⚙️ Miscellaneous Tasks - update react repo links (#9711) by @iiio2 - remove outdated pnpm configurations (#9666) by @btea - deps: update github actions to v2.81.5 (#9665) by @renovate[bot] - testing: migrate test harness off deprecated inlineDynamicImports (#9710) by @IWANABETHATGUY - hmr: delete commented-out dead code left from old register-module codegen (#9707) by @hyf0 - deps: update napi-rs toolchain (#9706) by @shulaoda - deps: update rollup submodule for tests to v4.61.1 (#9676) by @rolldown-guard[bot] - deps: update test262 submodule for tests (#9677) by @rolldown-guard[bot] - deps: update oxc to 0.135.0 (#9670) by @Boshen - pass ALGOLIA_APP_ID and ALGOLIA_API_KEY to void deploy (#9667) by @Boshen - deps: update github actions (#9662) by @renovate[bot] - deps: update rust crates (#9663) by @renovate[bot] - deps: update rolldown-plugin-dts to v0.25.2 (#9661) by @renovate[bot] - deps: update typos to v1.47.2 (#9660) by @renovate[bot] - deps: update docs dependencies (#9657) by @bddjr - deps: update typos to v1.47.1 (#9655) by @renovate[bot] - deploy website in its own workflow, only on docs output change (#9650) by @Boshen - publish to pkg.pr.new add pm and `commentWithDev` option (#9638) by @btea ### ❤️ New Contributors * @chuganzy made their first contribution in [#9654](#9654) * @cjc0013 made their first contribution in [#9546](#9546)

Deletes commented-out dead code (not explanatory comments) left in the areas touched by the AstFactory migration stack. Every removed line is a comment or blank — zero behavior change.
hmr_ast_finalizer.rs— 55-line commented block ingenerate_runtime_module_register_for_hmr__rolldown_runtime__.registerModulecodegen.trait HmrAstBuilderto unify ast construction #5310 replaced it withHmrAstBuilder::create_register_module_stmt()(the live call sits right above the block) and pasted the old body in as a comment.snippetfield and a never-importedPropertyKind.__rolldown_module_id__parameter (fix(dev/lazy): avoid module reinitialization in lazy compilation patches #9179)module→__rolldown_module__(fix(hmr): register cjs module exports #4511)hmr_stage.rs— 3 single lines// unreachable!("HMR only supports normal module. ...")insideelse { None }branches — the silent-skip semantics were decided long ago; the four liveunreachable!calls elsewhere in the file are untouched.// ret.is_self_accepting = true; // (hyf0) TODO: what's this for?— both theretbinding and theis_self_acceptingfield no longer exist anywhere in the workspace (pre-refactor(hmr): replaceHmrOutputwithHmrUpdate#5488 residue), so the question is unanswerable.Deliberately kept
// full_reload_reason = Some("circular import invalidate")inhmr_stage.rs— marks real missing behavior, re-enabled separately in fix(hmr): report the full-reload reason for the invalidate-loop case #9708.🤖 Generated with Claude Code