24 lines
651 B
TypeScript
24 lines
651 B
TypeScript
|
|
import { buildApp } from '../src/app.js'
|
||
|
|
import { writeFileSync, mkdirSync, existsSync } from 'fs'
|
||
|
|
import { join } from 'path'
|
||
|
|
|
||
|
|
async function main() {
|
||
|
|
const app = await buildApp({ skipAuth: true })
|
||
|
|
await app.ready()
|
||
|
|
|
||
|
|
const spec = app.swagger()
|
||
|
|
|
||
|
|
const outDir = join(import.meta.dirname, '..', 'generated')
|
||
|
|
if (!existsSync(outDir)) mkdirSync(outDir, { recursive: true })
|
||
|
|
|
||
|
|
writeFileSync(join(outDir, 'openapi.json'), JSON.stringify(spec, null, 2))
|
||
|
|
|
||
|
|
console.log(`OpenAPI spec written to generated/openapi.json (${JSON.stringify(spec).length} bytes)`)
|
||
|
|
await app.close()
|
||
|
|
}
|
||
|
|
|
||
|
|
main().catch((err) => {
|
||
|
|
console.error(err)
|
||
|
|
process.exit(1)
|
||
|
|
})
|