import { inspectMigrations } from "./client.js"; import { resolveMigrationConnection } from "./migration-runtime.js"; const jsonMode = process.argv.includes("--json"); async function main(): Promise { const connection = await resolveMigrationConnection(); try { const state = await inspectMigrations(connection.connectionString); const payload = state.status === "upToDate" ? { source: connection.source, status: "upToDate" as const, tableCount: state.tableCount, pendingMigrations: [] as string[], } : { source: connection.source, status: "needsMigrations" as const, tableCount: state.tableCount, pendingMigrations: state.pendingMigrations, reason: state.reason, }; if (jsonMode) { console.log(JSON.stringify(payload)); return; } if (payload.status === "upToDate") { console.log(`Database is up to date via ${payload.source}`); return; } console.log( `Pending migrations via ${payload.source}: ${payload.pendingMigrations.join(", ")}`, ); } finally { await connection.stop(); } } await main();