Skip to content

Instantly share code, notes, and snippets.

@phillipskevin
Created November 21, 2016 21:04
List when the dependencies of your project were published
const npm = require('npm');
const publishTimes = {};
function getInfo(name, version) {
return new Promise((resolve) => {
npm.info(name, (err, info) => {
const times = typeof info[version] === 'object' ? info[version].time : {};
resolve(`${name}@${version}|${times[version]}`);;
});
});
}
npm.load(__dirname + 'package.json', () => {
npm.ls((err, { dependencies: deps }) => {
var promises = []
for (let dep in deps) {
const name = "" + deps[dep].name;
const version = "" + deps[dep].version;
promises.push(getInfo(name, version));
}
Promise.all(promises)
.then((results) => {
results = results.sort((a, b) => {
return new Date(a.split('|')[1]) - new Date(b.split('|')[1]);
});
console.log(results);
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment