UNPKG

@rnv/engine-core

Version:
164 lines 8.36 kB
"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