seahaven-ap/packages/api/src/index.ts
Adam Moussa 9d3646876e
feat(api): stand up Hono Drizzle foundation with auth and Redocly (AP-14) (#12)
* feat(api): stand up Hono Drizzle foundation with auth and Redocly

* fix(api): bump drizzle-orm and hono node-server past audit highs

* fix(api): harden auth upsert and Cognito token verification
2026-08-11 00:10:49 +00:00

32 lines
779 B
TypeScript

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<void> {
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;
});