Lefthook: O golpe de mestre para um código impecável
Lefthook: O golpe de mestre para um código impecável
Manter a qualidade do código é uma tarefa árdua. Ainda mais quando estamos em um time grande, com muitas pessoas trabalhando em um mesmo projeto. É comum que, em meio a tantas mudanças, cada integrante do time adote um estilo de código diferente, o que pode tornar a manutenção desafiadora.
Lefthook
Lefthook é uma ferramenta que ajuda a manter a qualidade do seu código, garantindo que todos os testes passem antes de um commit. Ele é um gerenciador de githooks, que são scripts que rodam em determinados eventos do git, como antes de um commit, push, merge, etc. Você pode consultar a documentação oficial do Lefthook aqui para saber mais sobre como instalar e configurar a ferramenta.
Depois de instalar e configurar o lefthook, você ganha a capacidade de rodar scripts antes de um commit, por exemplo, para rodar os testes. Ex.
---
pre-commit:
parallel: true
commands:
rspec:
tags: backend test
run: bundle exec rspec {staged_files}
Neste exemplo, estamos configurando o lefthook para rodar os testes do rspec antes de um commit. O lefthook irá rodar o comando bundle exec rspec
nos arquivos que estão staged para commit. Ou seja, apenas os arquivos que foram modificados serão testados.
A tag backend test
é uma forma de agrupar os comandos. Você pode ter vários comandos com a mesma tag, e rodá-los todos de uma vez. Isso é especialmente útil para executar diferentes grupos, como testes de frontend e backend e etc.