npm is down, again

npm ERR! code E503
npm ERR! 503 No healthy backends: ...

npm is a beautiful piece of software, it does make packaging very easy, but the distribution of it… Sigh. it’s painful.

There’s no easy way to mirror and keep a mirror with just a small subset without installing a database and a few other things to “keep it in sync.” And this usually will end up in gigabytes upon gigabytes of extra things that aren’t even part of what was in the package.json.

Why?

Why can’t there be a distributed way of serving the packages, why does npm have to have them centralised?

Also, let’s not forget the fiasco of npm upsetting an author and subsequently deleted all of their packages, causing an avalanche of problems.

Decentralisation would be the best choice, even if it’s not the primary way of getting the packages, getting them from a nearby mirror automatically if the main npm registry is down or even going to the git sources and using that.