Turbopack: Implement server hmr in nodejs dev runtime (#89130)
This implements the remainder of functionality needed for Server HMR
(Fast Refresh).
How It Works
- Turbopack detects file changes in RSC modules
- Rust sends HMR update payloads to the Node.js runtime via the existing
chunk update system
- A Node-specific HMR client evaluates changed modules using shared HMR
runtime logic (extracted earlier in this stack)
- Only modified modules are re-evaluated. Unmodified modules retain
their state
- Next.js hot-reloader forwards updates to RSC workers, triggering
automatic re-renders in clients
Test Plan: Added an e2e test confirming that unaffected modules don't
get re-evaluated when others change.