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:
- Partie 1: http://julienroche.blogspot.fr/2015/10/tache-gulp-pour-mettre-jour-la-version.html
- Partie 2: http://julienroche.blogspot.fr/2015/10/tache-gulp-pour-mettre-jour-la-version_24.html
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:
npm protip: `npm version major -m "bump to version %s"` will create a git commit hash, with this message & version num @seldo #FluentConf— Guy Podjarny (@guypod) 9 mars 2016
Et je me suis dit: tiens, NPM le gère naturellement. Et en effet, quand nous tombons sur ce lien, nous pouvons voir:
- 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
Enregistrer un commentaire