Find yarn dependency package paths via brute force #326
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.
Closes #243
After the linked bug had another hit as the underlying issue in #324, I took another look and couldn't find any logical way that made sense to detect yarn package paths under node_modules based on the output from any yarn CLI.
As an alternative, here's a solution that finds and parses every package.json file under node_modules to make a map of all "name@version" => directory pairs. The map is cached so it's at least only evaluated once.
The performance impact isn't too noticeable for small to mid-size projects, but it gets a little more expensive for larger projects. Still, it seems to only take a few seconds for larger projects so it's not too bad.