1 | #!/usr/bin/env node
|
2 | 'use strict';
|
3 |
|
4 | var _commander = require('commander');
|
5 |
|
6 | var _commander2 = _interopRequireDefault(_commander);
|
7 |
|
8 | var _chalk = require('chalk');
|
9 |
|
10 | var _chalk2 = _interopRequireDefault(_chalk);
|
11 |
|
12 | var _lodash = require('lodash');
|
13 |
|
14 | var _lodash2 = _interopRequireDefault(_lodash);
|
15 |
|
16 | var _log = require('./utils/log');
|
17 |
|
18 | var _log2 = _interopRequireDefault(_log);
|
19 |
|
20 | var _app_types = require('./constants/app_types');
|
21 |
|
22 | var AppTypes = _interopRequireWildcard(_app_types);
|
23 |
|
24 | function _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 |
|
26 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27 |
|
28 | var commandArgs = void 0;
|
29 | var 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 |
|
48 | if (!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 |
|
55 | var commandPath = void 0;
|
56 | try {
|
57 | commandPath = require.resolve('./commands/' + command);
|
58 | } catch (e) {
|
59 | _log2.default.errorAndExit('Require command cli error ' + command);
|
60 | }
|
61 |
|
62 | require(commandPath)(commandArgs); |
\ | No newline at end of file |