@forestadmin/forest-cloud
Version:
Utility to bootstrap and publish forest admin cloud projects customization
44 lines • 4.8 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const action_runner_1 = __importDefault(require("../dialogs/action-runner"));
const ask_question_1 = __importDefault(require("../dialogs/ask-question"));
const display_customization_info_1 = __importDefault(require("../dialogs/display-customization-info"));
const errors_1 = require("../errors");
const bootstrap_1 = __importDefault(require("../services/bootstrap"));
const environment_variables_1 = require("../services/environment-variables");
const shared_1 = require("../shared");
exports.default = (program, context) => {
const { logger, buildHttpServer, bootstrapPathManager, login, getEnvironmentVariables } = context;
program
.command('bootstrap')
.description('Bootstrap your project')
.argument('<name>', 'The name of your project folder')
.option('-e, --env-secret <string>', 'Environment secret, you can find it in your environment settings.' +
' (you can also pass it with environment variable FOREST_ENV_SECRET)')
.action((0, action_runner_1.default)(logger.spinner, async (folderName, options) => {
logger.spinner.start('Bootstrapping project');
bootstrapPathManager.folderName = folderName;
const vars = await (0, shared_1.loginIfMissingAuthAndReturnEnvironmentVariables)(login, logger, getEnvironmentVariables);
vars.FOREST_ENV_SECRET = options.envSecret || vars.FOREST_ENV_SECRET;
(0, environment_variables_1.validateMissingForestEnvSecret)(vars.FOREST_ENV_SECRET, 'bootstrap');
(0, environment_variables_1.validateEnvironmentVariables)(vars);
logger.spinner.succeed('Environment found');
const httpServer = buildHttpServer(vars);
const details = await httpServer.getLastPublishedCodeDetails();
if (details) {
(0, display_customization_info_1.default)(logger.spinner, details);
logger.spinner.warn('If you continue it will bootstrap a new customization project from scratch');
logger.spinner.stop();
if (!(await (0, ask_question_1.default)('Do you want to continue?'))) {
throw new errors_1.BusinessError('Operation aborted');
}
}
logger.spinner.start();
await (0, bootstrap_1.default)(vars, httpServer, bootstrapPathManager);
logger.spinner.succeed('Project successfully bootstrapped. You can start creating your customizations!');
}));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2Jvb3RzdHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDZFQUFvRDtBQUNwRCwyRUFBa0Q7QUFDbEQsdUdBQTZFO0FBQzdFLHNDQUEwQztBQUMxQyxzRUFBOEM7QUFDOUMsNkVBRzJDO0FBQzNDLHNDQUE0RTtBQUU1RSxrQkFBZSxDQUFDLE9BQWdCLEVBQUUsT0FBcUIsRUFBRSxFQUFFO0lBQ3pELE1BQU0sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVsRyxPQUFPO1NBQ0osT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUNwQixXQUFXLENBQUMsd0JBQXdCLENBQUM7U0FDckMsUUFBUSxDQUFDLFFBQVEsRUFBRSxpQ0FBaUMsQ0FBQztTQUNyRCxNQUFNLENBQ0wsMkJBQTJCLEVBQzNCLG1FQUFtRTtRQUNqRSxxRUFBcUUsQ0FDeEU7U0FDQSxNQUFNLENBQ0wsSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQWtCLEVBQUUsT0FBOEIsRUFBRSxFQUFFO1FBQ3hGLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDOUMsb0JBQW9CLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUU3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsd0RBQStDLEVBQ2hFLEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLENBQ3hCLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDckUsSUFBQSxzREFBOEIsRUFBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFcEUsSUFBQSxvREFBNEIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUVuQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QyxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBRS9ELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFBLG9DQUF3QixFQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLDRFQUE0RSxDQUM3RSxDQUFDO1lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV0QixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUEsc0JBQVcsRUFBQywwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDckQsTUFBTSxJQUFJLHNCQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFBLG1CQUFTLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUNwQixnRkFBZ0YsQ0FDakYsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDTixDQUFDLENBQUMifQ==