Cache resolved paths of dependencies #1309
Merged
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.
This adds the resolved path of every dependency to the cache, and uses that when available so we don't need to run the resolver for subsequent builds. This speeds up cached builds on large projects tremendously. For example, on my work project, cached build times went from ~14s to ~4s.
This builds on #1304 since we don't want to store the entire package.json in the cache for every dependency. Since package.json is also listed as a dependency of each asset, when package.json changes the cache will be invalidated since the resolution of that file might also change.