Comment j'automatise l'utilisation Conventional Commits ?

portrait de l'auteur

Écrit par Vincent Delmotte

Le 21 août 2024

Vous en avez assez des messages de commit mal formatés qui compliquent le suivi des changements dans vos projets ? Découvrez comment j'automatise l'utilisation des Conventional Commits avec une série d'outils puissants et simples à configurer.

Suite à mon dernier post sur le conventional commits, je vous explique comment j’automatise l’utilisation de conventional commits.

Commitlint

Logo de commitlint

Pour commencer nous avons l’outil Commitlint qui permet de faire du linting sur les message de commit.

Le principe est de remonter toutes les erreurs de format afin d’aider le développeur à rédiger un message de commit respectant le conventional commit.

Pour rendre le lint automatique, je couple Commitlint à husky afin de lancer la commande de lint à chaque fois qu’un développeur effectue un commit.

Pour celle et ceux qui ne seront pas familier avec husky voici un article qui présente l’outil : https://medium.com/@saravanan109587/husky-the-secret-weapon-for-developers-who-want-to-write-better-code-3289b06ee4d0#:~:text=Husky is a tool that,your code and prevent errors.

Voici le lien vers la documentation de commitlint : https://commitlint.js.org/

Commitlint CLI (Command Line Interface)

Il est possible d’utiliser un CLI avec commitlint en installant le package NPM suivant : @commitlint/cli.

La CLI permet de donner un template aux développeurs afin qu’ils ne doivent pas se référer à la documentation à chaque fois que ces derniers rédigent un message de commit.

Pour obtenir la CLI il suffit d’exécuter la commande suivante une fois le package installé

npm run cz

Voici à quoi ressemble la CLI :

Première étape de la CLI Les autres étapes de la CLI

Personnellement, je passe par un script npm me permettant de lancer la CLI de la façon suivante :

npm commit

Outil pour le pair/mob programing

Étant un fervent partisan du pair/mob progaming, j’utilise le wrapper https://www.npmjs.com/package/cz-conventional-changelog-coauthors qui me permet d’avoir la possibilité d’ajouter des co-auteur à mes commits.

Pour cela, il suffit d’ajouter un fichier de configuration .czrc à la racine de votre projet puis renseigner l’ensemble des nom/prénom et adresse mail des différents membres de l’équipe.

Ainsi à chaque fois que vous faites un commit, vous pouvez facilement ajouter tous les membres ayant participé au développement en les sélectionnant dans la CLI de commit.

Voici les lignes qui sont ajoutées dans la CLI

Étape de co-auteur de la CLI

Voici un exemple de mon fichier de configuration

// .czrc
{
    "path": "cz-conventional-changelog-coauthors",
    "defaultCoAuthors": [
        {
            "name": "Elon Musk",
            "email": "elon.musk@spacex.com"
        },
        {
            "name": "Jeff Bezos",
            "email": "jeff.bezos@amazon.com"
        }
    ]
}

Conclusion

Voilà les différents outils que j’utilise pour respecter le conventional commits sans le moindre effort. N’hésitez pas à me partager vos outils permettant de respecter le conventional commits si vous en utilisez d’autres que moi !

← Voir tous les articles