nap-cli
Version:
a new package cli
34 lines (31 loc) • 1.15 kB
JavaScript
var fs = require('fs');
var path = require('path');
var fse = require('fs-extra');
var clc = require('cli-color');
module.exports = function(name, options){
var modulename = name, doSave;
if ( options.save ){
modulename = options.save;
doSave = true;
}
var moduledir = path.resolve(process.cwd(), 'node_modules', modulename);
if ( fs.existsSync(moduledir) ){
var pkg = require(path.resolve(moduledir, 'package.json'));
var version = pkg.version;
var names = pkg.name;
fse.removeSync(moduledir);
if ( doSave ){
var dc = path.resolve(process.cwd(), 'package.json');
if ( fs.existsSync(dc) ){
var dt = require(dc);
if ( dt.napDependencies && dt.napDependencies[modulename] ){
delete dt.napDependencies[modulename];
fs.writeFile(dc, JSON.stringify(dt, null, 2));
}
}
}
console.log(clc.green('➜ Delete ' + names + '@' + version + ' : node_modules/' + names));
}else{
console.log(clc.red('➜ No such module.'));
}
};