Hacker News new | ask | show | jobs
by nijiko 3794 days ago
I'd also like to take the time to mention that the caching system when installing / other actions is extremely inefficient (for my times I have the progress bar turned off already and this is a project with around 80 modules shared between dev / prod):

https://github.com/npm/npm/issues/10890

I started on a very (I would like to emphasize very a thousand times over) basic proof-of-concept to show how much faster it could be in the order of magnitudes:

https://gist.github.com/nijikokun/2f1f16325f8ffe14b1b3

All this does is build a json of every package you currently have installed, and utilizes that as a lookup store the next time instead of rebuilding it every install; this was targeted towards installing / uninstalling existing packages. Not fresh installs.

Fresh installs would benefit from bulk lookups via the API imo.

1 comments

Looks good. I wonder if it'd be too much scope creep to add extension points for LAN/proxy caching. I know of one small dev team who had a single ADSL connection shared between ~10 people - NPM downloads would have been painful.
I made an npm package that does this https://github.com/vvo/npm-pkgr