@trpc/server
The tRPC server library
About
The tRPC server library
Live mirror of the GitHub README. Updated whenever the repo's default branch changes.
tRPC
End-to-end typesafe APIs made easy
@trpc/server
Create tRPC routers and connect them to a server.
Documentation
Full documentation for @trpc/server can be found here
Installation
# npm
npm install @trpc/server
# Yarn
yarn add @trpc/server
# pnpm
pnpm add @trpc/server
# Bun
bun add @trpc/server
We also recommend installing zod to validate procedure inputs.
AI Agents
If you use an AI coding agent, install tRPC skills for better code generation:
npx @tanstack/intent@latest install
Basic Example
import { initTRPC } from '@trpc/server';
import {
CreateHTTPContextOptions,
createHTTPServer,
} from '@trpc/server/adapters/standalone';
import { z } from 'zod';
// Initialize a context for the server
function createContext(opts: CreateHTTPContextOptions) {
return {};
}
// Get the context type
type Context = Awaited<ReturnType<typeof createContext>>;
// Initialize tRPC
const t = initTRPC.context<Context>().create();
// Create main router
const appRouter = t.router({
// Greeting procedure
greeting: t.procedure
.input(
z.object({
name: z.string(),
}),
)
.query(({ input }) => `Hello, ${input.name}!`),
});
// Export the app router type to be imported on the client side
export type AppRouter = typeof appRouter;
// Create HTTP server
const { listen } = createHTTPServer({
router: appRouter,
createContext,
});
// Listen on port 2022
listen(2022);
Quick facts
npm install @trpc/serverCommon pairings
Packages this one expects to find in the same project. Each is also a Sourcemap Explorer detection target.
How Sourcemap Explorer detects @trpc/server
We catch @trpc/server from two complementary signals: bundled source paths and the embedded package.json. Modern bundlers (webpack, Vite, esbuild, Rollup, Turbopack) preserve the original node_modules/@trpc/server/ paths inside the JavaScript sourcemap's sources[] array — that's the canonical signal. When the matching package.json is also captured in sourcesContent[], we read the exact version field — patch number included. No regex guessing, no version inference.
- 1
Confirm the site exposes sourcemaps
In DevTools Network, check the response headers of any application script for `SourceMap` or `X-SourceMap`. Failing that, fetch the script's last 4 KB and look for a `//# sourceMappingURL=` comment.
- 2
Find the package in the bundle
Open DevTools → Network → reload. Click any application script and look at its sourcemap. Inside, search `sources[]` for entries matching `node_modules/@trpc/server/` — every match confirms the package is bundled. The matching `sourcesContent[i]` for `node_modules/@trpc/server/package.json` gives you the exact installed version.
- 3
Read the version directly from package.json
Run `jq -r '. as $m | $m.sources | to_entries[] | select(.value | endswith("node_modules/@trpc/server/package.json")) | $m.sourcesContent[.key] | fromjson | .version' bundle.js.map`. Sourcemap Explorer automates the same query in the popup.
Recent versions
FAQ
What is @trpc/server used for?
The tRPC server library
How can I tell if a website is using @trpc/server?
Open the page in Chrome with the Sourcemap Explorer extension installed and read the Stack tab. We catch `@trpc/server` from two complementary signals: `node_modules/@trpc/server/` paths inside the JavaScript sourcemap, and the embedded `package.json` we read for exact-version detection. Without the extension you can do the same lookup manually in DevTools — the steps are listed in the "How Sourcemap Explorer detects" section above.
What is the latest version of @trpc/server?
11.17.0, as published on the npm registry. The "Recent versions" table on this page lists the most recent 8 releases with their release dates. Sourcemap Explorer reports the version actually bundled into a site, which can lag the latest release by months on real-world deployments.
Where can I read more?
Project homepage: https://trpc.io. Source code: https://github.com/trpc/trpc. Published on npm: https://www.npmjs.com/package/@trpc/server. Licensed as MIT.
Detected by Sourcemap Explorer
When a bundle ships sourcemaps, we read the embedded package.json for @trpc/server and report the precise version. Without sourcemaps, an import / require in the page's scripts is enough to flag it.