Files
Portfolio/scripts/deploy/activate-release.mjs

29 lines
968 B
JavaScript
Executable File

#!/usr/bin/env node
import { pathToFileURL } from "node:url";
import { resolve } from "node:path";
import { activateRelease } from "./lib/release-transaction.mjs";
async function main() {
const args = process.argv.slice(2);
if (args.length !== 4)
throw new Error(
"Usage: activate-release.mjs <root> <transaction-id> <expected-current|none> <expected-fence>",
);
const [root, transactionId, expectedCurrentManifestDigest, expectedFence] =
args;
const receipt = await activateRelease({
root: resolve(root),
transactionId,
expectedCurrentManifestDigest,
expectedFence: Number(expectedFence),
});
process.stdout.write(`${JSON.stringify(receipt)}\n`);
}
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href)
main().catch((error) => {
process.stderr.write(
`Release activation failed: ${error instanceof Error ? error.message : "unknown error"}\n`,
);
process.exitCode = 1;
});