Pre-commit Hooks
Scripts qui s'exécutent automatiquement avant la création d'un commit git, utilisés pour appliquer des standards de qualité de code, exécuter des linters et empêcher le commit de code problématique.
Definition
Les pre-commit hooks font partie du système de hooks de Git (.git/hooks/pre-commit). Ils peuvent bloquer les commits qui échouent aux vérifications. Utilisations courantes: exécuter des linters (ESLint, Prettier), vérifier les secrets, exécuter des tests unitaires et appliquer des formats de messages de commit. Des outils comme Husky (Node.js), pre-commit (Python) et Lefthook facilitent la gestion des hooks.
Pourquoi c'est important
Les pre-commit hooks déplacent les vérifications de qualité vers la gauche, capturant les problèmes avant que le code ne soit committé ou poussé. Cela fournit un feedback immédiat aux développeurs et empêche de polluer l'historique git avec des commits "fix lint". Ils complètent (mais ne remplacent pas) les vérifications CI.
Exemple
Un développeur essaie de committer du code avec des déclarations console.log. Le pre-commit hook exécute ESLint, qui détecte la violation no-console et bloque le commit avec un message d'erreur.