UNPKG

l2en-cli

Version:

cli,项目脚手架,快速搭建项目框架

87 lines 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var inquirer = require("inquirer"); var log_1 = require("../utils/log"); var git_download_js_1 = require("./git-download.js"); var contants_1 = require("../utils/contants"); var writePkg_1 = require("./writePkg"); var path = require('path'); var fs = require('fs-extra'); var init = function () { try { inquirer .prompt([ { type: 'list', name: 'type', message: '框架类型', default: 0, choices: [ { value: contants_1.frame_type.react, name: 'React' }, { value: contants_1.frame_type.vue, name: 'Vue [todo]', disabled: true }, ] }, { type: 'input', name: 'name', message: '项目名', }, { type: 'input', name: 'author', message: '开发者', }, { type: 'input', name: 'description', message: '项目描述', }, { type: 'input', name: 'keywords', message: '关键词', }, ]) .then(function (answers) { return tslib_1.__awaiter(this, void 0, void 0, function () { var targetPath, error_1; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: targetPath = path.resolve(process.cwd(), answers.name); if (fs.pathExistsSync(targetPath)) { log_1.default.error(answers.name + "\u9879\u76EE\u5DF2\u5B58\u5728\uFF0C\u8BF7\u66F4\u6362\u9879\u76EE\u540D\uFF01"); return [2]; } _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); return [4, git_download_js_1.default(targetPath, answers.name, answers.type)]; case 2: _a.sent(); log_1.default.info('success!'); return [3, 4]; case 3: error_1 = _a.sent(); log_1.default.warn('warn download:', error_1); return [3, 4]; case 4: writePkg_1.default(targetPath, answers.name, { name: answers.name, description: answers.description, keywords: answers.keywords, author: answers.author }); return [2]; } }); }); }); } catch (err) { console.log('init err==>>', err); } }; exports.default = init; //# sourceMappingURL=init.js.map