1 | "use strict";
|
2 |
|
3 | const fs = require("fs");
|
4 | const fmt = require("simple-fmt");
|
5 | const tryor = require("tryor");
|
6 | const defs = require("./defs-main");
|
7 |
|
8 | if (process.argv.length <= 2) {
|
9 | console.log("USAGE: defs file.js");
|
10 | process.exit(-1);
|
11 | }
|
12 | const filename = process.argv[2];
|
13 |
|
14 | if (!fs.existsSync(filename)) {
|
15 | console.log(fmt("error: file not found <{0}>", filename));
|
16 | process.exit(-1);
|
17 | }
|
18 |
|
19 | const src = String(fs.readFileSync(filename));
|
20 |
|
21 | const config = tryor(function() {
|
22 | return JSON.parse(String(fs.readFileSync("defs-config.json")));
|
23 | }, {});
|
24 |
|
25 | const ret = defs(src, config);
|
26 | if (ret.exitcode !== 0) {
|
27 | process.exit(ret.exitcode);
|
28 | }
|
29 |
|
30 | if (ret.ast) {
|
31 | process.stdout.write(JSON.stringify(ret.ast, null, 4));
|
32 | }
|
33 | if (ret.src) {
|
34 | process.stdout.write(ret.src);
|
35 | }
|