npm-update-all
Version:
Update all npm packages in dependencies & devDependecies under package.json at once
53 lines (37 loc) • 1.22 kB
JavaScript
;
var _ = require('lodash');
var exec = require('child_process').exec;
var clc = require('cli-color');
var Spinner = require('cli-spinner').Spinner;
module.exports = function (data) {
console.log((clc.yellow.bgBlack('Package.json Located at : ') + " " + process.cwd() ));
console.log('--------------------------');
console.log('UPDATING npm modules......');
console.log('--------------------------');
var spinner = new Spinner('%s');
spinner.setSpinnerString('|/-\\');
spinner.start();
var noPackage = 0;
var pkg = data;
var devDep = 'npm i -D ';
_.forEach(pkg.devDependencies, function (value, key) {
key += '@* ';
devDep += key;
noPackage += 1;
});
var dep = 'npm i -S ';
_.forEach(pkg.dependencies, function (value, key) {
key += '@* ';
dep += key;
noPackage += 1;
});
var npmUpdate = devDep + ' && ' + dep;
exec(npmUpdate, function (err, out, stderr) {
spinner.stop();
if (err) {
console.error('exec error:' + err);
return;
}
console.log('Packages Updated : ' + noPackage);
}).stdout.pipe(process.stdout);
};