mib-cli
Version:
CLI tool to manage projects
44 lines (31 loc) • 820 B
JavaScript
const spawn = require('child_process').spawn;
const projects = require('./projects');
const path = require('path');
module.exports = (function() {
let self = this;
let vorpal, chalk, storage;
function exec(vorpal, args, callback) {
let error = false;
self.vorpal.hide();
// Do the heavy work
let git = spawn('git', args, {stdio: 'inherit'});
git.on('exit', function(code) {
console.log(code);
self.vorpal.show();
callback(code === 1);
});
}
return {
clone(vorpal, args, callback) {
exec(vorpal, ['clone', args.git, path.join(args.path, args.name)], callback);
},
pull(command, args, callback) {
exec(vorpal, ['pull'], callback);
},
setVorpal(vorpal) {
self.vorpal = vorpal;
self.chalk = vorpal.chalk;
self.storage = vorpal.localStorage;
}
}
})();