aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/app.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/app.ts')
-rw-r--r--src/server/app.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/app.ts b/src/server/app.ts
new file mode 100644
index 0000000..40183e9
--- /dev/null
+++ b/src/server/app.ts
@@ -0,0 +1,31 @@
+import express from "express"
+import relDir from "./utils/relDir.js"
+import { errHandler, notFound, offline } from "./errHanadler.js"
+
+const dir = relDir(import.meta.url)
+
+await import("./build.js")
+export const app = express()
+
+app.set("views", false)
+app.set("etag", "strong")
+app.set("x-powered-by", false)
+app.set("trust proxy", true)
+
+app.use((await import("morgan")).default(":remote-addr :method :url :http-version :status :response-time ms"))
+app.use((await import("./router.js")).default)
+app.use("/offline", offline)
+app.use((await import("./img.js")).default(dir("../../assets")))
+app.use(express.static(dir("../../assets"), { index: false }))
+app.use(express.static(dir("../client"), { index: false }))
+app.use(express.static(dir("../worker"), { index: false }))
+app.use((await import("./img.js")).default(dir("/static")))
+app.use(express.static(dir("/static"), { index: false }))
+app.get("/favicon.ico", (_req, res) => {
+ res.status(204).send()
+})
+
+app.use(notFound)
+app.use(errHandler)
+
+export default app