UNPKG

moshai-cli

Version:

A modern, fast Node.js CLI powered by arasadrahman

31 lines (23 loc) 806 B
#!/usr/bin / env node const { Command } = require('commander'); const path = require('path'); const program = new Command(); const { loadCommands } = require('../core/CommandLoader'); program.name('moshai').description('The Moshai CLI').version('1.0.0'); const commands = loadCommands(path.join(__dirname, '../commands')); commands.forEach(cmd => { const command = program .command(cmd.name) .description(cmd.description); cmd.args.forEach(arg => { command.argument(`<${arg.name}>`, arg.description); }); command.action(async (...values) => { const options = {}; cmd.args.forEach((arg, i) => { options[arg.name] = values[i]; }); await cmd.handle(options); }); }); program.parse();