Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ contact_links:
url: https://discord.com/invite/TXEbwRBvQn
about: Join our Discord server to chat with the community and get help.
- name: GitHub Discussions
url: https://github.com/unnoq/orpc/discussions
url: https://github.com/middleapi/orpc/discussions
about: Use discussions if you have questions, ideas, or need general help.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Thank you for your interest in contributing to oRPC! We welcome all kinds of con
If you need help or have questions, please join us on [Discord](https://discord.gg/TXEbwRBvQn).

> [!TIP]
> [Mini-oRPC](https://github.com/unnoq/mini-orpc) is a simplified implementation of oRPC that includes essential features to help you understand the core concepts. It's designed to be straightforward and easy to follow, making it an ideal starting point for learning about oRPC.
> [Mini-oRPC](https://github.com/middleapi/mini-orpc) is a simplified implementation of oRPC that includes essential features to help you understand the core concepts. It's designed to be straightforward and easy to follow, making it an ideal starting point for learning about oRPC.

## Setup

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@
<h1></h1>

<div align="center">
<a href="https://codecov.io/gh/unnoq/orpc">
<img alt="codecov" src="https://codecov.io/gh/unnoq/orpc/branch/main/graph/badge.svg">
<a href="https://codecov.io/gh/middleapi/orpc">
<img alt="codecov" src="https://codecov.io/gh/middleapi/orpc/branch/main/graph/badge.svg">
</a>
<a href="https://www.npmjs.com/package/@orpc/client">
<img alt="weekly downloads" src="https://img.shields.io/npm/dw/%40orpc%2Fclient?logo=npm" />
</a>
<a href="https://github.com/unnoq/orpc/blob/main/LICENSE">
<img alt="MIT License" src="https://img.shields.io/github/license/unnoq/orpc?logo=open-source-initiative" />
<a href="https://github.com/middleapi/orpc/blob/main/LICENSE">
<img alt="MIT License" src="https://img.shields.io/github/license/middleapi/orpc?logo=open-source-initiative" />
</a>
<a href="https://discord.gg/TXEbwRBvQn">
<img alt="Discord" src="https://img.shields.io/discord/1308966753044398161?color=7389D8&label&logo=discord&logoColor=ffffff" />
</a>
<a href="https://deepwiki.com/unnoq/orpc">
<a href="https://deepwiki.com/middleapi/orpc">
<img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki">
</a>
</div>
Expand Down Expand Up @@ -215,4 +215,4 @@ oRPC is inspired by existing solutions that prioritize type safety and developer

## License

Distributed under the MIT License. See [LICENSE](https://github.com/unnoq/orpc/blob/main/LICENSE) for more information.
Distributed under the MIT License. See [LICENSE](https://github.com/middleapi/orpc/blob/main/LICENSE) for more information.
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ Please ensure you are running the latest version of the software. The vulnerabil

### How to Report

To report a security vulnerability, please email us at <a href="mailto:contact@unnoq.com">contact@unnoq.com</a>.
To report a security vulnerability, please email us at <a href="mailto:hello@middleapi.com">hello@middleapi.com</a>.

We appreciate your efforts to disclose your findings responsibly.
10 changes: 5 additions & 5 deletions apps/content/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,18 +54,18 @@ export default withMermaid(defineConfig({
placement: 'orpcunnoqcom',
},
socialLinks: [
{ icon: 'github', link: 'https://github.com/unnoq/orpc' },
{ icon: 'github', link: 'https://github.com/middleapi/orpc' },
{ icon: 'discord', link: 'https://discord.gg/TXEbwRBvQn' },
{ icon: 'x', link: 'https://x.com/unnoqcom' },
{ icon: 'bluesky', link: 'https://bsky.app/profile/unnoq.com' },
],
editLink: {
pattern: 'https://github.com/unnoq/orpc/blob/main/apps/content/:path',
pattern: 'https://github.com/middleapi/orpc/blob/main/apps/content/:path',
text: 'Edit on GitHub',
},
footer: {
message: 'Released under the MIT License.',
copyright: 'Copyright © 2024-present Unnoq & oRPC contributors.',
copyright: 'Copyright © 2024-present MiddleAPI & oRPC contributors.',
},
nav: [
{ text: 'Docs', link: '/docs/getting-started', activeMatch: '/docs/(?!openapi/)' },
Expand All @@ -75,9 +75,9 @@ export default withMermaid(defineConfig({
{
text: 'More',
items: [
{ text: 'Discussions', link: 'https://github.com/unnoq/orpc/discussions' },
{ text: 'Discussions', link: 'https://github.com/middleapi/orpc/discussions' },
{ text: 'Sponsor', link: 'https://github.com/sponsors/unnoq' },
{ text: 'Releases', link: 'https://github.com/unnoq/orpc/releases' },
{ text: 'Releases', link: 'https://github.com/middleapi/orpc/releases' },
{ text: 'LLM Context', link: '/llms.txt' },
{ text: 'LLM Context (Full)', link: '/llms-full.txt' },
],
Expand Down
6 changes: 3 additions & 3 deletions apps/content/docs/advanced/building-custom-plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,21 +65,21 @@ Handler plugins extend the functionality of your server-side handlers. You can c

When building a handler plugin, you'll work with interceptors from the [Handler Lifecycle](/docs/rpc-handler#lifecycle). These interceptors let you hook into different stages of request processing - from initial request parsing to final response formatting.

Check out the [built-in handler plugins](https://github.com/unnoq/orpc/tree/main/packages/server/src/plugins) to see real-world examples of how different plugins solve common server-side challenges.
Check out the [built-in handler plugins](https://github.com/middleapi/orpc/tree/main/packages/server/src/plugins) to see real-world examples of how different plugins solve common server-side challenges.

### Link Plugins

Link plugins enhance your client-side communication. They work with [RPCLink](/docs/client/rpc-link), [OpenAPILink](/docs/openapi/client/openapi-link), or custom links you've implemented.

Link plugins use interceptors from the [Link Lifecycle](/docs/client/rpc-link#lifecycle) to modify requests before they're sent or responses after they're received. This is perfect for adding authentication, logging, retry logic, or request/response transformations.

Browse the [built-in link plugins](https://github.com/unnoq/orpc/tree/main/packages/client/src/plugins) for inspiration on handling common client-side scenarios.
Browse the [built-in link plugins](https://github.com/middleapi/orpc/tree/main/packages/client/src/plugins) for inspiration on handling common client-side scenarios.

## Communication Between Interceptors

Sometimes you need interceptors to share data. For example, one interceptor might collect information that another interceptor uses later. You can achieve this by injecting context using a unique symbol.

The [Strict Get Method Plugin](/docs/plugins/strict-get-method) ([Source Code](https://github.com/unnoq/orpc/blob/main/packages/server/src/plugins/strict-get-method.ts)) demonstrates this pattern. It uses `rootInterceptors` to collect HTTP methods and combines this data with procedure information in `clientInterceptors` to determine whether the method is allowed.
The [Strict Get Method Plugin](/docs/plugins/strict-get-method) ([Source Code](https://github.com/middleapi/orpc/blob/main/packages/server/src/plugins/strict-get-method.ts)) demonstrates this pattern. It uses `rootInterceptors` to collect HTTP methods and combines this data with procedure information in `clientInterceptors` to determine whether the method is allowed.

## Plugin Order

Expand Down
58 changes: 29 additions & 29 deletions apps/content/docs/playgrounds.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ featuring pre-configured examples accessible instantly via StackBlitz or local s

## Available Playgrounds

| Environment | StackBlitz | GitHub Source |
| -------------------------------- | ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| Next.js Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/next) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/next) |
| TanStack Start Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/tanstack-start) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/tanstack-start) |
| Nuxt.js Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/nuxt) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/nuxt) |
| Solid Start Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/solid-start) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/solid-start) |
| Svelte Kit Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/svelte-kit) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/svelte-kit) |
| Astro Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/astro) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/astro) |
| Contract-First Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/contract-first) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/contract-first) |
| NestJS Playground | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/nest) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/nest) |
| Cloudflare Worker | [Open in StackBlitz](https://stackblitz.com/github/unnoq/orpc/tree/main/playgrounds/cloudflare-worker) | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/cloudflare-worker) |
| Bun WebSocket + OpenTelemetry | | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/bun-websocket-otel) |
| Electron Playground | | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/electron) |
| Browser Extension Playground | | [View Source](https://github.com/unnoq/orpc/tree/main/playgrounds/browser-extension) |
| Multiservice Monorepo Playground | | [View Source](https://github.com/unnoq/orpc-multiservice-monorepo-playground) |
| Vue + Bun + Monorepo (Community) | | [View Source](https://github.com/hunterwilhelm/orpc-community-playgrounds/tree/main/vue-bun) |
| Environment | StackBlitz | GitHub Source |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Next.js Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/next) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/next) |
| TanStack Start Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/tanstack-start) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/tanstack-start) |
| Nuxt.js Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/nuxt) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/nuxt) |
| Solid Start Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/solid-start) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/solid-start) |
| Svelte Kit Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/svelte-kit) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/svelte-kit) |
| Astro Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/astro) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/astro) |
| Contract-First Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/contract-first) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/contract-first) |
| NestJS Playground | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/nest) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/nest) |
| Cloudflare Worker | [Open in StackBlitz](https://stackblitz.com/github/middleapi/orpc/tree/main/playgrounds/cloudflare-worker) | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/cloudflare-worker) |
| Bun WebSocket + OpenTelemetry | | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/bun-websocket-otel) |
| Electron Playground | | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/electron) |
| Browser Extension Playground | | [View Source](https://github.com/middleapi/orpc/tree/main/playgrounds/browser-extension) |
| Multiservice Monorepo Playground | | [View Source](https://github.com/middleapi/orpc-multiservice-monorepo-playground) |
| Vue + Bun + Monorepo (Community) | | [View Source](https://github.com/hunterwilhelm/orpc-community-playgrounds/tree/main/vue-bun) |

:::warning
StackBlitz has own limitations, so some features may not work as expected.
Expand All @@ -36,19 +36,19 @@ StackBlitz has own limitations, so some features may not work as expected.
If you prefer working locally, you can clone any playground using the following commands:

```bash
npx degit unnoq/orpc/playgrounds/next orpc-next-playground
npx degit unnoq/orpc/playgrounds/tanstack-start orpc-tanstack-start-playground
npx degit unnoq/orpc/playgrounds/nuxt orpc-nuxt-playground
npx degit unnoq/orpc/playgrounds/solid-start orpc-solid-start-playground
npx degit unnoq/orpc/playgrounds/svelte-kit orpc-svelte-kit-playground
npx degit unnoq/orpc/playgrounds/astro orpc-astro-playground
npx degit unnoq/orpc/playgrounds/contract-first orpc-contract-first-playground
npx degit unnoq/orpc/playgrounds/nest orpc-nest-playground
npx degit unnoq/orpc/playgrounds/cloudflare-worker orpc-cloudflare-worker-playground
npx degit unnoq/orpc/playgrounds/bun-websocket-otel orpc-bun-websocket-otel-playground
npx degit unnoq/orpc/playgrounds/electron orpc-electron-playground
npx degit unnoq/orpc/playgrounds/browser-extension orpc-browser-extension-playground
npx degit unnoq/orpc-multiservice-monorepo-playground orpc-multiservice-monorepo-playground
npx degit middleapi/orpc/playgrounds/next orpc-next-playground
npx degit middleapi/orpc/playgrounds/tanstack-start orpc-tanstack-start-playground
npx degit middleapi/orpc/playgrounds/nuxt orpc-nuxt-playground
npx degit middleapi/orpc/playgrounds/solid-start orpc-solid-start-playground
npx degit middleapi/orpc/playgrounds/svelte-kit orpc-svelte-kit-playground
npx degit middleapi/orpc/playgrounds/astro orpc-astro-playground
npx degit middleapi/orpc/playgrounds/contract-first orpc-contract-first-playground
npx degit middleapi/orpc/playgrounds/nest orpc-nest-playground
npx degit middleapi/orpc/playgrounds/cloudflare-worker orpc-cloudflare-worker-playground
npx degit middleapi/orpc/playgrounds/bun-websocket-otel orpc-bun-websocket-otel-playground
npx degit middleapi/orpc/playgrounds/electron orpc-electron-playground
npx degit middleapi/orpc/playgrounds/browser-extension orpc-browser-extension-playground
npx degit middleapi/orpc-multiservice-monorepo-playground orpc-multiservice-monorepo-playground

# Community (clone at your own risk)
npx degit hunterwilhelm/orpc-community-playgrounds/vue-bun orpc-vue-bun-monorepo-playground
Expand Down
Loading
Loading