29 lines
968 B
JavaScript
Executable File
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;
|
|
});
|