@sdesktop/s
Version:
Serverless devs tool, just for desktop.
172 lines • 13.8 kB
JavaScript
;
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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