mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
48 lines
995 B
TypeScript
48 lines
995 B
TypeScript
import { serve } from "@hono/node-server";
|
|
import { trpcServer } from "@hono/trpc-server";
|
|
import "dotenv/config";
|
|
import { Hono } from "hono";
|
|
import { cors } from "hono/cors";
|
|
import { logger } from "hono/logger";
|
|
import { auth } from "./lib/auth";
|
|
import { createContext } from "./lib/context";
|
|
import { appRouter } from "./routers/index";
|
|
|
|
const app = new Hono();
|
|
|
|
app.use(logger());
|
|
|
|
app.use(
|
|
"/*",
|
|
cors({
|
|
origin: process.env.CORS_ORIGIN!,
|
|
allowMethods: ["GET", "POST", "OPTIONS"],
|
|
allowHeaders: ["Content-Type", "Authorization"],
|
|
credentials: true,
|
|
}),
|
|
);
|
|
|
|
app.on(["POST", "GET"], "/api/auth/**", (c) => auth.handler(c.req.raw));
|
|
|
|
app.use(
|
|
"/trpc/*",
|
|
trpcServer({
|
|
router: appRouter,
|
|
createContext: (_opts, hono) => {
|
|
return createContext({ hono });
|
|
},
|
|
}),
|
|
);
|
|
|
|
app.get("/healthCheck", (c) => {
|
|
return c.text("OK");
|
|
});
|
|
|
|
const port = 3000;
|
|
console.log(`Server is running on http://localhost:${port}`);
|
|
|
|
serve({
|
|
fetch: app.fetch,
|
|
port,
|
|
});
|