Sommaire


Husky : votre assistant git !
Catégories associées : , ,

Lorsqu'on veut automatiser des traitements, se faciliter la vie en dev, faire en sorte de des vérifications s'exécutent toute seules, ... On a besoin d'un outil fabuleux et flexible, un outil génial qui utilise les hooks de git : Husky 🐶

Husky est un outil qui permet d'écouter des évènements (déclenchés par nos interactions avec git, comme git commit, git push, ...) et d'exécuter à ce moment-là des actions qu'on lui aura demandé.

Installations et paramétrages

Avant de commencer, nous avons besoin d'un dossier de travail.

Dans ce dossier, on fera un git init, pour créer le dossier git.

Installation de Husky

# Installation du package husky, seulement pour le développement :
npm install –save-dev husky

# Ajout au package.json la commande d'installation de husky,
# pour une installation complète par d'autres développeurs
npm pkg set scripts.prepare='husky'

# Lancement de la préparation (ne se fait qu'une fois, ensuite on ne fera que npm install)
npm run prepare

# Ajout du node_modules à .gitignore
echo '/node_modules/' >> .gitignore

En faisant chacune de ces commandes, on se retrouve avec de nouveaux dossiers et fichiers dans le projet, notamment un dossier .husky dans lequel nous allons ajouter des fichiers.

Mettre en place des automates

À partir de là, on va pouvoir faire pleins de paramétrages complémentaires pour se faciliter la vie. Voici quelques exemples que j'ai traité sur ce site :

Il est aussi possible ici d'installer des outils pour mettre en forme son code, comme prettier. Personnellement je n'aime pas la mise en forme qu'il propose dans certains cas (paramètres de fonctions, ...) et je préfère garder la main sur ça. Surtout qu'il existe de nombreux outils de formatage à intégrer directement dans les IDE, comme par exemple editorconfig, je n'ai pas envie d'avoir toute la mise en forme qui saute au moment du commit. Si jamais ce n'est pas votre cas, vous pouvez regarder ce tuto.

Bon dev !

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.