Also check out https://github.com/npm/npm/issues/10999 This is just insane!
Check out yarn as well, some of it's practices are really awesome - getting inspiration from bundler and cargo.
This is as someone who doesn't use either of these languages that much. Even composer is better than pip IMO.
Additionally, since each package gets its own `node_modules` directory, there's no need to worry about conflicting dependencies. Multiple versions of the same module can run in the same process with no interference.
Probably like 90% of the python projects I've looked at have requirement-conflicts because pip doesn't even warn you about this.
[1] this is quite a large number of cases, but they are significant drawbacks.
I do sort of like node's ability to recursively nest dependencies to avoid dependency hell. Though that has it's downsides too.. you will never know what is in your modules dir.