From 8b58df25f3d9a1a03979eaceae19a248997bb24a Mon Sep 17 00:00:00 2001 From: EcstaceeLOR Date: Thu, 17 Sep 2026 11:14:47 +0100 Subject: [PATCH] add-vercel-api-function --- apps/api/api/index.ts | 16 ++++++++++++++++ apps/api/vercel.json | 7 +++++++ 2 files changed, 23 insertions(+) create mode 100644 apps/api/api/index.ts create mode 100644 apps/api/vercel.json diff --git a/apps/api/api/index.ts b/apps/api/api/index.ts new file mode 100644 index 0000000..f42d0bf --- /dev/null +++ b/apps/api/api/index.ts @@ -0,0 +1,16 @@ +import { buildServer } from "../src/app.js"; +import type { IncomingMessage, ServerResponse } from "node:http"; + +const server = buildServer({ secureCookies: true }); +let ready: Promise | undefined; + +async function serverlessHandler( + request: IncomingMessage, + response: ServerResponse, +) { + ready ??= server.ready(); + await ready; + server.server.emit("request", request, response); +} + +export default serverlessHandler; diff --git a/apps/api/vercel.json b/apps/api/vercel.json new file mode 100644 index 0000000..e02289e --- /dev/null +++ b/apps/api/vercel.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://openapi.vercel.sh/vercel.json", + "rewrites": [{ "source": "/(.*)", "destination": "/api/index" }], + "functions": { + "api/index.ts": { "maxDuration": 30 } + } +}