fix: prevent race condition between transformRequest
and optimizeDeps
(fix #6508)
#6543
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.
Description
Fixes #6508
The idea behind this PR is to prevent further transformations of a module in the case the deps optimizer has been run after reading the module's source code but before reading the source maps. It is useless to continue transformations as running the optimizer will invalidate all the modules in the end. This should prevent the race condition described in the linked issue and fix irrelevant
Failed to load source map for .vite/chunk-AJFLDE.js
warnings that are caused by that race condition.Additional context
The
transformRequest
function can be invoked:404
for the module if the optimizer has been run in the mentioned circumstances. The module will be transformed normally after a full reload that the optimizer will cause eventually.importAnalysis
plugin during the pre-transformation of the module's imports. In this case, the module will be just skipped until a full reload that the optimizer will cause eventually.What is the purpose of this pull request?
Before submitting the PR, please make sure you do the following
fixes #123
).