3 ms·
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
by nijiko 11y 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 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 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.
- voltagex_ 11y agoLooks 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.
- vvoyer 11y agoI made an npm package that does this https://github.com/vvo/npm-pkgr https://github.com/vvo/npm-pkgr