FYI, the nesting and deduplication were fixed in NPM 3. It uses a flat structure now.<p>Unfortunately, in their place the version resolution algorithm is now subject to order dependency: the same package.json file, run at the same time with the same packages available in the NPM repository, can give different results on different machines depending on what had already been installed.