Antes de comprometer

Existem certas ações que devem ser executadas antes que o código entre no commit e no repositório, para pelo menos não sofrer posteriormente com o rebase todas as vezes. A solução que vou descrever é curta e simples, mas torna a vida do desenvolvedor muito mais fácil.





O propósito mais óbvio é executar testes, mas para mim também é construir um pacote. Já que eu não uso watch e regularmente me esqueço de executar o comando build manualmente, versões irrelevantes de bundles são frequentemente inseridas no commit, e os atuais têm que ser confirmados em seguida. Acontece que não é muito legal. Para javascript, o utilitário pre-commit nos ajudará. Ele usa o hook gita, mas dá a você a oportunidade de não entrar em todas essas entranhas e gerenciar a galáxia sem sair do npm. Além disso, essa mecânica não será esquecida ao alterar o repositório.





Vamos de uma forma prática: adicione a biblioteca ao projeto





npm i pre-commit --save-dev
      
      



Em package.json, adicione o comando build à seção pré-commit





"pre-commit": [
 "build"
],
      
      



No entanto, os arquivos do pacote coletados não serão incluídos no commit, uma vez que O git precisa indicar explicitamente os arquivos modificados e adicionados e adicionar tudo parece muito perigoso. Para que tudo comece a funcionar corretamente, vamos definir o comando add-bundles que adiciona arquivos de bundle.





"scripts": {
 "build": "npx rollup --config rollup.config.js",
 "add-bundles": "git add dist/*",
 "test": "echo \"Error: no test specified\" && exit 1"
},
      
      



E adicione o próprio comando à seção de pré-confirmação





"pre-commit": [
 "build", "add-bundles"
],
      
      



Agora, um pouco antes do commit, o pacote é imediatamente montado e adicionado ao commit. Se você precisar de um exemplo funcional completo, há um no repositório desta biblioteca .





Este pacote tem análogos para outros ganchos, por exemplo, este .








All Articles