npm Bordmittel
Bei Verwendung von npm update
wird semver berücksichtigt. Das heißt, je nach Definition in eurer package.json Datei, erhalten eure Module Patch bzw. Minor releases. Das ergibt Sinn, da man sich bei Major Releases die potentiellen Breaking changes schon genauer ansehen sollte.
npm outdated
dagegen zeigt einem auch Updates ausserhalb der definierten semver ranges an:
$ npm outdated
Package Current Wanted Latest Location
chalk 2.4.1 2.4.1 2.4.2 check-packages
coveralls 3.0.2 3.0.2 3.0.3 check-packages
eslint 5.6.0 5.6.0 5.14.1 check-packages
jest 23.6.0 23.6.0 24.1.0 check-packages
load-json-file 5.1.0 5.1.0 5.2.0 check-packages
ora 3.0.0 3.0.0 3.1.0 check-packages
Allerdings überlässt es euch dann die entsprechenden Pakete via npm install paketName@latest
upzudaten.
Dedizierte CLI Apps
Will man es ein bisschen bequemer haben bietet es sich an eine kleine CLI App aus dem npm Öko-System zu installieren.
npm-check-updates
Ein sehr schönes einfaches Tool ist npm-check-updates
. Zunächst ist es global zu installieren:
npm install -g npm-check-updates
Danach kann das Modul in jedem Projektverzeichnis genutzt werden um Updates anzuzeigen:
ncu
Die Ausgabe zeigt potentielle Updates an ohne etwas zu verändern:
chalk 2.4.1 → 2.4.2
load-json-file 5.1.0 → 5.2.0
ora 3.0.0 → 3.1.0
coveralls 3.0.2 → 3.0.3
eslint 5.6.0 → 5.14.1
jest 23.6.0 → 24.1.0
Run ncu with -u to upgrade package.json
Also sind hiernach zwei Schritte nötig um alle Dependencies auf den neuesten Stand zu bringen und zu testen.
ncu -u
npm install
Weitere Infos und CLI Optionen finden sich auf GitHub.
updtr
Noch mehr Automatisierung bietet updtr
. Es installiert zunächst modulweise alle latest Updates und führt im Anschluss via npm test
die Tests aus. Bricht ein Update die Tests wird das Update des entsprechend Modules verworfen.
Ebenso wie bei ncu
lassen sich Module ausschließen. Weitere Infos ebenfalls auf GitHub.
npm-check
Eine weitere komfortable Möglichkeit ist die interaktive Auswahl der zu aktualisierenden Module via npm-check -u
. Weitere Infos auf GitHub.
Hinweis: Nutzer des alternativen npm Clients Yarn benötigen hierfür kein weiteres zu installierendes Tool. Hier führt yarn upgrade-interactive --latest
zu einem vergleichbaren Erlebnis.