UNPKG

fdm

Version:

基于gulp的1688前端集成化工具

91 lines (76 loc) 2.27 kB
var commander = require('commander'); var path = require('path'); var fs = require('fs'); require('colors'); var spawn = require('win-spawn'); var helper = require('./utils/helper'); var grunt = require('grunt'); var config = helper.getConfig(); var helpeInfo = function(){ console.log(); console.log('从模板构建项目'); console.log(' $', 'fdm init'.green, '[tplname]','[destdir]'); console.log(); console.log('执行项目常规任务'); console.log(' $', 'fdm start'.green, 'taskName'); console.log(); console.log('启动FdServer'); console.log(' $', 'fdm server'.green, 'start'); console.log(); // console.log('安装项目扩展'); // console.log(' $', 'fdm install'.green, 'html2js'); // console.log(); // console.log('项目发布(支持gitlab发布)'); // console.log(' $', 'fdm publish'.green); // console.log(); // console.log('更新模板(开发中)'); // console.log(' $', 'fdm update'.green, 'templateName'); // console.log(); console.log('编译项目(与Aone编译脚本一致)'); console.log(' $', 'fdm build'.green, '[srcdir]', '[destdir]'); console.log(); console.log('部署盖娅环境'); console.log(' $', 'fdm gaea'.green); console.log(); } // 执行子命令 function executable(subcmd) { var local = path.join(__dirname, '/command/'+subcmd+'.js'); if (fs.existsSync(local)) { return local; }else{ return false; } } module.exports = { run : function(argv){ commander .version(require('./package.json').version) // .option('-v, --version',"查看版本信息") .option('-p, --plugin',"查看插件列表") .option('-t, --template',"查看模板列表") // create config file helper.setConfig(); // Execute sub command commander.parse(argv); // var args = argv.slice(3); var subcmd = commander.args[0]; if(commander.plugin){ console.log('获取插件列表中...'.green); helper.getFdmRepo('fdmplugin'); }else if(commander.template){ console.log('获取模板列表中...'.green); helper.getFdmRepo('fdmtemplate'); }else if (!subcmd) { helpeInfo(); } else { var bin = executable(subcmd); if (bin) { require(bin).run(argv); }else{ require('./command/start').run(argv,true); } } }, config:config }