arnaucube
arnaucube/circomPublic Self-hosted repository
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