fix(pnp): check if path belongs to a pnpapi instance before checking the filesystem #2068
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.
What's the problem this PR addresses?
portal:
protocol to an external project could end up using that projects pnpapi, which if the project has peer dependencies, would causeMODULE_NOT_FOUND
errors if the pnpapi context was lost and had to be located.enableGlobalCache: true
) is fragile and does not handle loosing the pnpapi context while in the global cacheFixes #706
Fixes #965
Fixes standard-things/esm#871 (cc @jonaskuske)
How did you fix it?
Ask each
pnpapi
instance if they control themodulePath
, if more than onepnpapi
controls the path throw an error, if only one controls it use that instance, otherwise fallback to searching the filesystem.Checklist