Last time I used NPM, it tended to download megabytes of dependencies for each project. If you used a package in, say, 10 different projects, you had 10 copies of it. Did they solve that issue?
If you really want to avoid it you can install everything as a global dependency, but it's not best practice.