Skip to content

cuspeii/orpc

 
 

Repository files navigation

NPM Downloads GitHub Release GitHub commit activity GitHub License

End-to-end typesafe APIs built quicker & easier

Note

This project is still in heavy development, please be mindful of breaking changes.

oRPC is a powerful combination of RPC and OpenAPI, offering an exceptional developer experience powered by TypeScript. It's designed to be simple and straightforward to use.


Features

  • Type-safe 🔒: oRPC is built on top of TypeScript, which means you get full type safety out of the box.
  • Easy to use ✍️: oRPC is designed to be simple and straightforward to use.
  • Contract first 📝: Take advantage of a "contract first" approach to developing your API.
  • Built-in plugins 🔌: Easily implement into your favourite frameworks.

Documentation & Examples

You can find the full documentation & examples here.


Packages

  • @orpc/contract: Build your API contract.
  • @orpc/server: Build your API or implement API contract.
  • @orpc/client: Consume your API on the client with type-safety.
  • @orpc/react: High level integration with React Query.
  • @orpc/react-query: Low level integration with React Query.
  • @orpc/vue-query: Low level integration with Vue Query.
  • @orpc/vue-colada: Low level integration with Pinia Colada.
  • @orpc/openapi: Generate OpenAPI specs and provide OpenAPI handler for @orpc/server.
  • @orpc/next: Helpers and hooks for Next.JS.
  • @orpc/zod: More schemas that Zod doesn't support yet.

Comparison

This comparison table helps you understand how oRPC differs from other popular TypeScript RPC and REST solutions.

  • ✅ First-class, built-in support.
  • 🟡 Lacks features, or requires third-party integrations.
  • 🛑 Not supported or not documented.
Feature oRPC tRPC ts-rest Description
End-to-end Type Safety Full TypeScript type inference from backend to frontend.
React Query Integration 🟡 Native support for React Query/TanStack Query.
Vue Query Integration 🛑 🟡 Native support for Vue Query/TanStack Query.
Pinia Colada Integration 🛑 🛑 Native support for VPinia Colada.
Contract-First Development 🛑 API definitions before implementation.
File Operations 🟡 🟡 Built-in support for file uploads/downloads.
OpenAPI Support 🟡 🟡 Generation and consumption of OpenAPI specs.
Server Actions Support 🛑 React/Next.js Actions compatibility.
WebSockets/SSE Support 🛑 🛑 WebSockets/SSE support.
Nest.js integration 🛑 🟡 Integration with Nest.js.

References

oRPC is inspired by existing solutions that prioritize type safety and developer experience. Special acknowledgments to:

  • tRPC: For pioneering the concept of end-to-end type-safe RPC and influencing the development of type-safe APIs.
  • ts-rest: For its emphasis on contract-first development and OpenAPI integration, which have greatly inspired oRPC’s feature set.

License

Distributed under the MIT License. See LICENSE for more information.

About

End-to-end typesafe APIs builder, Developer-first simplicity

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 90.3%
  • MDX 9.2%
  • Other 0.5%