dis-cli
Version:
A package for easily generating discord bot projects
50 lines (37 loc) • 1.17 kB
JavaScript
const program = require('commander');
const chalk = require('chalk')
program
.version(`DiscordBot ${require('../package').version}`)
.usage('<command> [options]')
program
.command('create <project-name>')
.description('Creates a new discord bot project')
.action((name, cmd) => {
const options = cleanArgs(cmd)
require('../lib/methods/create')(name, options)
})
program
.command('v')
.description('Returns the discord bot cli version')
.action(() => {
require('../lib/methods/v')()
})
program.commands.forEach(c => c.on('--help', () => console.log()))
program.parse(process.argv)
if (!process.argv.slice(2).length) {
program.outputHelp()
}
function camelize(str) {
return str.replace(/-(\w)/g, (_, c) => c ? c.toUpperCase() : '')
}
function cleanArgs(cmd) {
const args = {}
cmd.options.forEach(o => {
const key = camelize(o.long.replace(/^--/, ''))
if (typeof cmd[key] !== 'function' && typeof cmd[key] !== 'undefined') {
args[key] = cmd[key]
}
})
return args
};