1 | #!/usr/bin/env node
|
2 | "use strict";
|
3 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
4 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
5 | };
|
6 | Object.defineProperty(exports, "__esModule", { value: true });
|
7 | const platforms_1 = __importDefault(require("../consts/platforms"));
|
8 | const buildOptions_1 = __importDefault(require("../consts/buildOptions"));
|
9 | const cliBuilder_1 = __importDefault(require("./cliBuilder"));
|
10 | const init_1 = __importDefault(require("./commands/init"));
|
11 | const createPage_1 = __importDefault(require("./commands/createPage"));
|
12 | const build_1 = __importDefault(require("./commands/build"));
|
13 | const install_1 = __importDefault(require("./commands/install"));
|
14 | require("../tasks/chaikaMergeTask/injectChaikaEnv");
|
15 | const { version } = require('../package.json');
|
16 | const cli = new cliBuilder_1.default();
|
17 | cli.checkNodeVersion('8.6.0');
|
18 | cli.version = version;
|
19 | cli.addCommand('init <app-name>', null, 'description: 初始化项目', {}, (appName) => {
|
20 | init_1.default(appName);
|
21 | });
|
22 | cli.addCommand('install [name]', null, 'description: 安装拆库模块. 文档: https://rubylouvre.github.io/nanachi/documents/chaika.html', {
|
23 | 'branch': {
|
24 | desc: '指定分支',
|
25 | alias: 'b'
|
26 | }
|
27 | }, function (name, opts) {
|
28 | install_1.default(name, opts);
|
29 | });
|
30 | ['page', 'component'].forEach(type => {
|
31 | cli.addCommand(`${type} <page-name>`, null, `description: 创建${type}s/<${type}-name>/index.js模版`, {}, (name) => {
|
32 | createPage_1.default({ name, isPage: type === 'page' });
|
33 | });
|
34 | });
|
35 | platforms_1.default.forEach(function (el) {
|
36 | const { buildType, des, isDefault } = el;
|
37 | ['build', 'watch'].forEach(function (compileType) {
|
38 | cli.addCommand(`${compileType}:${buildType}`, isDefault ? compileType : null, des, buildOptions_1.default, (options) => {
|
39 | build_1.default(Object.assign(Object.assign({}, options), { watch: compileType === 'watch', buildType }));
|
40 | });
|
41 | });
|
42 | });
|
43 | cli.run();
|