I have been doing a fair amount of work lately with the Node.JS Loopback framework.
The more I use the framework, the more I find myself enjoying it.
But, there’s one thing about Loopback – and pretty much every Node development project I have worked on – that I find needlessly time consuming:
Finding the latest versions of your NPM dependencies.
Up until very recently, the way I was doing this was comically laborious.
I would open the package.json file, take a look at the installed packages:
And then… *cringe*, head over to NPMJS, manually search for each project, then take a note of the latest version:
And pop that info into my
package.json file. Rinse and repeat for all the NPM dependencies in my project.
This is 2015. There has to be a better way.
And there is.
Using Node to Update Your NPM Dependencies
There’s a really useful package for keeping your NPM dependencies up to date with the very latest versions – it’s called NPM Check Updates (NCU) by Tomas Junnonen.
Straight from the ReadMe:
npm-check-updates is a command-line tool that allows you to find and save the latest versions of dependencies, regardless of any version constraints in your package.json file (unlike npm itself).
npm-check-updates maintains your existing semantic versioning policies, i.e., it will upgrade your
"express": "^4.11.2"dependency to
"express": "^5.0.0"when express 5.0.0 is released.
A word of caution, however.
Whilst this seems like a great time saver – and it is – be sure to have some way of checking (ahem, tests) that the latest and greatest packages haven’t inadvertently completely broken your project.
A great example of how this can go wrong would be in the screenshot above. Here, I pulled in the Loopback Passport Example project, ran the
ncu utility, and promptly ended up with a project that won’t even start.
As a side note, if you are wanting to add tests to a Node project, I highly recommend Tape. Initially, it’s a little different to normal testing libraries, but having taken the plunge, I really like it.