I've always hated updating my npm dependencies manually. It's a very annoying and tedious work. I know there is already npm update
but it only updates the packages internally and does not update the package.json
with the latest version tags.Therefore I ended up creating Syzer
Syzer is a node CLI tool that checks your package.json for outdated dependencies and updates it with the latest versions available.
Usage:
$ syzer
$ syzer --update || syzer -u
$ syzer -u -i <package_name>
Options:
--update, -u updates package.json.
--ignore, -i added right after -u to ignore specific packages.
--version, shows the npu current version.
--help, shows the user guide.
Example:
$ syzer
//shows all the packages.outdated packages are highlighted.
$ syzer -u
//updates all the outdated packages to its latest versions.
//or
$ syzer -u -i express nodemon
//updates all the packages except express & nodemon.
$ npm install
//then running npm install will install the latest dependencies
This updates your package.json with the latest version tags. Then just run our usual npm install
to install the latest updated packages. 🚀
The reasons behind building this: 📝
1) I personally hate updating my project dependencies manually.
2) There are other similar libraries that do the same thing but I tried one and too much config. Also, I didn't like the idea of specifying the package.json file to update it. then what was the point of using that library. So ended up creating one myself.
3) npm update
already exists I know but it does not update the package.json file with the latest version tags.
for more info on how to use the tool check, it's README(https://github.com/rocktimsaikia/syzer)
Top comments (2)
Interesting post - will be checking Syzer out! I used npm-check-updates and both seem very similar 👍
thanks Initially I was using that too. But there were some problems I had with it then after going through few issue threads found out that I had to specify the package.json file manually which totally ruined it for me. idk if that issue still exists but I wanted to create one for my personal use which had minimal configuration. so here it is 🎉