test: refactor watchTestCase when ESM #19571
Merged
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
2D70
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.
What kind of change does this PR introduce?
We should clean the output directory before the second compilation starts. Otherwise, we will execute all output files generated from previous compilations, especially when they have different content hashes. This can lead to the execution of redundant files and also cause potential ESM errors.
For more details, I will outline the files in the output directory and the files being executed:
First Compilation:
Second Compilation (when the b file remains unchanged):
What we expected behavior in second compilation :
So when both
a.hash0.js
anda.hash1.js
importb.hash0.js
, this results in multiple links to the same module, causing an ESM error => Module status must be unlinkedDid you add tests for your changes?
Exists
Does this PR introduce a breaking change?
No
What needs to be documented once your changes are merged?
No