UNPKG

jgb-cli

Version:

```shell npm i -g jgb-cli #全局安装 ```

115 lines 7.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var chalk_1 = require("chalk"); var fs = require("fs"); var inquirer = require("inquirer"); var Logger_1 = require("jgb-shared/lib/Logger"); var path = require("path"); var tildify = require("tildify"); var checkVersion_1 = require("../utils/checkVersion"); var generate_1 = require("../utils/generate"); var templateFile_1 = require("../utils/templateFile"); function init(template, rawName, program) { return tslib_1.__awaiter(this, void 0, void 0, function () { function run() { return tslib_1.__awaiter(this, void 0, void 0, function () { var templatePath; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (!templateFile_1.isLocalPath(template)) return [3 /*break*/, 4]; templatePath = templateFile_1.getTemplatePath(template); if (!fs.existsSync(templatePath)) return [3 /*break*/, 2]; return [4 /*yield*/, gen(templatePath)]; case 1: _a.sent(); return [3 /*break*/, 3]; case 2: Logger_1.logger.warning("Local template \"" + template + "\" not found."); _a.label = 3; case 3: return [3 /*break*/, 8]; case 4: return [4 /*yield*/, checkVersion_1.default()]; case 5: _a.sent(); return [4 /*yield*/, templateFile_1.downloadAndGenerate(template, tmp, clone)]; case 6: _a.sent(); return [4 /*yield*/, gen(tmp)]; case 7: _a.sent(); _a.label = 8; case 8: return [2 /*return*/]; } }); }); } function gen(templatePath) { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { generate_1.default(name, templatePath, to, function (err) { if (err) { Logger_1.logger.error(err); } console.log(); Logger_1.logger.info("Generated \"" + name + "\"."); }); return [2 /*return*/]; }); }); } var inPlace, name, to, clone, offline, tmp; var _this = this; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: inPlace = !rawName || rawName === '.'; name = inPlace ? path.relative('../', process.cwd()) : rawName; to = path.resolve(rawName || '.'); clone = program.clone || false; offline = program.offline || false; tmp = templateFile_1.generateMD5TemplatePath(template); /** * use offline cache */ if (offline) { console.log("> Use cached template at " + chalk_1.default.yellow(tildify(tmp))); template = tmp; } if (!fs.existsSync(to)) return [3 /*break*/, 1]; inquirer .prompt([ { type: 'confirm', message: inPlace ? 'Generate project in current directory?' : 'Target directory exists. Continue?', name: 'ok' } ]) .then(function (answers) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (!answers.ok) return [3 /*break*/, 2]; return [4 /*yield*/, run()]; case 1: _a.sent(); _a.label = 2; case 2: return [2 /*return*/]; } }); }); }) .catch(); return [3 /*break*/, 3]; case 1: return [4 /*yield*/, run()]; case 2: _a.sent(); _a.label = 3; case 3: return [2 /*return*/]; } }); }); } exports.default = init; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kL2luaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBCO0FBQzFCLHVCQUF5QjtBQUN6QixtQ0FBcUM7QUFDckMsZ0RBQTZDO0FBQzdDLDJCQUE2QjtBQUM3QixpQ0FBbUM7QUFDbkMsc0RBQWlEO0FBQ2pELDhDQUF5QztBQUN6QyxzREFLK0I7QUFFL0IsU0FBOEIsSUFBSSxDQUNoQyxRQUFnQixFQUNoQixPQUFlLEVBQ2YsT0FBWTs7UUFxQ1osU0FBZSxHQUFHOzs7Ozs7aUNBQ1osMEJBQVcsQ0FBQyxRQUFRLENBQUMsRUFBckIsd0JBQXFCOzRCQUNqQixZQUFZLEdBQUcsOEJBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQ0FDM0MsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBM0Isd0JBQTJCOzRCQUM3QixxQkFBTSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUE7OzRCQUF2QixTQUF1QixDQUFDOzs7NEJBRXhCLGVBQU0sQ0FBQyxPQUFPLENBQUMsc0JBQW1CLFFBQVEsa0JBQWMsQ0FBQyxDQUFDOzs7Z0NBRzVELHFCQUFNLHNCQUFZLEVBQUUsRUFBQTs7NEJBQXBCLFNBQW9CLENBQUM7NEJBQ3JCLHFCQUFNLGtDQUFtQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUE7OzRCQUEvQyxTQUErQyxDQUFDOzRCQUNoRCxxQkFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUE7OzRCQUFkLFNBQWMsQ0FBQzs7Ozs7O1NBRWxCO1FBRUQsU0FBZSxHQUFHLENBQUMsWUFBb0I7OztvQkFDckMsa0JBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxVQUFBLEdBQUc7d0JBQ2xDLElBQUksR0FBRyxFQUFFOzRCQUNQLGVBQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQ25CO3dCQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDZCxlQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFjLElBQUksUUFBSSxDQUFDLENBQUM7b0JBQ3RDLENBQUMsQ0FBQyxDQUFDOzs7O1NBQ0o7Ozs7OztvQkExREssT0FBTyxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sS0FBSyxHQUFHLENBQUM7b0JBQ3RDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7b0JBQy9ELEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQztvQkFDbEMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO29CQUMvQixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7b0JBQ25DLEdBQUcsR0FBRyxzQ0FBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDOUM7O3VCQUVHO29CQUNILElBQUksT0FBTyxFQUFFO3dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQTRCLGVBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFHLENBQUMsQ0FBQzt3QkFDdEUsUUFBUSxHQUFHLEdBQUcsQ0FBQztxQkFDaEI7eUJBRUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBakIsd0JBQWlCO29CQUNuQixRQUFRO3lCQUNMLE1BQU0sQ0FBQzt3QkFDTjs0QkFDRSxJQUFJLEVBQUUsU0FBUzs0QkFDZixPQUFPLEVBQUUsT0FBTztnQ0FDZCxDQUFDLENBQUMsd0NBQXdDO2dDQUMxQyxDQUFDLENBQUMsb0NBQW9DOzRCQUN4QyxJQUFJLEVBQUUsSUFBSTt5QkFDWDtxQkFDRixDQUFDO3lCQUNELElBQUksQ0FBQyxVQUFPLE9BQVk7Ozs7eUNBQ25CLE9BQU8sQ0FBQyxFQUFFLEVBQVYsd0JBQVU7b0NBQ1oscUJBQU0sR0FBRyxFQUFFLEVBQUE7O29DQUFYLFNBQVcsQ0FBQzs7Ozs7eUJBRWYsQ0FBQzt5QkFDRCxLQUFLLEVBQUUsQ0FBQzs7d0JBRVgscUJBQU0sR0FBRyxFQUFFLEVBQUE7O29CQUFYLFNBQVcsQ0FBQzs7Ozs7O0NBMkJmO0FBaEVELHVCQWdFQyJ9