π π π€
I've found that when you upgrade a package with yarn it won't upgrade transitive dependencies of that package if the existing transitive dep is in range (even if a newer version is available and also in range). This means that you can end up with loads of old versions of a package that could be replaced by fewer new versions.
Reading a few threads on the issue (e.g. yarnpkg/rfcs#54 and yarnpkg/yarn#4986) led me to find https://www.npmjs.com/package/yarn-deduplicate which attempts to replace multiple versions of a dependency with the highest common version.
I think it could be really handy if Dependabot could:
- attempt to reduce the number of dependency versions (
yarn-deduplicate-style)
- update transitive dependencies in general (not sure how noisy this would be in JS-land, where there are usually a lot)