Início Profile Projeto
Avatar de

Matheus Nunes Boraso

husky-commitlint-translate

  • shell
  • javascript
🪧 Vitrine.Dev
Nome husky-commitlint-translate
🏷️ Tecnologias shell, javascript (tecnologias utilizadas)

Detalhes do projeto

O projeto husky-commitlint-translate visa facilitar e padronizar o processo de commits em projetos de desenvolvimento por meio do uso do Commitlint, Husky e um tradutor automático. O objetivo é fornecer uma ferramenta que garanta a consistência nas mensagens de commit e facilite a colaboração entre desenvolvedores de diferentes idiomas.

Instalação

Para configurar o projeto pessoal, siga os passos abaixo:

Passo 1: Instale a dependência do commitlint

Abra o terminal e execute o seguinte comando:

npm install --save-dev @commitlint/cli

Passo 2: Instale a configuração de commit convencional

Execute o seguinte comando no terminal:

npm install --save-dev @commitlint/config-conventional

Passo 3: Instale o husky

No terminal, digite o seguinte comando:

npm install husky -D

Passo 4: Instale o tradutor

Digite o seguinte comando no terminal:

npm install bing-translate-api

Passo 5: Configure o caminho dos hooks do Git

Execute o seguinte comando no terminal:

npx husky-init; npx husky add .husky/commit-msg 'npx --no -- commitlint --edit "$1"'

Passo 6: translate-commit.js

Crie uma pasta chamada scripts na raiz do seu projeto pessoal, caso ainda não exista.

Agora, copie o arquivo scripts/translate-commit.js do meu projeto já configurado para dentro da pasta scripts do seu projeto.

Passo 7: commitlint.config.js

Copie o arquivo commitlint.config.js já configurado do meu projeto para a raiz do seu projeto pessoal.

Caso haja problemas no editor ou no arquivo, certifique-se de que a codificação esteja definida como UTF-8

Passo 8: husky

Dentro da pasta .husky do seu projeto, crie um arquivo chamado commit-msg ou edite o arquivo existente com as seguintes linhas:

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

node scripts/translate-commit.js && npx commitlint --edit $1

As instruções acima irão configurar o ambiente para uso do commitlint com o husky e o tradutor de commits em seu projeto pessoal.

Demonstração

Execute no terminal:

git add .
git commit -m "foo: isso aqui vai falhar"

Saída:

ⓘ   original:  foo: isso aqui vai falhar

✔   translation:  foo: this here is going to fail

⧗   input: foo: this here is going to fail
✖   type must be one of [build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test] [type-enum]

✖   found 1 problems, 0 warnings
ⓘ   Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint

husky - commit-msg hook exited with code 1 (error)

Mas por que falhou?

foo: isso aqui vai falhar

A mensagem do commit precisa começar com um dos seguintes prefixos:

feat - Para novas funcionalidades

fix - Para correção de bugs

docs - Apenas para alterações na documentação

style - Para alterações que não afetam o significado do código

refactor - Para alterações de código que não corrigem bugs nem adicionam funcionalidades

perf - Para alterações de código que melhoram o desempenho

test - Para adicionar testes ausentes ou corrigir testes existentes

build - Para alterações que afetam o sistema de construção ou dependências externas

ci - Para alterações em arquivos e scripts de configuração de integração contínua

chore - Para outras alterações que não modificam arquivos de código-fonte ou de teste

revert - Para reverter um commit anterior