From f5e737bf9645271f8525070f9ba6de1f476fafd9 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Wed, 2 Jul 2025 00:08:51 +0000 Subject: refactor: Move the trpc endpoint to hono --- packages/api/index.ts | 2 ++ packages/api/package.json | 1 + packages/api/routes/trpc.ts | 28 ++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 packages/api/routes/trpc.ts (limited to 'packages/api') diff --git a/packages/api/index.ts b/packages/api/index.ts index 5147ea37..ab7cdbe2 100644 --- a/packages/api/index.ts +++ b/packages/api/index.ts @@ -12,6 +12,7 @@ import lists from "./routes/lists"; import publicRoute from "./routes/public"; import rss from "./routes/rss"; import tags from "./routes/tags"; +import trpc from "./routes/trpc"; import users from "./routes/users"; const v1 = new Hono<{ @@ -43,6 +44,7 @@ const app = new Hono<{ await next(); }) .use(trpcAdapter) + .route("/trpc", trpc) .route("/v1", v1) .route("/assets", assets) .route("/public", publicRoute); diff --git a/packages/api/package.json b/packages/api/package.json index d51b108b..54656e64 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -13,6 +13,7 @@ "test": "vitest" }, "dependencies": { + "@hono/trpc-server": "^0.4.0", "@hono/zod-validator": "^0.5.0", "@karakeep/db": "workspace:*", "@karakeep/shared": "workspace:*", diff --git a/packages/api/routes/trpc.ts b/packages/api/routes/trpc.ts new file mode 100644 index 00000000..3d83f64a --- /dev/null +++ b/packages/api/routes/trpc.ts @@ -0,0 +1,28 @@ +import { trpcServer } from "@hono/trpc-server"; +import { Hono } from "hono"; + +import { Context } from "@karakeep/trpc"; +import { appRouter } from "@karakeep/trpc/routers/_app"; + +const trpc = new Hono<{ + Variables: { + ctx: Context; + }; +}>().use( + "/*", + trpcServer({ + endpoint: "/api/trpc", + router: appRouter, + createContext: (_, c) => { + return c.var.ctx; + }, + onError: ({ path, error }) => { + if (process.env.NODE_ENV === "development") { + console.error(`❌ tRPC failed on ${path}`); + } + console.error(error); + }, + }), +); + +export default trpc; -- cgit v1.2.3-70-g09d2