Skip to content

Instantly share code, notes, and snippets.

@tjunghans
Created September 22, 2015 12:06
Show Gist options
  • Save tjunghans/1b7cde7c661ce9520d5d to your computer and use it in GitHub Desktop.
Save tjunghans/1b7cde7c661ce9520d5d to your computer and use it in GitHub Desktop.
A node js script to show the latest version of the dependencies and devDependencies
"use strict";
var shell = require("shelljs");
var fs = require("fs");
var pjson = JSON.parse(fs.readFileSync("./package.json"), "utf8");
function printDependencies(deps) {
Object.keys(deps).forEach(function (name) {
console.log(name, deps[name].version + " --> " + deps[name].latest);
});
}
function getDependencyVersions(deps, cb) {
var counter = 0;
var depsData = {};
var keys = Object.keys(deps).sort();
keys.forEach(function (key) {
shell.exec("npm show " + key + " version", {silent: true}, function (code, output) {
counter++;
depsData[key] = {
version: deps[key],
latest: output.trim()
};
if (counter === keys.length) {
cb(depsData);
}
});
});
}
getDependencyVersions(pjson.dependencies, printDependencies);
getDependencyVersions(pjson.devDependencies, printDependencies);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment