fix(arborist): inherit overrides from fsParent #8108
+240
−677
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.
Note to reviewers: The CI failures are unrelated to the code changes in this CR. They're caused by
git dirty
complaining because there was a release of@npmcli/git
that hasn't been merged in yet: npm/git#224Currently, a package's
overrides
have no effect on dependencies declared in its workspaces (#4205).I did some digging and found that:
fsChildren
of the root, notchildren
.parent
, but not from theirfsParent
.As a result, workspace nodes in the virtual tree weren't inheriting the root's overrides.
The fix here is to allow nodes to inherit
fsParent.overrides
. I've added tests forload-virtual
andreify
to demonstrate that overrides are correctly applied to a workspace dependency with this change.References
Fixes #4205