@rnv/engine-core
Version:
ReNative Engine Core
164 lines • 8.36 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var core_1 = require("@rnv/core");
var projectFolder_1 = tslib_1.__importDefault(require("./questions/projectFolder"));
var bootstrapQuestions_1 = tslib_1.__importDefault(require("./questions/bootstrapQuestions"));
var confirmGit_1 = tslib_1.__importDefault(require("./questions/confirmGit"));
var isRenativeProject_1 = tslib_1.__importDefault(require("./questions/isRenativeProject"));
var hasNodeModules_1 = tslib_1.__importDefault(require("./questions/hasNodeModules"));
var projectName_1 = tslib_1.__importDefault(require("./questions/projectName"));
var workspace_1 = tslib_1.__importDefault(require("./questions/workspace"));
var supportedPlatforms_1 = tslib_1.__importDefault(require("./questions/supportedPlatforms"));
var appTitle_1 = tslib_1.__importDefault(require("./questions/appTitle"));
var appID_1 = tslib_1.__importDefault(require("./questions/appID"));
var appVersion_1 = tslib_1.__importDefault(require("./questions/appVersion"));
var installTemplate_1 = tslib_1.__importDefault(require("./questions/installTemplate"));
var applyTemplate_1 = tslib_1.__importDefault(require("./questions/applyTemplate"));
var bookmarkTemplate_1 = tslib_1.__importDefault(require("./questions/bookmarkTemplate"));
var appConfigs_1 = tslib_1.__importDefault(require("./questions/appConfigs"));
var configTemplates_1 = tslib_1.__importDefault(require("./questions/configTemplates"));
var installProject_1 = tslib_1.__importDefault(require("./questions/installProject"));
var resolvePeerDepsNPM_1 = tslib_1.__importDefault(require("./questions/resolvePeerDepsNPM"));
var installEngines_1 = tslib_1.__importDefault(require("./questions/installEngines"));
var questionHelpers_1 = require("./questionHelpers");
var taskOptions_1 = require("../../taskOptions");
exports.default = (0, core_1.createTask)({
description: 'Create new ReNative project',
fn: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var payload;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, (0, questionHelpers_1.initNewProject)()];
case 1:
payload = _a.sent();
// Initial questions
return [4 /*yield*/, (0, projectName_1.default)(payload)];
case 2:
// Initial questions
_a.sent();
return [4 /*yield*/, (0, projectFolder_1.default)(payload)];
case 3:
_a.sent();
return [4 /*yield*/, (0, isRenativeProject_1.default)(payload)];
case 4:
_a.sent();
return [4 /*yield*/, (0, hasNodeModules_1.default)(payload)];
case 5:
_a.sent();
return [4 /*yield*/, (0, workspace_1.default)(payload)];
case 6:
_a.sent();
return [4 /*yield*/, (0, questionHelpers_1.saveProgressIntoProjectConfig)(payload)];
case 7:
_a.sent();
// Switch execution context to new directory
return [4 /*yield*/, (0, questionHelpers_1.processChdirToProject)()];
case 8:
// Switch execution context to new directory
_a.sent();
// Install template only (this avoids whole npm project install)
return [4 /*yield*/, (0, installTemplate_1.default)(payload)];
case 9:
// Install template only (this avoids whole npm project install)
_a.sent();
return [4 /*yield*/, (0, configTemplates_1.default)(payload)];
case 10:
_a.sent();
return [4 /*yield*/, (0, applyTemplate_1.default)(payload)];
case 11:
_a.sent();
return [4 /*yield*/, (0, questionHelpers_1.saveProgressIntoProjectConfig)(payload)];
case 12:
_a.sent();
// Gather project/app info
return [4 /*yield*/, (0, bookmarkTemplate_1.default)(payload)];
case 13:
// Gather project/app info
_a.sent();
return [4 /*yield*/, (0, appTitle_1.default)(payload)];
case 14:
_a.sent();
return [4 /*yield*/, (0, appID_1.default)(payload)];
case 15:
_a.sent();
return [4 /*yield*/, (0, appVersion_1.default)(payload)];
case 16:
_a.sent();
return [4 /*yield*/, (0, questionHelpers_1.saveProgressIntoProjectConfig)(payload)];
case 17:
_a.sent();
return [4 /*yield*/, (0, supportedPlatforms_1.default)(payload)];
case 18:
_a.sent();
return [4 /*yield*/, (0, bootstrapQuestions_1.default)(payload)];
case 19:
_a.sent();
return [4 /*yield*/, (0, confirmGit_1.default)(payload)];
case 20:
_a.sent();
// Configure final config overrides
return [4 /*yield*/, (0, core_1.updateRenativeConfigs)()];
case 21:
// Configure final config overrides
_a.sent();
return [4 /*yield*/, (0, questionHelpers_1.configureConfigOverrides)(payload)];
case 22:
_a.sent();
return [4 /*yield*/, (0, questionHelpers_1.saveProgressIntoProjectConfig)(payload)];
case 23:
_a.sent();
// Now we can apply template (required for appConfigs to be generated properly)
return [4 /*yield*/, (0, core_1.updateRenativeConfigs)()];
case 24:
// Now we can apply template (required for appConfigs to be generated properly)
_a.sent();
return [4 /*yield*/, (0, core_1.applyTemplate)()];
case 25:
_a.sent();
return [4 /*yield*/, (0, core_1.configureTemplateFiles)()];
case 26:
_a.sent();
return [4 /*yield*/, (0, core_1.generateLocalJsonSchemas)()];
case 27:
_a.sent();
return [4 /*yield*/, (0, appConfigs_1.default)(payload)];
case 28:
_a.sent();
return [4 /*yield*/, (0, resolvePeerDepsNPM_1.default)()];
case 29:
_a.sent();
return [4 /*yield*/, (0, installEngines_1.default)(payload)];
case 30:
_a.sent();
// Telementry
return [4 /*yield*/, (0, questionHelpers_1.telemetryNewProject)(payload)];
case 31:
// Telementry
_a.sent();
return [4 /*yield*/, (0, installProject_1.default)(payload)];
case 32:
_a.sent();
(0, core_1.logToSummary)((0, questionHelpers_1.generateProjectOverview)(payload));
return [2 /*return*/, true];
}
});
}); },
task: core_1.RnvTaskName.new,
options: [
taskOptions_1.TaskOptions.gitEnabled,
taskOptions_1.TaskOptions.answer,
taskOptions_1.TaskOptions.workspace,
taskOptions_1.TaskOptions.template,
taskOptions_1.TaskOptions.projectName,
taskOptions_1.TaskOptions.projectTemplate,
taskOptions_1.TaskOptions.templateVersion,
taskOptions_1.TaskOptions.localTemplatePath,
taskOptions_1.TaskOptions.title,
taskOptions_1.TaskOptions.appVersion,
taskOptions_1.TaskOptions.id,
],
isGlobalScope: true,
isPriorityOrder: true,
});
//# sourceMappingURL=taskNew.js.map