| 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 |