Husky + lint-staged
Testing 🟡 MidDefinition
Husky execute des git hooks (pre-commit, pre-push) et lint-staged applique des commandes (lint, format) uniquement sur les fichiers stages. Ensemble, ils garantissent la qualite avant chaque commit.
Analogie
Comme un vigile a l'entree d'un club : il verifie la tenue de chaque personne (fichier) avant de la laisser entrer (commiter).
Exemple de code
// package.json
{
"lint-staged": {
"*.{js,ts}": ["eslint --fix", "prettier --write"],
"*.css": ["prettier --write"]
}
}
// .husky/pre-commit
// npx lint-staged
Cas d'usage
Pour bloquer automatiquement les commits contenant des erreurs de lint ou de formatage.
Anti-pattern
Executer le lint sur tout le projet au lieu des fichiers stages, rendant le hook pre-commit trop lent.