From d5b719929bbb1fd84514f8717010b915f1386b61 Mon Sep 17 00:00:00 2001 From: Alex / KATT Date: Sun, 29 Dec 2024 22:01:44 +0100 Subject: [PATCH] chore: fix stackblitz output types (#6346) --- package.json | 1 + src/client/index.ts | 3 +++ src/server/trpc.ts | 5 ++++- src/shared/transformer.ts | 8 ++++++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/shared/transformer.ts diff --git a/package.json b/package.json index 81546b3f..d90f0769 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "dependencies": { "@trpc/client": "npm:@trpc/client@next", "@trpc/server": "npm:@trpc/server@next", + "superjson": "^1.12.4", "zod": "^3.0.0" }, "devDependencies": { diff --git a/src/client/index.ts b/src/client/index.ts index 9ceb474e..4be7fe60 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -11,6 +11,7 @@ import { * We only import the `AppRouter` type from the server - this is not available at runtime */ import type { AppRouter } from '../server/index.js'; +import { transformer } from '../shared/transformer.js'; // Initialize the tRPC client const trpc = createTRPCClient({ @@ -19,9 +20,11 @@ const trpc = createTRPCClient({ condition: (op) => op.type === 'subscription', true: unstable_httpSubscriptionLink({ url: 'http://localhost:3000', + transformer, }), false: unstable_httpBatchStreamLink({ url: 'http://localhost:3000', + transformer, }), }), ], diff --git a/src/server/trpc.ts b/src/server/trpc.ts index 2a9aec85..398c26f9 100644 --- a/src/server/trpc.ts +++ b/src/server/trpc.ts @@ -1,10 +1,13 @@ import { initTRPC } from '@trpc/server'; +import { transformer } from '../shared/transformer.js'; /** * Initialization of tRPC backend * Should be done only once per backend! */ -const t = initTRPC.create(); +const t = initTRPC.create({ + transformer, +}); /** * Export reusable router and procedure helpers diff --git a/src/shared/transformer.ts b/src/shared/transformer.ts new file mode 100644 index 00000000..2383c481 --- /dev/null +++ b/src/shared/transformer.ts @@ -0,0 +1,8 @@ +/** + * If you need to add transformers for special data types like `Temporal.Instant` or `Temporal.Date`, `Decimal.js`, etc you can do so here. + * Make sure to import this file rather than `superjson` directly. + * @see https://github.com/blitz-js/superjson#recipes + */ +import superjson from 'superjson'; + +export const transformer = superjson;