UNPKG

787 BJavaScriptView Raw
1#!/usr/bin/env node
2
3const path = require("path");
4const fs = require("fs");
5const load = require("./util/load");
6const fns = require("./util/fns");
7const cwd = process.cwd();
8require("./util/aop");
9require("colors");
10
11main();
12function main() {
13 const folder = path.join(__dirname, "./commands");
14 const keys = getCommands(fs.readdirSync(folder));
15 const key = getKey();
16 if (keys.includes(key)) {
17 const argv = fns.getParams(process.argv);
18 const params = Object.assign({ cwd, load, fns }, argv);
19 require(`./commands/${key}`)(params);
20 }
21}
22
23function getCommands(folder) {
24 return folder
25 .filter(it => !it.startsWith("."))
26 .map(it => it.replace(/\.[a-z]+$/, ""));
27}
28
29function getKey() {
30 return process.argv[2].match(/^\w+/)[0];
31}