Thanks to visit codestin.com
Credit goes to github.com

Skip to content

frontBOI/cz-emoji

 
 

Repository files navigation

cz-frontboi

██╗     ███████╗     ██████╗ ██████╗ ███╗   ███╗███╗   ███╗██╗████████╗    ██████╗ ██████╗  ██████╗ ██████╗ ██████╗ ███████╗
██║     ██╔════╝    ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██║╚══██╔══╝    ██╔══██╗██╔══██╗██╔═══██╗██╔══██╗██╔══██╗██╔════╝
██║     █████╗      ██║     ██║   ██║██╔████╔██║██╔████╔██║██║   ██║       ██████╔╝██████╔╝██║   ██║██████╔╝██████╔╝█████╗
██║     ██╔══╝      ██║     ██║   ██║██║╚██╔╝██║██║╚██╔╝██║██║   ██║       ██╔═══╝ ██╔══██╗██║   ██║██╔═══╝ ██╔══██╗██╔══╝
███████╗███████╗    ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║   ██║       ██║     ██║  ██║╚██████╔╝██║     ██║  ██║███████╗
╚══════╝╚══════╝     ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚═╝╚═╝   ╚═╝       ╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚═╝     ╚═╝  ╚═╝╚══════╝
⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜⚜
frontBOI - 1.3.5

? Type de commit: (Use arrow keys)
❯ feat      ✨  Introduction d'une nouvelle fonctionnalité
  fix       🩹  Correction de bug
  ci        🦊  Modification de la CI
  test      🧪  Ajout de test
  build     🧰  Changements affectant le système de build ou les dépendances
  docs      📝  Documentation
  perf      ⚡️  Amélioration de performances

Vous souhaitez uniformiser les messages de commit des développeurs de votre équipe ? N'attendez plus et utilisez le ✨commit propre✨.

Cet adapteur de commitizen ajoute des émoticônes et personnalise l'affichage pour simplifier les tâches de commit. Il a été pensé pour suivre à la lettre les spécifications des conventions de commit, toutefois il offre une palette de personnalisation vous permettant de l'adapter à votre manière de travailler. Plus besoin de se prendre la tête en équipe !

Cet outil a été spécialement créé pour les équipes françaises !

Installation

Je recommande d'installer ce package en local, pour vous permettre de le personnaliser sur chaque projet. Notez bien qu'il est nécessaire d'installer commitizen pour que ce package fonctionne.

En local

npm install --save-dev commitizen
npm install --save-dev @frontboi/cz-frontboi

Puis ajouter cette configuration à votre package.json:

"config": {
  "commitizen": {
    "path": "@frontboi/cz-frontboi"
  }
}

Globalement

Vous pouvez aussi choisir d'installer cz-frontboi globalement sur votre machine, afin de profiter de la configuration sur l'ensemble de vos projets.

npm i -g commitizen
npm i -g @frontboi/cz-frontboi

# le définir en tant qu'adapteur par défaut pour vos projets
echo '{ "path": "@frontboi/cz-frontboi" }' > ~/.czrc

Utilisation

Global

Si vous avez installé cz-frontboi globalement, vous n'avez qu'à exécuter cette commande

$ cz

Local

yarn

Vous l'avez installé localement ? Il faut exécuter la même commande mais via yarn; ainsi, l'adapteur prendra le relai:

yarn cz

npm

Si vous désirez toutefois utiliser npm, ajoutez ceci à votre package.json:

"scripts": {
  "commit": "npx cz"
}

Et ensuite, l'adapteur prendra le relai en jouant cette commande:

npm run commit

Les différentes questions

Par défaut, quatre questions répondant aux conventions de commit sont posées au développeur prêt à commiter son travail:

  • type: type de commit
  • scope: cadre général du commit (optionnel)
  • description: description du commit
  • body: opinionated le numéro de ticket concerné par le commit (par défaut, le nom de la branche git courante)
  • breaking_change: permet de renseigner si le commit comprend un changement majeur. (optionnel)

Il vous est toutefois largement possible de personnaliser votre expérience cz-frontboi en mettant à profit les différentes options proposées ci-dessous...

Personnalisation

Par défault, cz-frontboi est livré prêt à fonctionner pour les équipes françaises, garni de tous les types de commit offerts par la nomenclature Angular. Votre utilisation peut toutefois varier: j'offre donc quelques options de configuration.

Comment faire ?

La configuration de cz-frontboi peut être gérée directement au global dans le répertoire personnel de l'utilisateur via le fichier de configuration dédié ~/.czrc. S'il n'existe pas encore, créez-le de cette manière:

touch ~/.czrc

puis écrivez-y cette ligne, nécessaire pour que commitizen fonctionne:

{
  "path": "@frontboi/cz-frontboi"
}

Ce fichier permet de configurer l'outil sur tous les projets. Il peut aussi être configuré par projet (soit via un fichier .czrc à la racine du projet, soit via le package.json du projet). Ajoutez simplement la propriété config comme indiqué ci-dessous à l'objet existant avec vos paramètres pour les remplacer.

{
  "config": {
    "cz-frontboi": {
      "skipQuestions": ["body"],
      "path": "@frontboi/cz-frontboi"
    }
  }
}

Options de configuration

Par défaut, cz-frontboi est préconfiguré avec un sous-ensemble de types liés à des émoticônes choisis selon mes préférences. Vous pouvez voir ces configurations dans le fichier types.json, dans lequel se trouvent tous les types disponibles pour un commit.

Ajouter un type de commit

Si vous avez besoin d'ajouter un type, renseignez-le en tant qu'objet JSON dans un tableau à l'intérieur du champ types (qui se trouve dans le champ de personnalisation config):

{
  "types": [
    {
      "emoji": "💡",
      "code": ":bulb:",
      "description": "Une super nouvelle idée",
      "name": "Idée"
    }
  ]
}

Vous pouvez choisir de ne conserver que les types que vous avez déclarés et d'écarter les types natifs en renseignant la propriété overrideNativeTypes à true :

{
  "config": {
    "cz-frontboi": {
      "types": ["vos propres types ici"],
      "overrideNativeTypes": true
    }
  }
}

Supprimer un type

Pour supprimer un type préexistant, ajoutez son nom dans le champ skipTypes. Par exemple, si vous souhaitez supprimer les types feat et fix, ajoutez-les de cette manière :

{
  "config": {
    "cz-frontboi": {
      "skipTypes": ["feat", "fix"]
    }
  }
}

Supprimer une question

Vous pouvez ignorer les questions par défaut que vous jugez non pertinentes. Pour ce faire, indiquez la ou les questions que vous souhaitez ignorer :

{
  "config": {
    "cz-frontboi": {
      "skipQuestions": ["breaking_change", "scope"]
    }
  }
}

❗️ ATTENTION: vous ne pouvez pas ignorer la question description; elle est obligatoire.

Personnaliser les questions

La façon dont les questions sont formulées est fortement influencée par mon opinion, et vous pouvez la trouver déplacée. N'hésitez pas à fournir un objet qui contient un texte de remplacement des questions originales :

{
  "config": {
    "cz-frontboi": {
      "questions": {
        "breaking_change": "Ce texte sera affiché à la place du texte original"
      }
    }
  }
}

Personnaliser les scopes

Un scope fournit des informations contextuelles supplémentaires (telles que la fonctionnalité générale concernée). Par défaut, les scopes sont entrés par un input dans lequel le développeur saisi le texte de son choix. Vous pouvez cependant fournir un tableau qui contient une liste réduite de scopes à partir de laquelle le développeur devra sélectionner son scope. Un scope est déclaré comme un objet avec deux propriétés obligatoires :

  • nom : le texte qui sera affiché dans la liste des scopes.
  • value : la valeur qui sera insérée dans le message de commit.

Voici un exemple:

{
  "config": {
    "cz-frontboi": {
      "scopes": [
        { "name": "💻 front", "value": "front" },
        { "name": "💾 back", "value": "back" },
        { "name": "📦 CI/CD", "value": "CI/CD" }
      ]
    }
  }
}

Personnaliser la longueur maximale de la description

{
  "config": {
    "cz-frontboi": {
      "descriptionMaxLength": 200
    }
  }
}

Licence

MIT © Tom Blanchet

About

Adaptation de Commitizen pour y intégrer des emojis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%