NPM: aktualizace závislostí

22.12.2019
2 min read
237 words

Jak poznat, že máte neaktualizované NPM balíčky a jak je aktualizovat.

Držet projekt na posledních verzích knihoven není lehká věc. Člověk rychle zabředne do doručovaní nových feature a přestane aktualizovat svůj stack.

Pokud se jedná o NPM svět, tak máte téměř jistotu, že každý den vyjde nová verze nějaké knihovny, co právě používáte.

Jak tedy zjistit co aktualizovat? Pomůže nativní command.

npm outdated

Výstup z npm outdated může vypadat třeba takto.

$ npm outdated
Package                    Current  Wanted  Latest  Location
@mdi/font                   3.3.92  3.4.93  3.4.93  @topsecred
@sentry/browser              4.5.3   4.6.1   4.6.1  @topsecred
anychart                     8.5.0   8.5.1   8.5.1  @topsecred
bootstrap                    4.2.1   4.3.1   4.3.1  @topsecred
codemirror                 MISSING  5.43.0  5.43.0  @topsecred
highlight.js                9.13.1  9.14.2  9.14.2  @topsecred
moment                     MISSING  2.24.0  2.24.0  @topsecred
popper.js                   1.14.6  1.14.7  1.14.7  @topsecred
sortablejs               1.8.0-rc1   1.8.3   1.8.3  @topsecred
tinymce                      4.9.2   4.9.3   5.0.0  @topsecred
tributejs                    3.5.0   3.5.3   3.5.3  @topsecred
trumbowyg                   2.13.0  2.14.0  2.14.0  @topsecred
vue                         2.5.21   2.6.6   2.6.6  @topsecred
vuex                         3.0.1   3.1.0   3.1.0  @topsecred
nette-forms                  2.4.9   2.4.9   3.0.0  @topsecred
webpack-bundle-analyzer      3.0.3   3.0.4   3.0.4  @topsecred

Pokud používáte PhpStorm, tak podobný výpis naleznete na Languages & Frameworks -> Node.js and NPM.

PhpStorm NPM outdated
PhpStorm NPM outdated

Poté můžete aktualizovat všechny balíčky a nebo jenom vybrané. Defaultně nám NPM updatuje jenom balíčky pod klíčem dependencies, pro vývojové zavislosti přidáme nakonec --dev.

# dependencies
npm update

# solo dependency
npm update vue

# devDependencies
npm update --dev

Jak aktualizujete NPM balíčky vy? Máte nějaké osvědčené rady a triky?

Currently working

I am currently digging deeper to serverless stuf. Also trying to do my best around Nette [contributte.org & componette.org]. Taking care of 242 libraries across various Github organizations.