@forestadmin/forest-cloud
Version:
Utility to bootstrap and publish forest admin cloud projects customization
44 lines • 4.77 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2Jvb3RzdHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDZFQUFvRDtBQUNwRCwyRUFBa0Q7QUFDbEQsdUdBQTZFO0FBQzdFLHNDQUEwQztBQUMxQyxzRUFBOEM7QUFDOUMsNkVBRzJDO0FBQzNDLHNDQUE0RTtBQUc1RSxrQkFBZSxDQUFDLE9BQWdCLEVBQUUsT0FBcUIsRUFBRSxFQUFFO0lBQ3pELE1BQU0sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVsRyxPQUFPO1NBQ0osT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUNwQixXQUFXLENBQUMsd0JBQXdCLENBQUM7U0FDckMsUUFBUSxDQUFDLFFBQVEsRUFBRSxpQ0FBaUMsQ0FBQztTQUNyRCxNQUFNLENBQ0wsMkJBQTJCLEVBQzNCLG1FQUFtRTtRQUNqRSxxRUFBcUUsQ0FDeEU7U0FDQSxNQUFNLENBQ0wsSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQWtCLEVBQUUsT0FBOEIsRUFBRSxFQUFFO1FBQ3hGLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDOUMsb0JBQW9CLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUU3QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsd0RBQStDLEVBQ2hFLEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLENBQ3hCLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDckUsSUFBQSxzREFBOEIsRUFBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFcEUsSUFBQSxvREFBNEIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUVuQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QyxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBRS9ELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBQSxvQ0FBd0IsRUFBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNqQiw0RUFBNEUsQ0FDN0UsQ0FBQztZQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFdEIsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFBLHNCQUFXLEVBQUMsMEJBQTBCLENBQUMsQ0FBQyxFQUFFO2dCQUNwRCxNQUFNLElBQUksc0JBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQzlDO1NBQ0Y7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBQSxtQkFBUyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDcEIsZ0ZBQWdGLENBQ2pGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ04sQ0FBQyxDQUFDIn0=