Ironically, both Nandu and Verdaccio are implemented in Tyepscript and install via npm.
(Same logic obviously applies to Python packages, Docker images, etc.)
I took that for granted back then and just assumed it was standard enterprise policy
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.
* You can actually have an organisational structure (folders/namespaces), and projects can be moved around with automatic redirects. Also, inheritance of access controls, variables between the namespaces
* GitLabCI is organised in a way that makes supply chain attacks less of a risk. GitHub Actions takes the NPM/JS approach, where every step is an action, one you usually need to get off someone, with shoddy versioning, tons of transient dependencies, etc. In GitLabCI you can have templates, but you don't have to use an external template for every bit. It's shell scripting on top of containers, so you can have custom container images with your stuff, or custom scripts, or templates that bundle it all.
Its a problem they know about, but have no plan to fix before 2027.
Keep up the good work Microsoft.
Let's shoot for 100% downtime though. Thanks.
:)