@rnv/engine-core
Version:
ReNative Engine Core
65 lines • 3.46 kB
JavaScript
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
;