From f6fb73b8dbe587ad4c1f3e67458b2287147e2b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Wed, 17 Sep 2025 02:17:15 +0200 Subject: [PATCH] Refactoring --- packages/common/src/webrpc/WebRpc.ts | 4 ---- packages/common/src/webrpc/WebRpcSerialization.ts | 5 ----- packages/common/src/webrpc/index.ts | 11 +++++++++-- packages/server/src/http.ts | 10 +++++----- packages/server/src/webrpc/WebRpcLive.ts | 8 -------- packages/server/src/webrpc/index.ts | 10 +++++++++- 6 files changed, 23 insertions(+), 25 deletions(-) delete mode 100644 packages/common/src/webrpc/WebRpc.ts delete mode 100644 packages/common/src/webrpc/WebRpcSerialization.ts delete mode 100644 packages/server/src/webrpc/WebRpcLive.ts diff --git a/packages/common/src/webrpc/WebRpc.ts b/packages/common/src/webrpc/WebRpc.ts deleted file mode 100644 index 0dd6d6a..0000000 --- a/packages/common/src/webrpc/WebRpc.ts +++ /dev/null @@ -1,4 +0,0 @@ -import * as WebRpcTest from "./WebRpcTest" - - -export class WebRpc extends WebRpcTest.WebRpcTest {} diff --git a/packages/common/src/webrpc/WebRpcSerialization.ts b/packages/common/src/webrpc/WebRpcSerialization.ts deleted file mode 100644 index 38d18a1..0000000 --- a/packages/common/src/webrpc/WebRpcSerialization.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { RpcSerialization } from "@effect/rpc" - - -export const WebRpcSerializationDevelopment = RpcSerialization.layerJson -export const WebRpcSerializationProduction = RpcSerialization.layerNdjson diff --git a/packages/common/src/webrpc/index.ts b/packages/common/src/webrpc/index.ts index 3698a07..49fe0b7 100644 --- a/packages/common/src/webrpc/index.ts +++ b/packages/common/src/webrpc/index.ts @@ -1,3 +1,10 @@ -export * as WebRpc from "./WebRpc" -export * as WebRpcSerialization from "./WebRpcSerialization" +import { RpcSerialization } from "@effect/rpc" +import * as WebRpcTest from "./WebRpcTest" + + +export class WebRpc extends WebRpcTest.WebRpcTest {} + +export const WebRpcSerializationDevelopment = RpcSerialization.layerJson +export const WebRpcSerializationProduction = RpcSerialization.layerNdjson + export * as WebRpcTest from "./WebRpcTest" diff --git a/packages/server/src/http.ts b/packages/server/src/http.ts index 2f69d8b..da02f1c 100644 --- a/packages/server/src/http.ts +++ b/packages/server/src/http.ts @@ -1,7 +1,7 @@ import { FileSystem, HttpMiddleware, HttpRouter, HttpServer, HttpServerRequest, HttpServerResponse, Path } from "@effect/platform" import { RpcServer } from "@effect/rpc" import { CommonConfig } from "@website/common/config" -import { WebRpc, WebRpcSerialization } from "@website/common/webrpc" +import { WebRpc, WebRpcSerializationDevelopment, WebRpcSerializationProduction } from "@website/common/webrpc" import { Duration, Effect, flow, Layer } from "effect" import { WebRpcLive } from "./webrpc" @@ -10,10 +10,10 @@ const router = HttpRouter.empty const makeWebRpcRoute = Effect.all([ CommonConfig.webRpcHttpPath, - RpcServer.toHttpApp(WebRpc.WebRpc), + RpcServer.toHttpApp(WebRpc), ]).pipe( Effect.map(([path, app]) => HttpRouter.mountApp(path, app)), - Effect.provide(WebRpcLive.WebRpcLive), + Effect.provide(WebRpcLive), ) const makeProductionWebappMiddleware = Effect.gen(function*() { @@ -38,7 +38,7 @@ const makeProductionWebappMiddleware = Effect.gen(function*() { }) -export const HttpAppDevelopment = Effect.provide(makeWebRpcRoute, WebRpcSerialization.WebRpcSerializationDevelopment).pipe( +export const HttpAppDevelopment = Effect.provide(makeWebRpcRoute, WebRpcSerializationDevelopment).pipe( Effect.map(serveWebRpc => router.pipe( serveWebRpc, HttpServer.serve(flow( @@ -52,7 +52,7 @@ export const HttpAppDevelopment = Effect.provide(makeWebRpcRoute, WebRpcSerializ ) export const HttpAppProduction = Effect.all([ - Effect.provide(makeWebRpcRoute, WebRpcSerialization.WebRpcSerializationProduction), + Effect.provide(makeWebRpcRoute, WebRpcSerializationProduction), makeProductionWebappMiddleware, ]).pipe( Effect.map(([serveWebRpc, serveProductionWebapp]) => router.pipe( diff --git a/packages/server/src/webrpc/WebRpcLive.ts b/packages/server/src/webrpc/WebRpcLive.ts deleted file mode 100644 index c3d2d7c..0000000 --- a/packages/server/src/webrpc/WebRpcLive.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Layer } from "effect" -import * as WebRpcTestLive from "./WebRpcTestLive" -import type { WebRpc } from "@website/common/webrpc" - - -export const WebRpcLive = Layer.mergeAll( - WebRpcTestLive.WebRpcTestLive, -) satisfies ReturnType diff --git a/packages/server/src/webrpc/index.ts b/packages/server/src/webrpc/index.ts index 916d1c9..7dc73f2 100644 --- a/packages/server/src/webrpc/index.ts +++ b/packages/server/src/webrpc/index.ts @@ -1,2 +1,10 @@ -export * as WebRpcLive from "./WebRpcLive" +import type { WebRpc } from "@website/common/webrpc" +import { Layer } from "effect" +import * as WebRpcTestLive from "./WebRpcTestLive" + + +export const WebRpcLive = Layer.mergeAll( + WebRpcTestLive.WebRpcTestLive, +) satisfies ReturnType + export * as WebRpcTestLive from "./WebRpcTestLive"