@rnv/engine-core
Version:
ReNative Engine Core
57 lines • 3 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var core_1 = require("@rnv/core");
var Question = function (data) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var c, inputs, configFile, projTemplates, allKeys, confirmAddTemplate, templateName;
var _a;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
c = (0, core_1.getContext)();
inputs = data.inputs;
if (!((_a = inputs.template) === null || _a === void 0 ? void 0 : _a.packageName)) {
return [2 /*return*/, Promise.reject('Template not selected')];
}
configFile = c.files.workspace.config || {};
projTemplates = c.buildConfig.projectTemplates || {};
allKeys = Object.keys(projTemplates);
if (!((!allKeys.includes(inputs.template.packageName) || !!inputs.template.localPath) &&
inputs.template.type !== 'existing')) return [3 /*break*/, 3];
return [4 /*yield*/, (0, core_1.inquirerPrompt)({
name: 'confirmAddTemplate',
type: 'confirm',
message: "Would you like to add ".concat((0, core_1.chalk)().bold.white(inputs.template.packageName), " to your ").concat(inputs.workspaceID, " workspace template list?"),
})];
case 1:
confirmAddTemplate = (_b.sent()).confirmAddTemplate;
return [4 /*yield*/, (0, core_1.inquirerPrompt)({
name: 'templateName',
type: 'input',
default: "".concat(inputs.template.packageName, " (local)"),
validate: function (v) { return !allKeys.includes(v) || 'Name already exists'; },
message: 'Add short description',
})];
case 2:
templateName = (_b.sent()).templateName;
if (configFile) {
if (confirmAddTemplate) {
if (!configFile.projectTemplates) {
configFile.projectTemplates = {};
}
configFile.projectTemplates[templateName] = {
packageName: inputs.template.packageName,
localPath: inputs.template.localPath,
description: inputs.template.description,
};
(0, core_1.writeFileSync)(c.paths.workspace.config, configFile);
(0, core_1.logInfo)("Updating ".concat(c.paths.workspace.config, "...DONE"));
}
}
_b.label = 3;
case 3: return [2 /*return*/];
}
});
}); };
exports.default = Question;
//# sourceMappingURL=bookmarkTemplate.js.map
;