1
0
Fork 0
mirror of synced 2025-09-23 12:18:44 +00:00
ZoKrates/zokrates_js/gulpfile.js

41 lines
1 KiB
JavaScript

const gulp = require("gulp");
const dree = require("dree");
const fs = require("fs");
const path = require("path");
const toml = require("toml");
const stdlibRoot = "../zokrates_stdlib/stdlib";
const options = {
extensions: ["zok"],
};
// Serializes the standard library directory tree to a js file.
gulp.task("stdlib", (done) => {
var stdlib = {};
dree.scan(stdlibRoot, options, function (file) {
const content = fs.readFileSync(file.path).toString();
stdlib[file.relativePath] = content;
});
fs.writeFileSync(
path.resolve(__dirname, "stdlib.js"),
`module.exports = ${JSON.stringify(stdlib)}`
);
done();
});
gulp.task("metadata", (done) => {
const config = toml.parse(
fs.readFileSync("../zokrates_cli/Cargo.toml").toString()
);
const metadata = JSON.stringify({
version: config.package.version,
});
fs.writeFileSync(
path.resolve(__dirname, "metadata.js"),
`module.exports = ${metadata}`
);
done();
});
gulp.task("setup", gulp.parallel("stdlib", "metadata"));