Files
quixos-protocol/test/emit-portable-reader.ts
T

14 lines
770 B
TypeScript

/** Qualification artifact emitted after tests, never a production fixture dependency. */
import { mkdir, writeFile } from "node:fs/promises";
import { loadReaderWorkspace } from "./reader-fixture.js";
import { compileExecutionPlan } from "../src/execution-world/plan.js";
import { generatePortableTypeScriptBindings } from "../src/bindings/portable.js";
const plan = compileExecutionPlan(await loadReaderWorkspace());
await mkdir("dist/portable-reader", { recursive: true });
for (const target of ["browser", "server"])
await writeFile(
`dist/portable-reader/${target}.ts`,
generatePortableTypeScriptBindings(plan.definition.bindingSchema, "package:reader-runtime@1", { target }),
);
await writeFile("dist/portable-reader/plan.json", JSON.stringify(plan));