import { serve } from "@hono/node-server"; import { createApp } from "./app.js"; import { closeDb, createDb } from "./db/client.js"; import { loadEnv } from "./env.js"; async function main(): Promise { const env = loadEnv(); const handle = createDb(env); const app = createApp(env, handle); const server = serve({ fetch: app.fetch, port: env.port }, (info) => { console.log(`@seahaven-ap/api listening on http://127.0.0.1:${info.port}`); }); const shutdown = async () => { server.close(); await closeDb(handle); process.exit(0); }; process.on("SIGINT", () => { void shutdown(); }); process.on("SIGTERM", () => { void shutdown(); }); } main().catch((error: unknown) => { console.error(error); process.exitCode = 1; });