@boostercloud/cli
Version:
CLI of the Booster Framework, the next level of abstraction for cloud-native applications
45 lines (44 loc) • 1.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../common/base-command");
const provider_service_1 = require("../services/provider-service");
const config_service_1 = require("../services/config-service");
const script_1 = require("../common/script");
const brand_1 = require("../common/brand");
const logger_1 = require("../services/logger");
const environment_1 = require("../services/environment");
const runTasks = async (compileAndLoad, deployer) => script_1.Script.init(`boost ${brand_1.default.dangerize('deploy')} [${(0, environment_1.currentEnvironment)()}] 🚀`, compileAndLoad)
.step('Deploying', (config) => deployer(config))
.step('Cleaning up deployment files', config_service_1.cleanDeploymentSandbox)
.info('Deployment complete!')
.done();
class Deploy extends base_command_1.default {
async run() {
const { flags } = await this.parse(Deploy);
if ((0, environment_1.initializeEnvironment)(logger_1.logger, flags.environment)) {
const deploymentProjectPath = await (0, config_service_1.createDeploymentSandbox)();
await runTasks((0, config_service_1.compileProjectAndLoadConfig)(deploymentProjectPath), provider_service_1.deployToCloudProvider);
}
}
async catch(fullError) {
const { flags: { verbose }, } = await this.parse(Deploy);
if (verbose) {
console.error(fullError.message);
}
return super.catch(fullError);
}
}
Deploy.description = 'Deploy the current application as configured in your `index.ts` file.';
Deploy.flags = {
help: core_1.Flags.help({ char: 'h' }),
environment: core_1.Flags.string({
char: 'e',
description: 'environment configuration to run',
}),
verbose: core_1.Flags.boolean({
description: 'display full error messages',
default: false,
}),
};
exports.default = Deploy;