UNPKG

@sdesktop/s

Version:

Serverless devs tool, just for desktop.

172 lines 13.8 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.InitManager = void 0; var path_1 = __importDefault(require("path")); var fs_extra_1 = __importDefault(require("fs-extra")); var child_process_1 = require("child_process"); var core_1 = require("@serverless-devs/core"); var chalk_1 = __importDefault(require("chalk")); var utils_1 = require("../utils"); var static_variable_1 = require("../constants/static-variable"); var replaceTemplate = utils_1.common.replaceTemplate, replaceFun = utils_1.common.replaceFun, getTemplatekey = utils_1.common.getTemplatekey; var InitManager = /** @class */ (function () { function InitManager() { this.promps = {}; } InitManager.prototype.initSconfig = function (appSath) { return __awaiter(this, void 0, void 0, function () { var sPath; return __generator(this, function (_a) { sPath = (0, utils_1.getYamlPath)(appSath, 's'); return [2 /*return*/, sPath]; }); }); }; InitManager.prototype.assemblySpecialApp = function (appName, _a) { var projectName = _a.projectName, appPath = _a.appPath; return __awaiter(this, void 0, void 0, function () { var result, packageJsonPath, publishYamlPath, sYaml; return __generator(this, function (_b) { result = []; if (appName === 'start-component' || appName === 'devsapp/start-component') { packageJsonPath = path_1.default.join(appPath, 'package.json'); publishYamlPath = path_1.default.join(appPath, 'publish.yaml'); replaceTemplate([packageJsonPath, publishYamlPath], { projectName: projectName }); } else { sYaml = path_1.default.join(appPath, 's.yaml'); if (!fs_extra_1.default.existsSync(sYaml)) { sYaml = path_1.default.join(appPath, 's.yml'); } result = getTemplatekey(fs_extra_1.default.readFileSync(sYaml, 'utf-8')); } return [2 /*return*/, result]; }); }); }; InitManager.prototype.executeInit = function (name, dir, projectName) { return __awaiter(this, void 0, void 0, function () { var result, registry, initHookConfig, appPath, baseChildComponent, e_1; return __generator(this, function (_a) { switch (_a.label) { case 0: result = []; registry = static_variable_1.DEFAULT_REGIRSTRY; process.env.skipPrompt = 'Y'; // 跳过提示 initHookConfig = ''; return [4 /*yield*/, (0, core_1.loadApplication)({ registry: registry, target: dir, source: name, name: projectName })]; case 1: appPath = _a.sent(); if (!appPath) return [3 /*break*/, 11]; return [4 /*yield*/, this.initSconfig(appPath)]; case 2: _a.sent(); return [4 /*yield*/, this.assemblySpecialApp(name, { projectName: path_1.default.basename(dir), appPath: appPath })]; case 3: result = _a.sent(); // Set some app template content utils_1.logger.success('\n🏄‍ Thanks for using Serverless-Devs'); try { if (process.env["".concat(appPath, "-post-init")]) { initHookConfig = JSON.parse(process.env["".concat(appPath, "-post-init")]); } } catch (e) { console.log(e, 'error'); } if (!(result.length > 0)) return [3 /*break*/, 4]; console.log("\uD83D\uDC49 It is detected that you have additional configuration to be set, please click \"Configuration Parameters\" to configure"); return [3 /*break*/, 10]; case 4: _a.trys.push([4, 8, , 9]); if (!(initHookConfig && initHookConfig.tmpPath)) return [3 /*break*/, 7]; return [4 /*yield*/, require(path_1.default.join(initHookConfig.tempPath, 'hook'))]; case 5: baseChildComponent = _a.sent(); return [4 /*yield*/, baseChildComponent.postInit(initHookConfig)]; case 6: _a.sent(); _a.label = 7; case 7: return [3 /*break*/, 9]; case 8: e_1 = _a.sent(); return [3 /*break*/, 9]; case 9: console.log("\uD83D\uDC49 Congratulations on completing the project initialization, click \"Enter Configuration\" to continue the next step"); _a.label = 10; case 10: console.log('💞 Document ❤ Star:' + chalk_1.default.cyan('https://github.com/Serverless-Devs/Serverless-Devs' + '\n')); _a.label = 11; case 11: return [2 /*return*/, { initParamsDetail: result, initHookConfig: initHookConfig }]; } }); }); }; InitManager.prototype.gitCloneProject = function (name, dir) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { return [2 /*return*/, new Promise(function (resolve) { var gitCmd = (0, child_process_1.spawn)('git', ['clone', name], { shell: true, cwd: dir ? dir : './', stdio: ['ignore', 'inherit', 'inherit'], }); gitCmd.on('close', function (code) { resolve({ code: code }); }); })]; }); }); }; InitManager.prototype.init = function (name, dir, project) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.executeInit(name, dir, project)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; return InitManager; }()); exports.InitManager = InitManager; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luaXQvaW5pdC1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUF3QjtBQUN4QixzREFBMEI7QUFFMUIsK0NBQXNDO0FBQ3RDLDhDQUF3RDtBQUN4RCxnREFBMkI7QUFDM0Isa0NBQXVEO0FBQ3ZELGdFQUFpRTtBQUN6RCxJQUFBLGVBQWUsR0FBaUMsY0FBTSxnQkFBdkMsRUFBRSxVQUFVLEdBQXFCLGNBQU0sV0FBM0IsRUFBRSxjQUFjLEdBQUssY0FBTSxlQUFYLENBQVk7QUFFL0Q7SUFFRTtRQURVLFdBQU0sR0FBUSxFQUFFLENBQUM7SUFDWCxDQUFDO0lBRVgsaUNBQVcsR0FBakIsVUFBa0IsT0FBTzs7OztnQkFDakIsS0FBSyxHQUFHLElBQUEsbUJBQVcsRUFBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3hDLHNCQUFPLEtBQUssRUFBQzs7O0tBQ2Q7SUFFSyx3Q0FBa0IsR0FBeEIsVUFBeUIsT0FBTyxFQUFFLEVBQXdCO1lBQXRCLFdBQVcsaUJBQUEsRUFBRSxPQUFPLGFBQUE7Ozs7Z0JBQ2xELE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksT0FBTyxLQUFLLGlCQUFpQixJQUFJLE9BQU8sS0FBSyx5QkFBeUIsRUFBRTtvQkFDcEUsZUFBZSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUNyRCxlQUFlLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQzNELGVBQWUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFLFdBQVcsYUFBQSxFQUFFLENBQUMsQ0FBQztpQkFDdEU7cUJBQU07b0JBQ0QsS0FBSyxHQUFHLGNB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