Makes peerDependenciesMeta imply peerDependencies #531
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?
Some projects are concerned about printing warnings to their users, and prefer not to list their peer dependencies to avoid that. We've solved this a while ago with optional peer dependencies, but the npm registry has a bug that prevents the npm client to leverage this information (Yarn isn't affected). Because of this, the field adoption is lower than it should be, which hurts the JavaScript ecosystem.
How did you fix it?
This diff makes the
peerDependenciesMeta
field imply a genericpeerDependencies
(on*
). This way, even if the npm installs will still suffer from bogus hoisting (because they'll have no idea about the peer dependencies), at least Yarn won't be hit. And if they fix the bug later down the road, they'll directly benefit frompeerDependenciesMeta
being more widespread.