Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements Hot Module Replacement (HMR) support for ESM output format. Currently, when using
experiments.outputModule: true
, HMR throws an errorHMR is not implemented for module chunk format yet
and prevents developers from using HMR with ESM builds.What kind of change does this PR introduce?
This is a feature implementation that enables HMR functionality for ESM output format. The changes include:
ModuleChunkFormatPlugin
to generate ESM-formatted hot update chunksModuleChunkLoadingPlugin
to register HMR handlers for ESMimport()
-based hot update loading inModuleChunkLoadingRuntimeModule
HotModuleReplacementPlugin
for ESM chunksDid you add tests for your changes?
Tests will be added to cover:
Does this PR introduce a breaking change?
No, this change is backward compatible. It only affects builds that explicitly enable both ESM output (
experiments.outputModule: true
) and HMR, which previously resulted in an error.What needs to be documented once your changes are merged?