>> why is NPM so uniquely absolutely horrible?
I don’t think it’s uniquely bad. For example, Python’s story is just as bad.
The Java world is the best i know of but even relatively modern stacks like Rust are still making the same errors long-solved in the java world.
For example, nothing stops me publishing a google-grpc crate today (first come first served on names and that name’s not taken and i don’t need to prove ownership of my domain like in the java world).
C# and nuget is a blind spot for me so I don’t know. Go gets it right arguably even better than Java. Deno borrows the same decentralised idea.
The whole situation is a stack of cards right now though. I’m genuinely surprised we haven’t seen more specific targeting of high value maintainers. Github is arguably ahead of the curve here a little bit (e.g. the ability to flag and act on unsigned commits).