@boostercloud/cli
Version:
CLI of the Booster Framework, the next level of abstraction for cloud-native applications
50 lines (49 loc) • 2.09 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 framework_types_1 = require("@boostercloud/framework-types");
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 process = require("process");
const runTasks = async (port, loader, runner) => script_1.Script.init(`boost ${brand_1.default.canarize('debug')} [${(0, environment_1.currentEnvironment)()}] 🐛`, loader)
.step(`Starting debug server on port ${port}`, runner)
.done();
class Start extends base_command_1.default {
async run() {
const { flags } = await this.parse(Start);
if ((0, environment_1.initializeEnvironment)(logger_1.logger, flags.environment)) {
process.env[framework_types_1.BOOSTER_LOCAL_PORT] = flags.port ? flags.port.toString() : '3000';
await runTasks(flags.port, (0, config_service_1.compileProjectAndLoadConfig)(process.cwd()), provider_service_1.startProvider.bind(null, flags.port));
}
}
async catch(fullError) {
const { flags: { verbose }, } = await this.parse(Start);
if (verbose) {
console.error(fullError.message);
}
return super.catch(fullError);
}
}
Start.description = 'Start local debug server.';
Start.flags = {
help: core_1.Flags.help({ char: 'h' }),
port: core_1.Flags.integer({
char: 'p',
description: 'port to run the local runtime on',
default: 3000,
}),
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 = Start;