npm's dependency hell is still one of the most frustrating things about modern development - how did we go from "it works if it compiles" to "it works if you can get it to install"?