3 ms·
I wouldn't call npm "well designed". It's progres bar was the bottleneck causing slow downs. The size of node_modules directories is basically a meme now.
by stephenr 9y ago
I wouldn't call npm "well designed".
It's progres bar was the bottleneck causing slow downs.
The size of node_modules directories is basically a meme now.
- pier25 9y agoI don't think amasad was referring to npm but the module system.
- amasad 9y agoIt's the least shitty of all other designs. It picked the best design decisions from existing package managers. By default it is project local (as opposed to global like what rubygems, pip, and others are), it's recursive and largely reproducible (fully reproducible using lock files). The resolution algorithm is also deterministic and simple, you can implement it in an hour. Although other languages are catching up they have to do it as add-ons or third party tools -- for example python pipenv https://www.kennethreitz.org/essays/announcing-pipenv https://www.kennethreitz.org/essays/announcing-pipenv
- jrs95 9y agoJust use pip for a minute, and you'll quickly realize that npm is pretty well designed ;)
- gkya 9y ago> The size of node_modules directories is basically a meme now. Not a node user since many years, so I can only guess, but isn't the cause of this is bad community practices (micro-packaging, many different things that do the same thing, etc) rather than the package manager itself? You can get hundreds of deps in any language if the practices are similar.
- coldtea 9y agoBoth issues are irrelevant as to whether npm was well designed. One is an implementation detail of a secondary part of its operation (progress indication), and the other is about packages having many dependencies, not about npm causing node_modules directories to grow itself.
- owebmaster 9y agoI don't think npm became the biggest package repository by accident so it is sure "well designed".