const fs = require("fs");
const path = require("path");
const root = path.join(__dirname, "..");
const target = path.join(root, "docs", "site", "data");
fs.mkdirSync(target, { recursive: true });
fs.copyFileSync(
path.join(root, "schema", "ferrflow.json"),
path.join(target, "schema.json"),
);
const bench = process.env.FERRFLOW_BENCHMARK_JSON;
let embedded = false;
if (bench && fs.existsSync(bench)) {
try {
const parsed = JSON.parse(fs.readFileSync(bench, "utf8"));
parsed.ferrflow_version = `ferrflow ${process.env.FERRFLOW_NEW_VERSION}`;
fs.writeFileSync(
path.join(target, "benchmarks.json"),
JSON.stringify(parsed, null, 2) + "\n",
);
console.log(`embedded benchmarks for ${parsed.ferrflow_version}`);
embedded = true;
} catch (err) {
console.log(`benchmark artifact unusable (${err.message})`);
}
}
if (!embedded) {
console.log("no usable benchmark artifact, keeping the published numbers");
}