|
|
|
|
|
by _Marak_
3752 days ago
|
|
If you are tired of waiting for NPM, I'd suggest checking out the `ied` alternative: https://github.com/alexanderGugel/ied To give some perspective, I'm dealing with systems that install npm packages at scale. NPM3 has had way too many show stopping bugs for us. The delays in installation time compound when dealing with thousands of packages, pretty much causing package installation to fail ( take forever ). |
|
Unfortunately, as detailed in a few npm3 threads, npm3 performance may forever be quite bad, due to a few ill-conceived features in npm's infancy.
Due to shrinkwraps and bundleDependencies, it's impossible for npm to know the full dependency tree until it has untarred every intermediate dependency [1]. In the future, it may be possible for a smarter server to cache this data and serve the full tree as part of the metadata, but that is a ways away.
There are some low-hanging fruit still in npm; for instance, the npm registry still doesn't gzip metadata for some unknown reason. Doing so could save as much as 80% on some larger metadata json, such as npm/npm itself [2].
1. https://github.com/npm/npm/issues/8826#issuecomment-15511591...
2. https://github.com/npm/npm-registry-couchapp/issues/224