UNPKG

@voximplant/voxengine-ci

Version:

Manage Voximplant Platform `applications`, `rules` and `scenarios` from your own environment

65 lines (64 loc) 2.53 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const process_1 = require("process"); const commander_1 = require("commander"); const chalk_1 = __importDefault(require("chalk")); const application_module_1 = require("../lib/modules/application.module"); commander_1.program .command('init') .option('--force') .action(async ({ force }) => { const application = new application_module_1.ApplicationModule(); await application.init(); if (force) { await application.projectCleanup(); } await application.projectInit(); }); commander_1.program .command('upload') .option('--force') .option('--dry-run') .option('--application-name <name>') .option('--application-id <id>', '', (value) => Number(value)) .option('--rule-name <name>') .option('--rule-id <id>', '', (value) => Number(value)) .action(async (currentJobSettings) => { if (!currentJobSettings.applicationName && !currentJobSettings.applicationId) { console.log(chalk_1.default.white.bgRed(`No application parameters are set. Either '--application-name' or '--application-id' must be specified`)); (0, process_1.exit)(1); } const application = new application_module_1.ApplicationModule(); await application.init(); // TODO: Need to make '--force' flagged jobs interactive (user must send 'yes' in the terminal) const isForce = currentJobSettings.force; const isDryRun = currentJobSettings.dryRun; const isRuleSpecified = currentJobSettings.ruleName || currentJobSettings.ruleId; if (isRuleSpecified) { if (isDryRun) { await application.applicationByRuleBuild(currentJobSettings); } if (!isDryRun) { currentJobSettings.isForce = isForce; await application.applicationByRuleBuildAndUpload(currentJobSettings); } } if (!isRuleSpecified) { if (isDryRun) { await application.applicationBuild(currentJobSettings); } if (!isDryRun) { currentJobSettings.isForce = isForce; await application.applicationBuildAndUpload(currentJobSettings); } } }) .configureOutput({ outputError: (str, write) => write(chalk_1.default.bgRed(`Error occurred: ${str.split('error: ')[1]}`)), }); commander_1.program.parse();