NPM v3

O NPM v3 difere da abordagem da v2 de aninhar cada pacote. Em vez disso, ele tenta primeiro resolver a instalação da dependência e, se não for possível (devido a uma incompatibilidade de versão), ele recorrerá à abordagem de aninhamento da v2.

Quando uma atualização do pacote é instalada, ela remove a si mesma e às suas dependências (se nenhum outro pacote depender dela) e, em seguida, instale a nova versão. E se todos os pacotes forem instalados pela primeira vez, npm installo aplicará a ordem alfabética listada package.jsonao instalar novos pacotes.

Além disso, você pode fazer alguma manutenção por meio do npm dedupecomando para acionar manualmente o exame de pacotes duplicados.

https://docs.npmjs.com/how-npm-works/

PS NPM v3 não é mais instalado peerDependencypara você, mas envia um lembrete gentil de que você deveria colocá-los em dependenciesoudevDependencies