mirror of
https://github.com/morten-olsen/morten-olsen.github.io.git
synced 2026-02-08 01:46:28 +01:00
19 lines
648 B
TypeScript
19 lines
648 B
TypeScript
import { fileURLToPath } from 'url'
|
|
import { resolve, dirname } from 'path'
|
|
import { writeFile, mkdir } from 'fs/promises'
|
|
import { compile } from 'json-schema-to-typescript'
|
|
|
|
const root = fileURLToPath(new URL('..', import.meta.url))
|
|
|
|
const response = await fetch(
|
|
'https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json'
|
|
)
|
|
const schema = await response.json()
|
|
|
|
const types = await compile(schema, 'ResumeSchema', { bannerComment: '' })
|
|
|
|
const location = resolve(root, 'src/types/resume-schema.ts')
|
|
console.log(`Writing to ${location}`)
|
|
await mkdir(dirname(location), { recursive: true })
|
|
await writeFile(location, types)
|