Files
lda-wf/web/packages/rpc/scripts/workflow-contract.ts
T

21 lines
765 B
TypeScript

import { join } from "node:path";
import { fileURLToPath } from "node:url";
import {
checkWorkflowContract,
writeWorkflowContract,
} from "./workflow-contract-generator.js";
const packageRoot = fileURLToPath(new URL("..", import.meta.url));
const repositoryRoot = fileURLToPath(new URL("../../../..", import.meta.url));
const manifestPath = join(repositoryRoot, "contracts", "workflow-api.manifest.json");
const outputPath = join(packageRoot, "src", "generated", "workflow-contract.ts");
const mode = process.argv[2];
if (mode === "write") {
await writeWorkflowContract(manifestPath, outputPath);
} else if (mode === "check") {
await checkWorkflowContract(manifestPath, outputPath);
} else {
throw new Error("usage: workflow-contract <write|check>");
}