raviqqe/onerpc
raviqqe/onerpc has 31 GitHub stars and 1 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-10 02:23 UTC. Last push 2026-11-03.
The router-less serverless RPC framework for TypeScript
What you can do
- 🔮 Seamless client-server communication You can call remote procedures just as seamless as calling local functions.
- 🛡️ Type safe Server-client communication is made safe with request and response types in TypeScript which are used by both client and server.
- 🔥 Serverless first Routing is delegated to other frameworks or infrastructures.
- 🤝 HTTP friendly You can leverage full potential of HTTP functionalities, such as cache control headers.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginaloneRPC
The router-less serverless RPC framework.
oneRPC is a minimal RPC library to convert a server-side function of a type, (input: T) => Promise<S> into (request: Request) => Promise<Response> and make it callable from the client side in a type-safe way.
Currently, we support React Router, Next.js Route Handlers, and AWS Lambda.
Features
🔮 Seamless client-server communication
You can call remote procedures just as seamless as calling local functions.
🛡️ Type safe
Server-client communication is made safe with request and response types in TypeScript which are used by both client and server.
🔥 Serverless first
Routing is delegated to other frameworks or infrastructures.
🤝 HTTP friendly
You can leverage full potential of HTTP functionalities, such as cache control headers.
🐁 Minimal dependencies
It depends only on Web APIs. Thus, it works on many platforms including Node.js, Deno, and edge runtimes.
🌊 Streaming support
Stream responses are transferred as JSON Lines and clients can consume them chunk by chunk.
Documentation
Here.
Examples
For all examples, see a examples directory.
Next.js with Route Handlers
app/api/foo/route.ts:
import { query } from "onerpc";
import { z } from "zod";
export const GET = query(z.number(), z.string(), (x) => `Hello, ${x}!`, {
path: "/api/foo",
});
app/page.tsx:
import { type GET } from "@/app/api/foo/route";
import { query } from "onerpc/client";
export default async (): Promise<JSX.Element> => (
<div>{await query<typeof GET>("/api/foo", 42))}</div>
);
References
License
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,829 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,466 starsreact/react
The library for web and native user interfaces.
252,465 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,625 stars