api-cli/bin/index.js

24 lines
740 B
JavaScript

#!/usr/bin/env node
const path = require('path');
const fs = require('fs');
let required_command = process.argv[2]
let args = require('args-parser')(process.argv);
let cmds = fs.readdirSync(__dirname)
.filter(file => file.startsWith("cmd"))
.reduce((result, item) => {
let name = item.replace(/^cmd\./, '').replace(/\.js$/, '');
result[name] = path.join(__dirname, item);
return result
}, {})
if(!cmds[required_command]) {
console.error(`Command '${required_command}' not found!`);
console.log("Available commands:")
Object.keys(cmds).forEach(item => console.log(`\t${item}`))
process.exit(-1);
}
require(cmds[required_command])(args);