UNPKG

2.07 kBJavaScriptView Raw
1#!/usr/bin/env node
2'use strict';
3
4var _commander = require('commander');
5
6var _commander2 = _interopRequireDefault(_commander);
7
8var _chalk = require('chalk');
9
10var _chalk2 = _interopRequireDefault(_chalk);
11
12var _lodash = require('lodash');
13
14var _lodash2 = _interopRequireDefault(_lodash);
15
16var _log = require('./utils/log');
17
18var _log2 = _interopRequireDefault(_log);
19
20var _app_types = require('./constants/app_types');
21
22var AppTypes = _interopRequireWildcard(_app_types);
23
24function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
25
26function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
28var commandArgs = void 0;
29var command = void 0;
30
31_commander2.default.version('0.0.1').option('-d, --dev', 'Auto start dev mode').option('-g, --git', 'Auto run git initialization').command('new <app_type> <project_name>').description('Create a new project named <project_name> with <app_type> template').action(function (appType, projectName) {
32 var appTypeUpper = appType.toUpperCase();
33 if (!AppTypes[appTypeUpper]) {
34 var types = (0, _lodash2.default)(_lodash2.default.keys(AppTypes)).join(', ');
35 _log2.default.errorAndExit('not supported appType: ' + appType + ', valid app types is :' + types);
36 }
37 commandArgs = {
38 appType: appTypeUpper,
39 projectName: projectName,
40 autoDev: _commander2.default.dev,
41 autoGit: _commander2.default.git
42 };
43 command = 'new_app';
44});
45
46_commander2.default.parse(process.argv);
47
48if (!process.argv.slice(2).length || !commandArgs || !command) {
49 _commander2.default.outputHelp(function (txt) {
50 return _chalk2.default.red(txt);
51 });
52 process.exit(0);
53}
54
55var commandPath = void 0;
56try {
57 commandPath = require.resolve('./commands/' + command);
58} catch (e) {
59 _log2.default.errorAndExit('Require command cli error ' + command);
60}
61
62require(commandPath)(commandArgs);
\No newline at end of file