返回 slidev
schema.ts
根目录 / packages / vscode / scripts / schema.ts
1 import fs from 'node:fs/promises'
2 import tsj from 'ts-json-schema-generator'
3
4 const program = tsj
5 .createGenerator({
6 path: '../../packages/types/src/frontmatter.ts',
7 tsconfig: '../../tsconfig.json',
8 markdownDescription: true,
9 additionalProperties: true,
10 jsDoc: 'extended',
11 skipTypeCheck: true,
12 })
13
14 await Promise.all([
15 fs.writeFile('./schema/headmatter.json', `${JSON.stringify(
16 program.createSchema('Headmatter'),
17 null,
18 2,
19 )}\n`),
20
21 fs.writeFile('./schema/frontmatter.json', `${JSON.stringify(
22 program.createSchema('Frontmatter'),
23 null,
24 2,
25 )}\n`),
26 ])
27
27 lines TYPESCRIPT