fix: add a temporary property '_isRootFile_' for each promise result of cache to prevent i… #165
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.
I've just came across the issue of vitest-dev/vitest#5182. Then found out the RC is #154. So I spent some times to read relevant codes and put my correction out to try to push this issue forward. The tests based on #157.
My considerations about this fix: this fix is based on the current design and as few changes as possible to just add a patch to prevent into the deadlock situation you've described in aleclarson/vite-tsconfig-paths#132 (comment).
In the correction, I add an internal property
_isRootFile_
for each cached file and this new property means if the file is invoked by the public apiparese()
which used to distingust another type of cache which created byparseFile()
. Then using_isRootFile_
prevent into the deadlock inparseFile()
.@dominikg let me know if you have some comments.