diff --git a/bun.lockb b/bun.lockb index 949e947..a033c05 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/packages/common/package.json b/packages/common/package.json index 3f94b00..0e7022b 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -3,11 +3,11 @@ "type": "module", "exports": { "./data": "./src/data/index.ts", + "./rpc": "./src/rpc/index.ts", "./traits": "./src/traits/index.ts" }, "private": true, "dependencies": { - "@effect/rpc": "^0.31.18", "@effect/schema": "^0.68.15", "@thilawyn/thilalib": "^0.1.5", "effect": "^3.4.6" diff --git a/packages/common/src/rpc/index.ts b/packages/common/src/rpc/index.ts index 7cc37f9..1bff360 100644 --- a/packages/common/src/rpc/index.ts +++ b/packages/common/src/rpc/index.ts @@ -1,11 +1 @@ -import { Rpc } from "@effect/rpc" -import { Schema as S } from "@effect/schema" -import { JsonifiableTodo } from "../data" - - -export class GetTodos extends Rpc.StreamRequest()( - "GetTodos", - S.Never, - JsonifiableTodo, - {}, -) {} +export type { Router } from "@todo-tests/server" diff --git a/packages/server/package.json b/packages/server/package.json index 63f7dc3..d6e9a12 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,11 +1,13 @@ { "name": "@todo-tests/server", "type": "module", + "exports": { + ".": "./src/router.ts" + }, "private": true, "dependencies": { "@effect/platform": "^0.58.18", "@effect/platform-bun": "^0.38.17", - "@effect/rpc-http": "^0.29.18", "@effect/schema": "^0.68.15", "@thilawyn/thilalib": "^0.1.5", "@todo-tests/common": "workspace:*", diff --git a/packages/server/src/router.ts b/packages/server/src/router.ts new file mode 100644 index 0000000..716a8da --- /dev/null +++ b/packages/server/src/router.ts @@ -0,0 +1,4 @@ +import type { RPCRouter } from "./rpc/RPCRouter" + + +export type Router = RPCRouter.Router diff --git a/packages/server/src/rpc/RPCRouter.ts b/packages/server/src/rpc/RPCRouter.ts index 2a2c786..997e96a 100644 --- a/packages/server/src/rpc/RPCRouter.ts +++ b/packages/server/src/rpc/RPCRouter.ts @@ -23,6 +23,5 @@ export class RPCRouter extends Context.Tag("RPCRouter") - export const Live = Layer.effect(RPCRouter, router) } diff --git a/packages/webui/package.json b/packages/webui/package.json index 5838bed..52cb517 100644 --- a/packages/webui/package.json +++ b/packages/webui/package.json @@ -9,6 +9,9 @@ "preview": "vite preview" }, "dependencies": { + "@tanstack/react-query": "4", + "@trpc/client": "^10.45.2", + "@trpc/react-query": "^10.45.2", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/packages/webui/src/trpc/trpc.ts b/packages/webui/src/trpc/trpc.ts new file mode 100644 index 0000000..b644009 --- /dev/null +++ b/packages/webui/src/trpc/trpc.ts @@ -0,0 +1,5 @@ +import type { Router } from "@todo-tests/common/rpc" +import { createTRPCReact } from "@trpc/react-query" + + +export const trpc = createTRPCReact()