@honor-minigame/cli
Version:
honor minigame pack cli
33 lines (28 loc) • 1.09 kB
JavaScript
import path from 'path'
import { fileURLToPath } from 'url'
import { Command } from 'commander'
import commands from './commands/index.js'
import { loadJson } from './common/utils.js'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const packageJson = path.join(__dirname, './package.json')
const { name, version } = loadJson(packageJson)
const program = new Command()
program.name(name).version(version).usage('<command>')
Reflect.ownKeys(commands).map((name) => {
const { alias, action, description } = commands[name] || {}
program
.command(name)
.alias(alias)
.description(description)
.argument('[release]', 'release sign', 'debug')
.option('--target <path>', 'build path')
.option('--alliance')
.action((str, options) => {
const target = options && options.target ? options.target : ''
const isAlliance = options && options.alliance
typeof action === 'function' && action(str, target, isAlliance)
})
})
program.parse(process.argv)