UNPKG

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