fdm
Version:
基于gulp的1688前端集成化工具
43 lines (39 loc) • 1.42 kB
JavaScript
var commander = require('commander');
var grunt = require('grunt');
var spawn = require('win-spawn');
var path = require('path');
var fs = require('fs');
module.exports = {
help: function() {
console.log();
console.log('执行指定任务');
console.log(' $', 'fdm start'.green, 'taskName');
console.log();
},
run: function(argv,short) {
commander.option('-f, --force', 'Force to process the task.');
commander.parse(process.argv);
// if(!commander.args[1]){
// this.help();
// return;
// }
if(fs.existsSync(path.resolve('./gulpfile.js'))){
console.log('执行gulp任务队列...');
console.log();
// gulp没开放cli接口
var baseModulePath = path.resolve(__dirname,'../','node_modules');
var gulpCMD = [baseModulePath+'/gulp/bin/gulp'];
gulpCMD = gulpCMD.concat(short?process.argv.slice(2):process.argv.slice(3));
try {
spawn('node', gulpCMD, {
stdio: 'inherit'
});
} catch (e) {console.log(e)}
}else{
console.log('执行Grunt任务队列...');
console.log();
grunt.cli.tasks = short?[commander.args[0]]:[commander.args[1]];
grunt.cli({});
}
}
};