Husky + lint-staged

Testing 🟡 Mid

Définition

Husky exécuté des gît hooks (pre-commit, pre-push) et lint-staged applique des commandes (lint, format) uniquement sur les fichiers stages. Ensemble, ils garantissent la qualité avant chaque commit.

Analogie

Comme un vigile a l'entrée d'un club : il vérifie 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

Exécuter le lint sur tout le projet au lieu des fichiers stages, rendant le hook pre-commit trop lent.
#qualite#tooling#git

← → au clavier pour passer d'une fiche à l'autre