obniz-cli
Version:
[日本語はこちら](./README-ja.md)
37 lines (34 loc) • 943 B
text/typescript
const args = require("minimist")(process.argv.slice(2), { "--": true });
const packageverion = require(`../package.json`).version;
export default async (routes: any) => {
const command = args._;
if (!command) {
throw new Error(`No Command Provided`);
} else if (args._ > 1) {
throw new Error(`Too Many Command`);
}
const route = routes[command];
if (args.help) {
if (route && route.help) {
console.log(`Usage for\n$obniz-cli ${command}\n`);
if (typeof route.help === "function") {
await route.help();
} else {
console.log(`${route.help}`);
}
} else {
await routes.help();
}
} else {
if (!route) {
if (args.version || args.v) {
console.log(`version ${packageverion}`);
return;
}
console.error(`Unknown Command ${command} see below help`);
await routes.help();
return;
}
await route.execute(args);
}
};