More seriously, keeping a local cache of external npm packages, and a local artifact storage for internal npm packages looks like a wise thing to have done long ago. Might be cheaper in the long run.
Ironically, both Nandu and Verdaccio are implemented in Tyepscript and install via npm.
(Same logic obviously applies to Python packages, Docker images, etc.)
> a local artifact storage for internal npm packages looks like a wise thing to have done long ago
Deno already does this invisibly by default.
All packages are stored in the global cache.
No need to store multiple versions of the same dependencies across projects.
To the code in your projects: there is no such thing as a global cache. Just import your dependencies like normal and deno maps them to the global cache.
Only if we had a turn key distributed cache, like IPFS
Caching NPM was easier when you could pull the Couchbase replicate API. Afaik that's gone and now you just have to send a bazillion http requests instead.
At my former job we had a private registry that was a mirror of npm’s with an approval gate for packages devs would request and it would always pin versions
I took that for granted back then and just assumed it was standard enterprise policy