NodeJs et le bumping: déjà présent !

Il y a quelques temps déjà, j'avais écris des petits articles pour montrer comment faire un bumping en Gulp pour gérer ses projets NodeJs:

Je pensais que le bumping était quelque chose que nous devions faire "manuellement" à moins de se faire un petit outils.

Et très récemment, je suis tombé sur ce tweet:



Et je me suis dit: tiens, NPM le gère naturellement. Et en effet, quand nous tombons sur ce lien, nous pouvons voir:



Et cette commande a pour vocation de:

  • Mettre à jour la version du fichier package.json (bumping)
  • Mettre à jour si présent le fichier npm-shrinkwrap.json (dans le cas où nous faisons du shrinkwrap !)
  • Créer un commit Git
  • Créer un tag Git


Avant d'utiliser la commande "npm version", il faut d'abord faire un petit tour autour de Git et de NPM.

Tout d'abord, vous pouvez "sécuriser" l'opération en configuration NPM pour que le mot de passe Git soit demandé à chaque fois. Pour cela il suffit d'utiliser la ligne de commande suivante:

> npm config set sign-git-tag true


Et on obtient bien:





Ensuite, vous pouvez faire le bumping ! Un exemple tout bête:

> npm version patch -m "Upgrade to %s for reasons"


Que pouvons-dire d'autre ?


Tout d'abord nous pouvons si nous souhaitons spécifier un message de bump pour le commit et le tag Git.

Nous pouvons dire également que nous pouvons si nous le souhaitons mettre à jour uniquement le fichier package.json et shrinkwrap.. Pour cela, il faudra utiliser l'option "git-tag-version".


Pour l'utiliser:

  • Soit vous le configurer en global
    • > npm config set git-tag-version false

  • Soit vous le spécifier lors de l'appel:
    • > npm version patch --no-git-tag-version

Nous avons à notre disposition comme pour toute commande NPM la possibilité de définir une action avant, pendant et après la commande "npm version". Un petit exemple:

"scripts": {
  "preversion": "npm test",
  "version": "npm run build && git add -A dist",
  "postversion": "git push && git push --tags && rm -rf build/temp"
}

Si nous regardons les étapes:
  • Nous lançons avant les tests
  • Nous compilons l'application et nous rajoutons toutes les différences pour le prochain commit Git
  • Une fois que le "npm version" est fait, nous poussons le commit et le tag Git

Plutôt sympa !


Enfin, nous pouvons spécifier le bumping. Les plus courants sont évidemment "major", "minor", "patch", mais vous pouvez également faire "premajor", "preminor", "prepatch".

Enjoy !

Commentaires

Posts les plus consultés de ce blog

ISO: liens & outils utiles

NodeJs et SSL: une petite analyse

Créer sa commande slack en quelques minutes