feat(cli): optimize oRPC client dependencies by removing server dependency (#515)

Co-authored-by: Aman Varshney <amanvarshney.work@gmail.com>
This commit is contained in:
Rahul SriRam
2025-08-15 19:58:45 +05:30
committed by GitHub
parent a9166fcb57
commit 4790cb8a30
9 changed files with 21 additions and 31 deletions

View File

@@ -0,0 +1,5 @@
---
"create-better-t-stack": patch
---
optimize oRPC client dependencies by removing server dependency

View File

@@ -54,11 +54,7 @@ export async function setupApi(config: ProjectConfig) {
if (hasReactWeb) {
if (api === "orpc") {
await addPackageDependency({
dependencies: [
"@orpc/tanstack-query",
"@orpc/client",
"@orpc/server",
],
dependencies: ["@orpc/tanstack-query", "@orpc/client"],
projectDir: webDir,
});
} else if (api === "trpc") {
@@ -79,7 +75,6 @@ export async function setupApi(config: ProjectConfig) {
"@tanstack/vue-query-devtools",
"@orpc/tanstack-query",
"@orpc/client",
"@orpc/server",
],
projectDir: webDir,
});
@@ -90,7 +85,6 @@ export async function setupApi(config: ProjectConfig) {
dependencies: [
"@orpc/tanstack-query",
"@orpc/client",
"@orpc/server",
"@tanstack/svelte-query",
],
projectDir: webDir,
@@ -102,7 +96,6 @@ export async function setupApi(config: ProjectConfig) {
dependencies: [
"@orpc/tanstack-query",
"@orpc/client",
"@orpc/server",
"@tanstack/solid-query",
],
projectDir: webDir,
@@ -123,11 +116,7 @@ export async function setupApi(config: ProjectConfig) {
});
} else if (api === "orpc") {
await addPackageDependency({
dependencies: [
"@orpc/tanstack-query",
"@orpc/client",
"@orpc/server",
],
dependencies: ["@orpc/tanstack-query", "@orpc/client"],
projectDir: nativeDir,
});
}

View File

@@ -1,9 +1,8 @@
import { createORPCClient } from "@orpc/client";
import { RPCLink } from "@orpc/client/fetch";
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
import type { RouterClient } from "@orpc/server";
import { QueryCache, QueryClient } from "@tanstack/react-query";
import type { appRouter } from "../../server/src/routers";
import type { AppRouterClient } from "../../server/src/routers";
{{#if auth}}
import { authClient } from "@/lib/auth-client";
{{/if}}
@@ -30,6 +29,6 @@ export const link = new RPCLink({
{{/if}}
});
export const client: RouterClient<typeof appRouter> = createORPCClient(link);
export const client: AppRouterClient = createORPCClient(link);
export const orpc = createTanstackQueryUtils(client);

View File

@@ -1,6 +1,5 @@
import { defineNuxtPlugin, useRuntimeConfig } from '#app'
import type { RouterClient } from '@orpc/server'
import type { appRouter } from "../../../server/src/routers/index";
import type { AppRouterClient } from "../../../server/src/routers/index";
import { createORPCClient } from '@orpc/client'
import { RPCLink } from '@orpc/client/fetch'
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
@@ -24,7 +23,7 @@ export default defineNuxtPlugin(() => {
})
const client: RouterClient<typeof appRouter> = createORPCClient(rpcLink)
const client: AppRouterClient = createORPCClient(rpcLink)
const orpcUtils = createTanstackQueryUtils(client)
return {

View File

@@ -3,8 +3,7 @@ import { RPCLink } from "@orpc/client/fetch";
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
import { QueryCache, QueryClient } from "@tanstack/react-query";
import { toast } from "sonner";
import type { appRouter } from "../../../server/src/routers/index";
import type { RouterClient } from "@orpc/server";
import type { AppRouterClient } from "../../../server/src/routers/index";
export const queryClient = new QueryClient({
queryCache: new QueryCache({
@@ -37,6 +36,6 @@ export const link = new RPCLink({
{{/if}}
});
export const client: RouterClient<typeof appRouter> = createORPCClient(link)
export const client: AppRouterClient = createORPCClient(link)
export const orpc = createTanstackQueryUtils(client)

View File

@@ -2,8 +2,7 @@ import { createORPCClient } from "@orpc/client";
import { RPCLink } from "@orpc/client/fetch";
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
import { QueryCache, QueryClient } from "@tanstack/solid-query";
import type { appRouter } from "../../../server/src/routers/index";
import type { RouterClient } from "@orpc/server";
import type { AppRouterClient } from "../../../server/src/routers/index";
export const queryClient = new QueryClient({
queryCache: new QueryCache({
@@ -25,6 +24,6 @@ export const link = new RPCLink({
{{/if}}
});
export const client: RouterClient<typeof appRouter> = createORPCClient(link);
export const client: AppRouterClient = createORPCClient(link);
export const orpc = createTanstackQueryUtils(client);

View File

@@ -1,10 +1,9 @@
import { PUBLIC_SERVER_URL } from "$env/static/public";
import { createORPCClient } from "@orpc/client";
import { RPCLink } from "@orpc/client/fetch";
import type { RouterClient } from "@orpc/server";
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
import { QueryCache, QueryClient } from "@tanstack/svelte-query";
import type { appRouter } from "../../../server/src/routers/index";
import type { AppRouterClient } from "../../../server/src/routers/index";
export const queryClient = new QueryClient({
queryCache: new QueryCache({
@@ -26,6 +25,6 @@ export const link = new RPCLink({
{{/if}}
});
export const client: RouterClient<typeof appRouter> = createORPCClient(link);
export const client: AppRouterClient = createORPCClient(link);
export const orpc = createTanstackQueryUtils(client);

View File

@@ -1,5 +1,6 @@
{{#if (eq api "orpc")}}
import { {{#if auth}}protectedProcedure, {{/if}}publicProcedure } from "../lib/orpc";
import type { RouterClient } from "@orpc/server";
{{#if (includes examples "todo")}}
import { todoRouter } from "./todo";
{{/if}}
@@ -21,6 +22,7 @@ export const appRouter = {
{{/if}}
};
export type AppRouter = typeof appRouter;
export type AppRouterClient = RouterClient<typeof appRouter>;
{{else if (eq api "trpc")}}
import {
{{#if auth}}protectedProcedure, {{/if}}publicProcedure,

View File

@@ -7,9 +7,8 @@ import { link, orpc } from "@/utils/orpc";
import type { QueryClient } from "@tanstack/react-query";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
import { useState } from "react";
import type { RouterClient } from "@orpc/server";
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
import type { appRouter } from "../../../server/src/routers";
import type { AppRouterClient } from "../../../server/src/routers";
import { createORPCClient } from "@orpc/client";
{{/if}}
{{#if (eq api "trpc")}}
@@ -67,7 +66,7 @@ function RootComponent() {
});
{{#if (eq api "orpc")}}
const [client] = useState<RouterClient<typeof appRouter>>(() => createORPCClient(link));
const [client] = useState<AppRouterClient>(() => createORPCClient(link));
const [orpcUtils] = useState(() => createTanstackQueryUtils(client));
{{/if}}