@rnv/engine-core
Version:
ReNative Engine Core
58 lines • 3.79 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var core_1 = require("@rnv/core");
exports.default = (0, core_1.createTask)({
description: 'Copy all platform files directly to project',
fn: function (_a) {
var ctx = _a.ctx;
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var configOriginal, selectedPlatforms, ejectedPlatforms;
var _b, _c, _d;
return tslib_1.__generator(this, function (_e) {
switch (_e.label) {
case 0:
configOriginal = ctx.files.project.config_original;
if (!configOriginal) {
return [2 /*return*/];
}
if (!ctx.platform) return [3 /*break*/, 1];
selectedPlatforms = [ctx.platform];
return [3 /*break*/, 3];
case 1:
(0, core_1.logInfo)("Preparing to eject engine platforms to local ".concat((0, core_1.chalk)().bold.white('./platformTemplates')));
return [4 /*yield*/, (0, core_1.inquirerPrompt)({
name: 'ejectedPlatforms',
message: 'Select platforms you would like to eject (use SPACE key)',
type: 'checkbox',
choices: (0, core_1.generatePlatformChoices)().map(function (choice) { return (tslib_1.__assign(tslib_1.__assign({}, choice), { disabled: !choice.isConnected })); }),
})];
case 2:
ejectedPlatforms = (_e.sent()).ejectedPlatforms;
selectedPlatforms = ejectedPlatforms;
_e.label = 3;
case 3:
if (selectedPlatforms.length) {
selectedPlatforms.forEach(function (platform) {
// const engine = getEngineRunnerByPlatform(c, platform);
// const destDir = path.join(c.paths.project.dir, 'platformTemplates', platform);
// engine.ejectPlatform(c, platform, destDir);
(0, core_1.ejectPlatform)(platform);
configOriginal.paths = configOriginal.paths || {};
configOriginal.paths.platformTemplatesDirs = configOriginal.paths.platformTemplatesDirs || {};
configOriginal.paths.platformTemplatesDirs[platform] = "./".concat('platformTemplates');
(0, core_1.writeFileSync)(ctx.paths.project.config, configOriginal);
});
(0, core_1.logSuccess)("".concat((0, core_1.chalk)().bold.white(selectedPlatforms.join(',')), " platform templates are located in ").concat((0, core_1.chalk)().bold.white((_d = (_c = (_b = ctx.files.project.config) === null || _b === void 0 ? void 0 : _b.paths) === null || _c === void 0 ? void 0 : _c.platformTemplatesDirs) === null || _d === void 0 ? void 0 : _d[selectedPlatforms[0]]), " now. You can edit them directly!"));
}
else {
(0, core_1.logError)("You haven't selected any platform to eject.\nTIP: You can select options with ".concat((0, core_1.chalk)().bold.white('SPACE'), " key before pressing ENTER!"));
}
return [2 /*return*/];
}
});
});
},
task: core_1.RnvTaskName.platformEject,
});
//# sourceMappingURL=taskPlatformEject.js.map
;