Add a more useful error message when we cache a broken tarball #3355
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
It looks like there should be an error handler that reports English for the
fetchErrorCorrupt
string, but instead an error from tar-stream is being returned without the filename.This makes it quite difficult to figure out which module is causing the error so that the bad tarball can be deleted.
Test plan
Running
yarn upgrade <list_of_modules>
with this code yielded the following results:Where previously the section in brackets was not there.
The cause appears to be yarn caching the npm registry's 404 response (which is HTML) to a file. Why it does that, and why the registry is returning 404 for extant modules is not clear to me.