Husky: Como Garantir a Qualidade do Seu Código Antes do Commit

Aprenda a usar Husky para garantir que apenas códigos que passaram nos testes sejam commitados.

Como usar Husky para impedir commits de código que não passaram nos testes?

O Husky é uma ferramenta poderosa que permite configurar ganchos (hooks) em seu repositório Git. Esses ganchos podem ser usados para executar scripts antes de realizar ações como commits ou pushes. Neste tutorial, você aprenderá como configurar o Husky para garantir que seu código só seja commitado se passar em todos os testes, ajudando assim a manter a qualidade do seu projeto.

O que é o Husky?

Husky é uma biblioteca que permite que você configure ganchos do Git facilmente. Com ele, você pode executar comandos de linha de comando antes de ações como commit ou push. Isso garante que você tenha um controle maior sobre o que está sendo enviado ao repositório, evitando que código com erros ou falhas seja integrado ao projeto.

Instalação do Husky

Para começar a usar o Husky, você precisa instalá-lo em seu projeto. Execute o seguinte comando:

npm install husky --save-dev

Esse comando adiciona o Husky como uma dependência de desenvolvimento em seu projeto. Após a instalação, você pode habilitar os ganchos do Husky com o comando:

npx husky install

Isso criará um diretório .husky em seu projeto, onde você poderá definir seus ganchos.

Configurando o Gancho Pre-commit

Agora que o Husky está instalado, vamos configurar um gancho que será executado antes de cada commit. Para isso, crie um arquivo chamado pre-commit dentro do diretório .husky e adicione o seguinte conteúdo:

echo "Executando testes..."
npm test

Esse script executará os testes sempre que você tentar realizar um commit. Se os testes falharem, o commit será interrompido, garantindo que apenas código que passou nos testes seja enviado ao repositório.

O que acontece se os testes falharem?

Se algum teste falhar, você verá uma mensagem de erro no terminal, e o commit não será realizado. Isso ajuda a evitar que código com falhas seja integrado ao seu projeto, promovendo boas práticas de desenvolvimento e manutenção da qualidade do código.

Customizando a Mensagem de Erro

Você pode personalizar a mensagem de erro exibida quando os testes falham. Para isso, você pode modificar o script no arquivo pre-commit para incluir uma mensagem mais amigável:

echo "Executando testes..."
npm test || { echo "Os testes falharam! Corrija os erros antes de tentar fazer o commit."; exit 1; }

Neste exemplo, se os testes falharem, será exibida uma mensagem clara ao desenvolvedor, indicando que ele precisa corrigir os erros antes de prosseguir.

Integrando com outras ferramentas

Além do npm test, você pode integrar o Husky com outras ferramentas de linting e formatação de código, como ESLint ou Prettier. Para isso, você pode adicionar comandos a mais no seu script pre-commit:

echo "Executando ESLint..."
npm run lint
npm test

Dessa forma, o Husky não apenas executa os testes, mas também verifica se o seu código está de acordo com as regras de linting estabelecidas, garantindo que seu código esteja sempre limpo e organizado.

Conclusão

Utilizar o Husky para configurar ganchos de commit é uma excelente maneira de assegurar que seu código mantenha um padrão de qualidade consistente. Ao impedir commits de código que não passaram nos testes, você evita a introdução de bugs e falhas no seu projeto, contribuindo para um desenvolvimento mais eficiente e eficaz.

Não se esqueça de adaptar os scripts de acordo com as necessidades do seu projeto, e aproveite as vantagens que o Husky pode oferecer para melhorar seu fluxo de trabalho!

O uso de ganchos de commit, como os oferecidos pelo Husky, é uma prática cada vez mais comum entre desenvolvedores que buscam manter a qualidade do código em seus projetos. Ao integrar testes automatizados e linting ao processo de commit, você não apenas melhora a confiabilidade do seu código, mas também promove uma cultura de qualidade entre sua equipe. Essa abordagem proativa ajuda a identificar e corrigir problemas antes que eles se tornem maiores, economizando tempo e esforço no longo prazo.

Algumas aplicações:

  • Garantir que apenas código de qualidade seja commitado.
  • Integrar ferramentas de linting e formatação.
  • Facilitar o trabalho em equipe com padrões de código.

Dicas para quem está começando

  • Instale o Husky em seus projetos para manter a qualidade do código.
  • Adicione scripts de teste no gancho pre-commit.
  • Personalize mensagens de erro para facilitar a compreensão.
  • Integre outras ferramentas como ESLint e Prettier.
  • Teste regularmente suas configurações para garantir que funcionem corretamente.

Contribuições de Amanda Oliveira

Compartilhe este tutorial: Como usar Husky para impedir commits de código que não passaram nos testes?

Compartilhe este tutorial

Continue aprendendo:

Como aplicar a arquitetura Atomic Design para melhorar a manutenção dos componentes React?

Explore como o Atomic Design pode facilitar a manutenção e escalabilidade dos seus projetos em React.

Tutorial anterior

Como configurar eslint-config-airbnb para melhorar a padronização do código React?

Aprenda a utilizar o eslint-config-airbnb para garantir a qualidade e padronização do seu código React.

Próximo tutorial