NPM - Atualizando dependências com segurança

Partes da versão?

Sim!, o controle de versão do NPM (node package manager) segue um controle de versões semânticos, portanto, esse controle de versões tem 3 partes: Major.Minor.Patch

1 - Patch . Isso é incrementado quando é feita uma correção de bug que não quebra o código de consumo.
2 - Minor . Isso é incrementado quando são adicionados recursos que não quebram o código de consumo.
3 - Major . Isso é incrementado quando mudanças significativas são feitas.

Beleza, mas oque significa o ^ ou o ~ ?

Você quer instalar uma nova versão de um pacote e se depara com essa dupla frente as versões, oque elas significam afinal?

Uma versão geralmente tem um ^ na frente dela (por exemplo ^16.8.6). Isso significa que a versão secundária mais recente pode ser instalada com segurança. Portanto, neste exemplo, ^16.12.1 pode ser instalado com segurança se esta for a versão mais recente em 16.x.

Às vezes, uma versão tem um ~ na frente dela (por exemplo ~16.8.6). Isso significa que apenas a última versão do patch pode ser instalada com segurança. Portanto, neste exemplo, ^16.8.12 pode ser instalado com segurança se esta for a versão mais recente em 16.8.x.

NPM INSTALL, resolve?

Depende, se os pacotes ja estiverem instalados na node_modules não será atualizado.

Se não existe a node_modules mas existe o package-lock.json então será instalado apenas as versões específicas do próprio arquivo.

O npm install instalará as novas versões apenas se não existir nenhum dos dois arquivos, instalando a versão mais recente dos pacotes existentes no package.json.

Ta, mas e com segurança?

Vamos descobrir as dependências que estão desatualizadas rodando o seguinte comando:

npm outdated

Atualizando todos os pacotes

npm update

Este comando atualiza todos os pacotes tanto na node_modules como no package-lock.json, atualizando a árvore de dependências do projeto.

Atualizando um pacote específico

npm update "package_name"

Este comando atualiza um módulo específico.

Atualizando dependências com grandes mudanças (Major)

npm install package_name@latest

Verifique SEMPRE se aplicação não está quebrando por meio de testes.

Repita o processo para outros pacotes com grandes mudanças

Caminho mais rápido?

npx npm-check-updates -u

Isso atualizará as dependências para as versões mais recentes (incluindo alterações de versão principais) no package.json arquivo. Se quisermos continuar com as atualizações, precisamos executar o seguinte comando:

npm install

Isso fará com que os pacotes da pasta node_modules e o package-lock.json sejam atualizados.

Resumão:

1 - Use npm outdated para descobrir dependências que estão desatualizadas.
2 - Use npm update para realizar atualizações de dependências seguras.
3 - Use npm install <packagename>@latest para atualizar para a versão principal mais recente de um pacote.
4 - Use npx npm-check-updates -u e npm install para atualizar todas as dependências para suas versões principais mais recentes.

Achou esse post útil? me da um Hello no Twitter

21

This website collects cookies to deliver better user experience