fix: ignore conflicts with optional peer dependencies #8623
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.
This branch was generated by throwing Claude Sonnet 4.5 at the bug described at #8416, where an
ERESOLVEwas thrown because of an unresolved optional peer dependency.Claude's fix here is naïve: It simply ignores peer conflicts if
edge.type === 'peerOptional'. I don't think that's the right approach. I suspect that the issue described at #8416 is a consequence of a deeper problem with incorrectERESOLVEerrors being thrown during peer dependency resolution (as seen in other tickets) rather than a property of optional peer dependencies per se.Still, I thought I'd share the branch in case it gives the maintainers some inspiration. The test cases added here should be useful for trying other solutions against.
References
Related to #8416