dizipal-cli
Version:
CLI tool for DizipalTV
36 lines (35 loc) • 1.09 kB
JavaScript
import { Cli, Builtins } from 'clipanion';
import { Metadata } from './utils.js';
import config from './config.js';
import * as commands from './commands.js';
// Define CLI and add commands
async function main() {
await config.init();
const project = await Metadata();
const cli = new Cli({
binaryLabel: project.description,
binaryName: project.name.replace("-cli", ""),
binaryVersion: project.version
});
cli.register(Builtins.HelpCommand);
cli.register(Builtins.VersionCommand);
Object.values(commands).map((command) => cli.register(command));
if (process.argv.length <= 2) {
// If there are no arguments MainCommand runs
await cli.runExit([], {
stdin: process.stdin,
stdout: process.stdout,
stderr: process.stderr,
});
}
else {
// Process CLI arguments
await cli.runExit(process.argv.slice(2), {
stdin: process.stdin,
stdout: process.stdout,
stderr: process.stderr,
});
}
}
main();