level-up/backend/main.ts
Moritz Ruth 63516d0267
All checks were successful
Build / build (push) Successful in 1m8s
WIP: Fix and improve interaction scenes
2025-04-14 15:42:37 +02:00

28 lines
No EOL
883 B
TypeScript

import createExpressApp, { static as staticMiddleware } from "express"
import { listen } from "listhen"
import { appRouter } from "./trpc"
import { createExpressMiddleware as createTrpcMiddleware } from "@trpc/server/adapters/express"
import { createContext } from "./trpc/base"
import { isDev } from "./isDev"
import { resolve } from "node:path"
const expressApp = createExpressApp()
expressApp.use("/trpc", createTrpcMiddleware({
router: appRouter,
createContext: ({ req, res }) => createContext(req, res),
}))
if (!isDev) expressApp.use(staticMiddleware(resolve(import.meta.dirname, "../dist")))
const { server } = await listen(expressApp, { isProd: !isDev, autoClose: false })
const stop = () => {
console.log("Received stop signal")
server.closeAllConnections()
server.close()
server.unref()
}
process.on("SIGTERM", stop)
process.on("SIGINT", stop)