- Extract database schema and migrations into @openreader/database - Extract startup and orchestration scripts into @openreader/bootstrap - Move compute-worker into packages/compute-worker - Remove runtime dependency on drizzle-kit - Update Dockerfile to deploy isolated packages without merging node_modules
20 lines
682 B
TypeScript
20 lines
682 B
TypeScript
import { mkdir, writeFile } from 'node:fs/promises';
|
|
import { dirname, resolve } from 'node:path';
|
|
import { createComputeWorkerApp } from '../src/api/app';
|
|
|
|
process.env.COMPUTE_WORKER_TOKEN ||= 'openapi-generation-token';
|
|
process.env.NATS_URL ||= 'nats://127.0.0.1:4222';
|
|
|
|
const outputPath = resolve(process.cwd(), 'openapi.json');
|
|
const runtime = await createComputeWorkerApp({
|
|
workerToken: process.env.COMPUTE_WORKER_TOKEN,
|
|
disableWorkers: true,
|
|
});
|
|
|
|
try {
|
|
await runtime.app.ready();
|
|
await mkdir(dirname(outputPath), { recursive: true });
|
|
await writeFile(outputPath, `${JSON.stringify(runtime.app.swagger(), null, 2)}\n`, 'utf8');
|
|
} finally {
|
|
await runtime.close();
|
|
}
|