@interopio/desktop-cli
Version:
io.Connect Desktop Seed Repository CLI Tools
66 lines (65 loc) • 3 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
const chalk_1 = __importDefault(require("chalk"));
const package_json_1 = require("../../package.json");
const utils_1 = require("../utils");
const setup_1 = require("../commands/setup");
const start_1 = require("../commands/start");
const component_1 = require("../commands/component");
const package_1 = require("../commands/package");
const license_1 = require("../commands/license");
const validate_1 = require("../commands/validate");
const clean_1 = require("../commands/clean");
const platform_1 = require("../commands/platform");
const modifications_1 = require("../commands/modifications");
const config_1 = require("../commands/config");
const program = new commander_1.Command();
// Configure the main CLI program
program
.name('iocd')
.description('io.Connect Desktop Seed Repository CLI Tools')
.version(package_json_1.version);
// Display banner
console.log(chalk_1.default.cyan(`
██╗ ██████╗ ██████╗██████╗
██║██╔═══██╗██╔════╝██╔══██╗
██║██║ ██║██║ ██║ ██║
██║██║ ██║██║ ██║ ██║
██║╚██████╔╝╚██████╗██████╔╝
╚═╝ ╚═════╝ ╚═════╝╚═════╝
${chalk_1.default.bold('io.Connect Desktop CLI')} - v${package_json_1.version}
`));
utils_1.Logger.debug(`CLI started with args: ${JSON.stringify(process.argv)}`, 'cli');
utils_1.Logger.debug(`Environment DEBUG: ${process.env.DEBUG || 'not set'}`, 'cli');
utils_1.Logger.debug(`Working directory: ${process.cwd()}`, 'cli');
// Register commands
utils_1.Logger.debug('Registering CLI commands...', 'cli');
program.addCommand(setup_1.setupCommand);
program.addCommand(start_1.startCommand);
program.addCommand(component_1.componentCommand);
program.addCommand(package_1.packageCommand);
program.addCommand(license_1.licenseCommand);
program.addCommand(validate_1.validateCommand);
program.addCommand(clean_1.cleanCommand);
program.addCommand(platform_1.platformCommand);
program.addCommand(modifications_1.modificationsCommand);
program.addCommand((0, config_1.createConfigCommand)());
// Handle unknown commands
program.on('command:*', () => {
console.error(chalk_1.default.red(`\nUnknown command: ${program.args.join(' ')}\n`));
console.log('Available commands:');
program.outputHelp();
process.exit(1);
});
// Show help if no command provided
if (!process.argv.slice(2).length) {
program.outputHelp();
}
// Parse command line arguments
program.parse(process.argv);
//# sourceMappingURL=iocd.js.map