Skip to content

Commit ec1623d

Browse files
chore(scripts): add generate-config-schemas script
- Add script to generate and write config JSON schemas - Writes UserConfig and ProjectConfig schemas to repo root Adds a new script that generates and outputs JSON schemas for user and project config, ensuring the schemas exist at the repository root as JSON files. Co-Authored-By: Ai Commit <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 1e015e4 commit ec1623d

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

scripts/generate-config-schemas.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { mkdir, writeFile } from "node:fs/promises";
2+
import { dirname, resolve } from "node:path";
3+
import { fileURLToPath } from "node:url";
4+
import {
5+
ProjectConfigSchemaFileName,
6+
UserConfigSchemaFileName,
7+
projectConfigJsonSchema,
8+
userConfigJsonSchema,
9+
} from "../src/config/file-schema.ts";
10+
11+
const scriptDir = dirname(fileURLToPath(import.meta.url));
12+
const repoRoot = resolve(scriptDir, "..");
13+
14+
const outputs = [
15+
[UserConfigSchemaFileName, userConfigJsonSchema()],
16+
[ProjectConfigSchemaFileName, projectConfigJsonSchema()],
17+
] as const;
18+
19+
for (const [relativePath, content] of outputs) {
20+
const absolutePath = resolve(repoRoot, relativePath);
21+
await mkdir(dirname(absolutePath), { recursive: true });
22+
await writeFile(absolutePath, `${JSON.stringify(content, null, 2)}\n`, "utf8");
23+
}

0 commit comments

Comments
 (0)