Articles

Affichage des articles associés au libellé shrinkwrap

NPM4 & shrinkwrap: soyez prudent, car changement de comportement !

Il y a quelques mois j'avais fait un article autour de shrinkwrap pour montrer sa grande utilitée:  http://julienroche.blogspot.fr/2016/01/npm-shrinkwrap.html Néanmoins, j'ai pu constater un changement de comportement depuis NPM4 (qui a été détectée ) En effet, avant, si nous faisons la commande suivante: > npm shrinkwrap Sur NPM2, seul les dépendances déclarer dans "dependencies" du package.json étaient pris en compte. Et si nous voulions avoir aussi celle de "devDependencies", il faudrait ajouter l'option "--dev" Sur NPM4, nous avons ... toutes les dépendances ! Aussi bien celle de "dependencies" que de "devDependencies" ! Du coup, il existe cette fois-ci une option NPM pour pallier à ça via " only ". En ligne de commande: > npm shrinkwrap --only=prod Dans le fichier .npmrc: save-exact=true sign-git-tag=false strict-ssl=false only=prod

NPM & Shrinkwrap

Image
Cet article a pour vocation de faire découvrir une commande méconnue de NPM qui est shrinkwrap. Nous allons avoir que dans un context projet et surtout avec une équipe, cela a un sens important de l'intégrer dans son cycle de vie. Petit rappel de ce qu'est la convention "semver" Pour rappel, la numérotation d'un module NodeJs se repose sur la convention  semver . Le principe est simple: nous avons une version basé sur trois chiffres, séparés par des points. Le premier chiffre est le "major version". Cela veut dire que lorsque ce numéro change, nous avons un changement majeur dans le module, apportant potentiellement des "breaking changes". Donc en générale, quand nous mettons à jour un module dont le premier chiffre change, nous pouvons nous attendre à avoir à réadapter notre code. Le second est le "minor version". En somme, c'est tout simplement une version stable. Mettre à jour un module dont seul le deuxième numé...