// Bumps the patch component of version.json — run via `npm run release` before every deploy.
import { readFileSync, writeFileSync } from "node:fs";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const file = join(dirname(fileURLToPath(import.meta.url)), "..", "version.json");
const cur = JSON.parse(readFileSync(file, "utf8")).version;
const parts = String(cur).split(".");
const [maj, min, pat] = parts.map(Number);
if (parts.length !== 3 || ![maj, min, pat].every((n) => Number.isInteger(n) && n >= 0)) {
console.error(`bump-version: invalid version ${JSON.stringify(cur)} in ${file} — expected "MAJOR.MINOR.PATCH"`);
process.exit(1);
}
const v = `${maj}.${min}.${pat + 1}`;
writeFileSync(file, JSON.stringify({ version: v }) + "\n");
console.log("version →", v);