UNPKG

1.98 kBJavaScriptView Raw
1#!/usr/bin/env node
2"use strict";
3var __importDefault = (this && this.__importDefault) || function (mod) {
4 return (mod && mod.__esModule) ? mod : { "default": mod };
5};
6Object.defineProperty(exports, "__esModule", { value: true });
7const platforms_1 = __importDefault(require("../consts/platforms"));
8const buildOptions_1 = __importDefault(require("../consts/buildOptions"));
9const cliBuilder_1 = __importDefault(require("./cliBuilder"));
10const init_1 = __importDefault(require("./commands/init"));
11const createPage_1 = __importDefault(require("./commands/createPage"));
12const build_1 = __importDefault(require("./commands/build"));
13const install_1 = __importDefault(require("./commands/install"));
14require("../tasks/chaikaMergeTask/injectChaikaEnv");
15const { version } = require('../package.json');
16const cli = new cliBuilder_1.default();
17cli.checkNodeVersion('8.6.0');
18cli.version = version;
19cli.addCommand('init <app-name>', null, 'description: 初始化项目', {}, (appName) => {
20 init_1.default(appName);
21});
22cli.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});
35platforms_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});
43cli.run();