-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcli.js
More file actions
32 lines (32 loc) · 1009 Bytes
/
Copy pathcli.js
File metadata and controls
32 lines (32 loc) · 1009 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const yargs = require("yargs");
const path_1 = require("path");
const logging_1 = require("./lib/logging");
const nschema_1 = require("./lib/nschema");
const argv = yargs(process.argv.slice(2)).argv;
const files = argv._;
if (argv.logLevel) {
logging_1.setLogLevel(argv.logLevel);
}
if (argv.features) {
nschema_1.features().then(undefined, console.error);
}
else {
files
.reduce(async (acc, item) => {
return acc.then(async () => {
if (!item.startsWith("/")) {
item = path_1.resolve(process.cwd(), item);
}
const requiredItem = require(item);
return nschema_1.generate(nschema_1.getConfig(path_1.dirname(item)), requiredItem.default ? requiredItem.default : requiredItem);
});
}, Promise.resolve())
.then(() => {
process.exit(0);
}, (err) => {
console.error(err);
process.exit(1);
});
}