import { readFile } from "node:fs/promises"; import { resolve } from "node:path"; import { loadOpenApiSchema, renderOpenApiTypes } from "./openapi-contract.mjs"; const outputPath = resolve("src/api/schema.generated.ts"); const [expected, actual] = await Promise.all([ loadOpenApiSchema().then(renderOpenApiTypes), readFile(outputPath, "utf8"), ]); if (actual !== expected) { throw new Error("Generated OpenAPI types are stale; run npm run generate:api"); } console.log("Generated OpenAPI types match the offline FastAPI contract");