Files
paseo/packages/server/scripts/generate-config-schema.ts
2026-03-21 20:22:15 +07:00

25 lines
781 B
TypeScript

import { fileURLToPath } from "node:url";
import path from "node:path";
import fs from "node:fs";
import { zodToJsonSchema } from "zod-to-json-schema";
import { PersistedConfigSchema } from "../src/server/persisted-config.js";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
function main() {
const repoRoot = path.resolve(__dirname, "../../..");
const outPath = path.join(repoRoot, "packages/website/public/schemas/paseo.config.v1.json");
fs.mkdirSync(path.dirname(outPath), { recursive: true });
const schema = zodToJsonSchema(PersistedConfigSchema, {
name: "PaseoConfigV1",
});
fs.writeFileSync(outPath, JSON.stringify(schema, null, 2) + "\n", "utf8");
process.stdout.write(`Wrote ${outPath}\n`);
}
main();