circom/src/cli.js
src/cli.jsRaw
1/* eslint-disable no-console */
2
3const fs = require("fs");
4const path = require("path");
5
6const compiler = require("./compiler");
7
8const argv = require("yargs")
9 .usage("jaz -s [input source circuit file] -o [output definition circuit file]")
10 .alias("s", "source")
11 .alias("o", "output")
12 .require(["s","o"])
13 .argv;
14
15const fullFileName = path.resolve(process.cwd(), argv.source);
16
17compiler(fullFileName).then( (cir) => {
18 fs.writeFileSync(argv.output, JSON.stringify(cir, null, 1), "utf8");
19}, (err) => {
20 console.error(`ERROR at ${err.errFile}:${err.pos.first_line},${err.pos.first_column}-${err.pos.last_line},${err.pos.last_column} ${err.errStr}`);
21 console.error(JSON.stringify(err.ast, null, 1));
22 process.exit(1);
23});
24
25
26
27