fix(upgrade): Fix yarn upgrade when using --scope with exotic deps #7017
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.
Summary
Exotic dependencies (github urls for example) were not being unlocked from the lockfile when running
yarn upgrade --scope @whatever/
which was resulting in dependencies not being upgraded. This wasdue to trying to find the dep in the lockfile just by it's url instead of in
name@url
format.For example if you have the dependency:
then
yarn.lock
containsbut when
yarn upgrade
would try to unlock the dependency, it was searching for a lock oninstead of on
This resulted in the dependency still being locked to the previous version/SHA and no upgrade being performed.
fixes #7016
Test plan
Added regression test for scoped github dependency. (
fixtures/upgrade/package-not-in-registry-scoped
)Also fixed an existing test;
__tests__/fixtures/upgrade/package-not-in-registry/yarn.lock
already had the latest commit sha in the lockfile, so the upgrade that it was testing never actually had to change versions, it was already current. I changed the sha in the lockfile to an older commit so that the upgrade would actually have to do something for the test to pass.