// server/index.ts
import fastify from 'fastify';
import fastifyRateLimit from '@fastify/rate-limit';
import { fastifyTRPCPlugin } from '@trpc/server/adapters/fastify';
import { appRouter } from './routers/index.js';
import { createContext } from './constants/context.js';
const server = fastify({ logger: { transport: { target: 'pino-pretty' } } });
// ...
await server.register(
fastifyRateLimit,
{ global: false },
);
await server.register(
fastifyTRPCPlugin,
{
prefix: '/trpc',
trpcOptions: {
createContext: createContext.bind(server),
router: appRouter,
},
},
);
// ...
// server/index.ts
import fastify from 'fastify';
import fastifyRateLimit from '@fastify/rate-limit';
import { fastifyTRPCPlugin } from '@trpc/server/adapters/fastify';
import { appRouter } from './routers/index.js';
import { createContext } from './constants/context.js';
const server = fastify({ logger: { transport: { target: 'pino-pretty' } } });
// ...
await server.register(
fastifyRateLimit,
{ global: false },
);
await server.register(
fastifyTRPCPlugin,
{
prefix: '/trpc',
trpcOptions: {
createContext: createContext.bind(server),
router: appRouter,
},
},
);
// ...