UNPKG

jgb-cli

Version:

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

84 lines 5.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var chalk_1 = require("chalk"); var crypto = require("crypto"); var downloadRepo = require("download-git-repo"); var fs = require("fs"); var Logger_1 = require("jgb-shared/lib/Logger"); var path = require("path"); var rimraf = require("rimraf"); var home = require("user-home"); function downloadAndGenerate(template, tmp, clone) { if (clone === void 0) { clone = false; } return tslib_1.__awaiter(this, void 0, void 0, function () { var _this = this; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: console.log(chalk_1.default.gray('downloading template ...')); if (!fs.existsSync(tmp)) return [3 /*break*/, 2]; return [4 /*yield*/, new Promise(function (resolve) { rimraf(tmp, resolve); })]; case 1: _a.sent(); _a.label = 2; case 2: return [2 /*return*/, new Promise(function (resolve) { console.log(chalk_1.default.gray("template: " + template)); downloadRepo(template, tmp, { clone: clone }, function (err) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { if (err) { Logger_1.logger.error('Failed to download repo ' + template + ': ' + err.message.trim()); return [2 /*return*/, resolve()]; } resolve(); return [2 /*return*/]; }); }); }); })]; } }); }); } exports.downloadAndGenerate = downloadAndGenerate; /** * 生成MD5临时文件路径 * @param template */ function generateMD5TemplatePath(template) { return generateTemplatePath(md5(template)); } exports.generateMD5TemplatePath = generateMD5TemplatePath; /** * 生成临时文件路径 * @param template */ function generateTemplatePath(template) { return path.join(home, '.jgb_templates', template); } exports.generateTemplatePath = generateTemplatePath; function isLocalPath(templatePath) { // templatePath example: // .jgb_templates // E:\workspace\jgb_templates\standard return /^[./]|(^[a-zA-Z]:)/.test(templatePath); } exports.isLocalPath = isLocalPath; /** * 获取临时文件路径 * @param templatePath */ function getTemplatePath(templatePath) { return path.isAbsolute(templatePath) ? templatePath : path.normalize(path.join(process.cwd(), templatePath)); } exports.getTemplatePath = getTemplatePath; function md5(str) { var hash = crypto.createHash('md5'); hash.update(str); return hash.digest('hex'); } exports.md5 = md5; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVGaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3RlbXBsYXRlRmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBMEI7QUFDMUIsK0JBQWlDO0FBQ2pDLGdEQUFrRDtBQUNsRCx1QkFBeUI7QUFDekIsZ0RBQStDO0FBRS9DLDJCQUE2QjtBQUM3QiwrQkFBaUM7QUFDakMsZ0NBQWtDO0FBRWxDLFNBQXNCLG1CQUFtQixDQUN2QyxRQUFnQixFQUNoQixHQUFXLEVBQ1gsS0FBc0I7SUFBdEIsc0JBQUEsRUFBQSxhQUFzQjs7Ozs7O29CQUV0QixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO3lCQUVoRCxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFsQix3QkFBa0I7b0JBQ3BCLHFCQUFNLElBQUksT0FBTyxDQUFDLFVBQUEsT0FBTzs0QkFDdkIsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxDQUFDLEVBQUE7O29CQUZGLFNBRUUsQ0FBQzs7d0JBR0wsc0JBQU8sSUFBSSxPQUFPLENBQUMsVUFBQSxPQUFPO3dCQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxJQUFJLENBQUMsZUFBYSxRQUFVLENBQUMsQ0FBQyxDQUFDO3dCQUNqRCxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLEtBQUssT0FBQSxFQUFFLEVBQUUsVUFBTSxHQUFHOztnQ0FDOUMsSUFBSSxHQUFHLEVBQUU7b0NBQ1AsZUFBTSxDQUFDLEtBQUssQ0FDViwwQkFBMEIsR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQ2xFLENBQUM7b0NBQ0Ysc0JBQU8sT0FBTyxFQUFFLEVBQUM7aUNBQ2xCO2dDQUNELE9BQU8sRUFBRSxDQUFDOzs7NkJBQ1gsQ0FBQyxDQUFDO29CQUNMLENBQUMsQ0FBQyxFQUFDOzs7O0NBQ0o7QUF6QkQsa0RBeUJDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsUUFBZ0I7SUFDdEQsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRkQsMERBRUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxRQUFnQjtJQUNuRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFGRCxvREFFQztBQUVELFNBQWdCLFdBQVcsQ0FBQyxZQUFvQjtJQUM5Qyx3QkFBd0I7SUFDeEIsaUJBQWlCO0lBQ2pCLHNDQUFzQztJQUN0QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBTEQsa0NBS0M7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixlQUFlLENBQUMsWUFBb0I7SUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUNsQyxDQUFDLENBQUMsWUFBWTtRQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUpELDBDQUlDO0FBRUQsU0FBZ0IsR0FBRyxDQUFDLEdBQVc7SUFDN0IsSUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBSkQsa0JBSUMifQ==