runtimes/script/generate-types.ts (18 lines of code) (raw):
import { exec } from 'child_process'
import path from 'path'
import { promisify } from 'util'
const execAsync = promisify(exec)
async function generateTypes() {
try {
const schemaDir = path.resolve(__dirname, '../runtimes/operational-telemetry/telemetry-schemas')
const input = path.join(schemaDir, 'telemetry-schema.json')
const output = path.join(schemaDir, '../types/generated/telemetry.d.ts')
console.log('Generating TypeScript types from json schemas...')
await execAsync(`json2ts -i "${input}" -o "${output}" --unreachableDefinitions`, { cwd: schemaDir })
console.log('Types generated successfully')
} catch (error) {
console.error('Error generating types:', error)
process.exit(1)
}
}
generateTypes()