UNPKG

@rnv/engine-core

Version:
65 lines 3.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isBuildSchemeSupported = void 0; var tslib_1 = require("tslib"); var deepmerge_1 = tslib_1.__importDefault(require("deepmerge")); var core_1 = require("@rnv/core"); var isBuildSchemeSupported = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var c, scheme, platforms, baseBuildSchemes, platformBuildSchemes, buildSchemes, schemeDoesNotExist, schemeOptions_1, schemeVals_1, selectedScheme; var _a, _b; return tslib_1.__generator(this, function (_c) { switch (_c.label) { case 0: (0, core_1.logDefault)('isBuildSchemeSupported'); c = (0, core_1.getContext)(); scheme = c.program.opts().scheme; if (!c.platform) return [2 /*return*/]; platforms = c.buildConfig.platforms || {}; if (!platforms[c.platform]) { platforms[c.platform] = { buildSchemes: {}, }; } baseBuildSchemes = ((_a = c.buildConfig.common) === null || _a === void 0 ? void 0 : _a.buildSchemes) || {}; platformBuildSchemes = ((_b = platforms[c.platform]) === null || _b === void 0 ? void 0 : _b.buildSchemes) || {}; buildSchemes = (0, deepmerge_1.default)(baseBuildSchemes, platformBuildSchemes); c.buildConfig.platforms = platforms; if (!buildSchemes) { (0, core_1.logWarning)("Your appConfig for platform ".concat(c.platform, " has no buildSchemes. Will continue with defaults")); return [2 /*return*/, false]; } schemeDoesNotExist = scheme && !buildSchemes[scheme]; if (!(scheme === true || schemeDoesNotExist)) return [3 /*break*/, 2]; if (schemeDoesNotExist && scheme && scheme !== true) { (0, core_1.logError)('Build scheme you picked does not exists.'); } schemeOptions_1 = []; schemeVals_1 = {}; Object.keys(buildSchemes).forEach(function (k) { var s = buildSchemes[k]; var desc = s.description ? (0, core_1.chalk)().grey(" (".concat(s.description, ")")) : ''; var key = "".concat(k).concat(desc); schemeOptions_1.push(key); schemeVals_1[key] = k; }); return [4 /*yield*/, (0, core_1.inquirerPrompt)({ name: 'selectedScheme', type: 'list', message: 'Pick one of available buildSchemes', choices: schemeOptions_1, logMessage: 'You need to specify scheme', })]; case 1: selectedScheme = (_c.sent()).selectedScheme; c.program.opts().scheme = schemeVals_1[selectedScheme]; c.runtime.scheme = c.program.opts().scheme; _c.label = 2; case 2: (0, core_1.logInfo)("Current Build Scheme: ".concat((0, core_1.chalk)().bold.white(c.runtime.scheme))); return [2 /*return*/, true]; } }); }); }; exports.isBuildSchemeSupported = isBuildSchemeSupported; //# sourceMappingURL=buildSchemes.js.map