Resolve Git dependencies offline if tarball is available. #3000
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
When running yarn offline, Git dependencies get trapped in
hasHTTPCapability
even thoughresolveOverHTTP
defaults to returning the tarball. This change allows us to bypass that step altogether if the tarball already exists.Resolves #1925.
Test plan
Create a
package.json
with a Git dependency, like:Then:
This should fail prior to this commit, but succeed after.
This change was first proposed in #2705, but @chrisgavin closed the PR and hasn't had a chance to revisit. I'm happy to add unit tests if/as needed, but may need some guidance on mocking offline functionality.