Just a remark. npm's team fixed long paths in v3.0, so now you have "flat tree".
Depending on what version ranges dependencies are locked to, you could still end up with a pathological situation which breaks the path length limit, but I've only had that happen once since switching to npm 3, and it was easy to resolve.