Interesting read (or skim, in my case)! I think there are some major problems with npm's nested approach too - for example, file paths tend to become so long that at least Windows has real troubles handling them (it's not fun to try to get out of a situation where you can't delete a folder because it's tree of subfolders is too deep, and not the subfolders because their paths are too long).
My main takeaway, though, is that our package manager lacks solutions to two problems that npm solves with nested dependencies inside the project folder: 1 The ability to have different versions of the same package active on the same machine, and even in the same project's (sub)dependencies. 2. The ability to specify dependencies and their versions on a per-project basis, also for projects that are not modules themselves, allowing you to check in a file specifying dependencies and then running something like Pkg.restore() to install everything you need. I think this can definitely be done with smaller changes to our ecosystem than going npm-style all the way, but I also think that these are important problems that should be considered in a future revamp of our package manager. // T
