Mise en oeuvre des hooks Git avec Husky

Husky est un outil qui facilite l’utilisation des Hooks Git. Il tourne avec la plateforme NodeJs. Des outils similaires sont disponibles pour les autres plateformes aussi ici

1. Installation de NodeJs

Pour installer NodeJs, il suffit de récupérer à l’adresse https://nodejs.org/en/download/ l’installeur qui convient à votre système d’exploitation.

Une fois installée, nous pouvons via l’invite de commande executer la commande :

node -v

pour s’assurer de son bon fonctionnement.

2. Installation de Pnpm

Pnpm est un utilitaire NodeJs qui va nous permettre de gérer les dépendances de notre projet. Nous pour suivre les instructions à l’adresse https://pnpm.io/installation pour l’installer ou simplement executer la commande :

npm i -g pnpm

ensuite executer la commande :

pnpm -v

pour s'assurer de son bon fonctionnement.

3. Installation de Husky

Il suffit d'executer la commande ci-dessous pour installer Husky :

npm i -g husky

pnpm add -D husky

Configuration générale et ajout de hooks

On partage l’initialisation des hooks (au cas où) en l’intégrant via le script de cycle de vie "prepare" du fichier package.json.

npm pkg set scripts.prepare="husky install"

Nous saisissons ensuite la commande :

pnpm prepare

pour nous aider à préparer notre projet à l’utilisation de l’outil (Husky).

Nous verrons apparaître un dossier .husky à la racine projet confirmant que la commande précédente c’est correctement exécuté.


husky-install

4. Ajouter un hook spécifique avec Husky

Nous allons executer la commande suivante afin de rajouter un message avant le commit en utiliser le hook pre-commit :

npx husky add .husky/pre-commit "echo 'Commit en cours'"

ci-dessous, le resultat attendu


husky-add-pre-commit

Il nous suffit de tester le bon fonctionnement du hook en faisant un commit à l'aide des commandes :

git add .
git commit -m "Configuration de husky"

husky-pre-commit-hook-test