evolution-api/.husky
Davidson Gomes 805f40c841 feat: add code quality tools and security policy
- Configure Husky with pre-commit and pre-push hooks
- Add commitlint for conventional commit validation
- Create comprehensive security policy (SECURITY.md)
- Add GitHub Actions for security scanning and dependency review
- Create PR and issue templates for better collaboration
- Add Canny.io references for community feedback
- Fix path traversal vulnerability in /assets endpoint
- Create MySQL schema sync analysis tools
2025-09-17 15:05:17 -03:00
..
commit-msg feat: add code quality tools and security policy 2025-09-17 15:05:17 -03:00
pre-commit feat: integrate Husky and lint-staged for automated code quality checks; update changelog and README for new features 2025-09-17 14:49:26 -03:00
pre-push feat: integrate Husky and lint-staged for automated code quality checks; update changelog and README for new features 2025-09-17 14:49:26 -03:00
README.md feat: integrate Husky and lint-staged for automated code quality checks; update changelog and README for new features 2025-09-17 14:49:26 -03:00

Git Hooks Configuration

Este projeto usa Husky para automatizar verificações de qualidade de código.

Hooks Configurados

Pre-commit

  • Arquivo: .husky/pre-commit
  • Executa: npx lint-staged
  • Função: Executa lint e correções automáticas apenas nos arquivos modificados

Pre-push

  • Arquivo: .husky/pre-push
  • Executa: npm run build + npm run lint:check
  • Função: Verifica se o projeto compila e não tem erros de lint antes do push

Lint-staged Configuration

Configurado no package.json:

"lint-staged": {
  "src/**/*.{ts,js}": [
    "eslint --fix",
    "git add"
  ],
  "src/**/*.ts": [
    "npm run build"
  ]
}

Como funciona

  1. Ao fazer commit: Executa lint apenas nos arquivos modificados
  2. Ao fazer push: Executa build completo e verificação de lint
  3. Se houver erros: O commit/push é bloqueado até correção

Comandos úteis

# Pular hooks (não recomendado)
git commit --no-verify
git push --no-verify

# Executar lint manualmente
npm run lint

# Executar build manualmente  
npm run build