diff --git a/packages/server/src/http.ts b/packages/server/src/http.ts index 6746a02..1cb25b8 100644 --- a/packages/server/src/http.ts +++ b/packages/server/src/http.ts @@ -1,5 +1,5 @@ import { HttpMiddleware, HttpRouter, HttpServer, HttpServerResponse, Path } from "@effect/platform" -import { Effect, flow, Layer } from "effect" +import { Console, Effect, flow, Layer } from "effect" const router = HttpRouter.empty.pipe( @@ -13,15 +13,21 @@ export const HttpAppDevelopment = router.pipe( HttpServer.withLogAddress, ) -export const HttpAppProduction = Effect.all([ - Path.Path, - Effect.succeed(import.meta.resolve("@website/webapp")), -]).pipe( - Effect.map(([path, webappDist]) => router.pipe( +export const HttpAppProduction = Effect.Do.pipe( + Effect.bind("path", () => Path.Path), + Effect.bind("webappDist", ({ path }) => Effect.map( + path.fromFileUrl(new URL(".", import.meta.resolve("@website/webapp"))), + v => path.join(v, "dist"), + )), + + Effect.map(({ path, webappDist }) => router.pipe( HttpRouter.all("/", HttpServerResponse.file(path.join(webappDist, "index.html"))), HttpRouter.all("/assets", HttpServerResponse.file(path.join(webappDist, "assets"))), - HttpServer.serve(HttpMiddleware.xForwardedHeaders), + HttpServer.serve(flow( + HttpMiddleware.logger, + HttpMiddleware.xForwardedHeaders, + )), HttpServer.withLogAddress, )), diff --git a/packages/webapp/package.json b/packages/webapp/package.json index 50694eb..100abf2 100644 --- a/packages/webapp/package.json +++ b/packages/webapp/package.json @@ -2,7 +2,7 @@ "name": "@website/webapp", "private": true, "type": "module", - "module": "./dist", + "module": "./stub.ts", "scripts": { "dev": "vite", "build": "tsc -b && vite build", diff --git a/packages/webapp/stub.ts b/packages/webapp/stub.ts new file mode 100644 index 0000000..336ce12 --- /dev/null +++ b/packages/webapp/stub.ts @@ -0,0 +1 @@ +export {}