Here's a crazy idea: remove all semver-compatible duplicates!
If your top-level module uses module@1.1.2
and a dependency
uses module@1.0.0
, npm-semver-dedupe
will simply remove module@1.0.0
,
even if it explicitly wants v1.0.0
.
Yes, this might break your app. Yes, this is very hacky.
However, duplicates suck and so does npm dedupe
.
You don't need 20 copies of the same version of esprima in your app.
If you run this, you better test your app afterwards because something is very likely to break!
npm i -g npm-semver-dedupe
npm-semver-dedupe
This will dedupe the current app/module.