As dependências do projeto estão listadas no arquivo package.json , elas estão organizadas em duas categorias:
dependencies: Dependências referente ao projeto em runtime. São dependências que serão executadas pelo browser do usuário. Exemplo: vue, axios, moment...devDependencies: Dependências que suportam o desenvolvimento do projeto. Exemplo: webpack, babel, eslit...
Ao realizar uma instalação limpa das dependências (npm install) é gerado o arquivo package-lock.json, este json é responsável por garantir que as mesmas versões das dependências serão instaladas entre os ambientes, por este motivo ele deve ser commitado! Porém, apenas em 2 situações ele deverá ter modificações, são elas:
- Quando uma nova dependência é adicionada no projeto (
npm i --save {dep}ounpm i --save-dev {dep}) - Quando deseja-se ativamente atualizar as dependências do projeto (
npm update)