24 lines
740 B
JavaScript
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); |