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?
It's difficult to work with Git monorepos, since we can't easily install one specific package. Additionally, the current packing mechanism was causing projects to always be installed using Yarn, which isn't the right behavior: we should instead use whatever package manager the repository is configured to use (yes, even npm, sometimes 馃檪).
How did you fix it?
Workspaces can now be installed using the
#workspace=name
qualifier within the Git dependency. This can be added to existing range selectors (#commit=foo&workspace=name
).We now detect which package manager should be used, and use different packing workflow for each one. Of course, the Yarn 2 one is the best ... (no but seriously, because we need to run a full install for the two other projects, even if they don't have postinstall scripts).
Note that the git resolutions now use the
#commit=hash
format instead of the now legacy#commit:hash
format. It shouldn't change much (both are accepted when read from the lockfile).