Jobber/scripts/set-orchestrator-version.mjs
2026-03-10 15:16:00 +00:00

41 lines
1.3 KiB
JavaScript

import { readFileSync, writeFileSync } from "node:fs";
const nextVersion = process.argv[2]?.trim();
if (!nextVersion || !/^\d+\.\d+\.\d+$/.test(nextVersion)) {
console.error("Usage: node ./scripts/set-orchestrator-version.mjs <x.y.z>");
process.exit(1);
}
const orchestratorPackagePath = new URL(
"../orchestrator/package.json",
import.meta.url,
);
const packageLockPath = new URL("../package-lock.json", import.meta.url);
const orchestratorPackage = JSON.parse(
readFileSync(orchestratorPackagePath, "utf8"),
);
if (orchestratorPackage.version === nextVersion) {
console.log(`orchestrator/package.json already at ${nextVersion}`);
} else {
orchestratorPackage.version = nextVersion;
writeFileSync(
orchestratorPackagePath,
`${JSON.stringify(orchestratorPackage, null, 2)}\n`,
);
console.log(`Updated orchestrator/package.json to ${nextVersion}`);
}
const packageLock = JSON.parse(readFileSync(packageLockPath, "utf8"));
if (!packageLock.packages?.orchestrator) {
console.error("package-lock.json is missing packages.orchestrator");
process.exit(1);
}
packageLock.packages.orchestrator.version = nextVersion;
writeFileSync(packageLockPath, `${JSON.stringify(packageLock, null, 2)}\n`);
console.log(`Updated package-lock.json orchestrator entry to ${nextVersion}`);