Husky, Prettier et Eslint en pre-commit hook

Il te manque un point virgule et un espace dans cette parenthèse

Qui n'a jamais vu ce type de remarque dans une review sur une PR ? Ce type de remarques vient polluer l'esprit du relecteur et potentiellement lui faire louper le réel problème d'implémentation de la feature.

Ce type de problème est très bien géré par des outils d'analyse et de formatage de code, autant s'en servir au maximum.

Husky

Husky est un outil permettant d'exécuter simplement des contrôles grâce aux hooks git. Dans le cadre de mon travail actuel chez max, nous voulions mettre en place des contrôles de qualité de code avec ESlint et du formatage automatique avec Prettier.

Nous utiliserons le hook pre-commit afin de vérifier que les fichiers sont en ordre pour être commit.

ESLint

Afin de ne pas plomber les performances des commits et ne pas scruter tout le code legacy (pas forcément aux normes ESLint), il convient de lancer l'outil uniquement sur les fichiers staged pour le commit. L'outil eslint-staged-files permet de remplir cette mission.

Prettier

Afin de faire le formatage automatique uniquement sur les lignes modifiées dans le commit, il faut utiliser l'outil precise-commit. De cette manière, même si un développeur n'a pas l'autosave prettier activé sur son IDE, le formatage sera tout de même respecté.

lerna

Si vous utilisez lerna, veuillez bien installer les dépendances à la racine du projet :

yarn -W -D husky eslint eslint-staged-files precise-commits

Ajouter un rétrolien

URL de rétrolien : http://sylvainlg.fr/blog/index.php?trackback/470

Haut de page