UNPKG

yst-react-cli

Version:
44 lines (34 loc) 1.48 kB
'use strict'; function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var program = require('commander'); var _require = require('./constants'), version = _require.version, mapActions = _require.mapActions; // 获取version var _require2 = require('path'), resolve = _require2.resolve; // 创建命令 Reflect.ownKeys(mapActions).forEach(function (action) { var alias = mapActions[action].alias; var description = mapActions[action].description; // 创建命令、命令别名、描述、 program.command(action).alias(alias).description(description).action(function () { // 访问找不到的命令就打印找不命令 if (action === '*') { console.log(mapActions[action].description); } else { // 导入命令对应文件 require(resolve(__dirname, action)).apply(undefined, _toConsumableArray(process.argv.slice(-1))); } }); }); // 监听--help,输出命令列表的examples program.on('--help', function () { console.log('\nExamples:'); Reflect.ownKeys(mapActions).forEach(function (action) { mapActions[action].examples.forEach(function (exp) { console.log(exp); }); }); }); // process.argv 是用户输入命令行冲传入的参数 program.version(version).parse(process.argv);