Husky + lint-staged

Testing 🟡 Mid

Definition

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.
#qualite#tooling#git