A analista Ana está desenvolvendo o pacote do npm CGEOnline com o apoio da ferramenta git. Em dado momento, Ana precisou incrementar a versão do CGEOnline, commitar no git a modificação de versão realizada e criar uma tag no git para marcar a nova versão. Para realizar as operações de forma simples e rápida, Ana recorreu ao comando do npm capaz de incrementar a versão de um pacote e ainda criar automaticamente um commit e uma tag no repositório git local, relacionados ao incremento da versão. Ana recorreu ao comando do npm:
- A)pkg;
Errada, porque pkg não é o comando do npm para incrementar versão nem para criar commit e tag no git.
- B)pack;
Errada, porque pack serve para empacotar o projeto em um arquivo tarball, não para versionamento com commit e tag automáticos.
- C)update;
Errada, porque update é associado a atualização de dependências, não ao controle de versão do pacote com integração ao git.
- D)version;
Certa, porque npm version incrementa a versão do pacote e pode criar automaticamente commit e tag no repositório git local.
- E)dist-tag.
Errada, porque dist-tag é usado para gerenciar tags de distribuição de pacotes publicados, não para versionar o projeto no git.
Gabarito: D
No ecossistema do npm, a gestão de versão do pacote pode ser feita de forma bem prática com o comando adequado. Quando você quer aumentar a versão do projeto e, junto disso, registrar a mudança no git com commit e tag, o npm oferece exatamente essa automação. Isso evita aquele trabalho manual de editar arquivo, commitar, criar tag e ainda correr o risco de esquecer algum passo. O comando certo é o npm version. Ele incrementa a versão conforme o tipo informado, como patch, minor ou major, e por padrão cria um commit com a nova versão e uma tag no repositório git local. É uma solução típica de Gerência de Configuração, porque ajuda a controlar versões e a rastrear mudanças de forma organizada. Por isso o gabarito D está correto: version é o comando do npm usado para atualizar a versão de um pacote e integrar essa atualização ao fluxo do git. A ideia central aqui é versionamento aliado à rastreabilidade, o que é ouro para manutenção e publicação de pacotes. As demais alternativas não têm essa função. Algumas servem para empacotar, outras para atualizar ou publicar marcações de distribuição, mas nenhuma entrega esse combo específico de incrementar versão + commit + tag automaticamente.