diff --git a/.changeset/thirty-onions-tickle.md b/.changeset/thirty-onions-tickle.md new file mode 100644 index 0000000000..12eebe91d7 --- /dev/null +++ b/.changeset/thirty-onions-tickle.md @@ -0,0 +1,5 @@ +--- +"create-t3-app": minor +--- + +feat: use trpc 11 diff --git a/cli/package.json b/cli/package.json index c12ad66f3f..b06f84099d 100644 --- a/cli/package.json +++ b/cli/package.json @@ -68,11 +68,11 @@ "@prisma/adapter-planetscale": "^5.10.2", "@prisma/client": "^5.10.2", "@t3-oss/env-nextjs": "^0.9.2", - "@tanstack/react-query": "^4.36.1", - "@trpc/client": "^10.45.1", - "@trpc/next": "^10.45.1", - "@trpc/react-query": "^10.45.1", - "@trpc/server": "^10.45.1", + "@tanstack/react-query": "^5.25.0", + "@trpc/client": "next", + "@trpc/next": "next", + "@trpc/react-query": "next", + "@trpc/server": "next", "@types/better-sqlite3": "^7.6.9", "@types/fs-extra": "^11.0.4", "@types/gradient-string": "^1.1.5", diff --git a/cli/src/installers/dependencyVersionMap.ts b/cli/src/installers/dependencyVersionMap.ts index 69c5c986bb..53ff251e74 100644 --- a/cli/src/installers/dependencyVersionMap.ts +++ b/cli/src/installers/dependencyVersionMap.ts @@ -31,11 +31,11 @@ export const dependencyVersionMap = { "prettier-plugin-tailwindcss": "^0.5.11", // tRPC - "@trpc/client": "^10.45.1", - "@trpc/server": "^10.45.1", - "@trpc/react-query": "^10.45.1", - "@trpc/next": "^10.45.1", - "@tanstack/react-query": "^4.36.1", + "@trpc/client": "next", + "@trpc/server": "next", + "@trpc/react-query": "next", + "@trpc/next": "next", + "@tanstack/react-query": "^5.25.0", superjson: "^2.2.1", "server-only": "^0.0.1", } as const; diff --git a/cli/src/installers/trpc.ts b/cli/src/installers/trpc.ts index 481c4e62d1..ddad8b7cbe 100644 --- a/cli/src/installers/trpc.ts +++ b/cli/src/installers/trpc.ts @@ -103,10 +103,6 @@ export const trpcInstaller: Installer = ({ path.join(trpcDir, "react.tsx"), path.join(projectDir, "src/trpc/react.tsx"), ], - [ - path.join(trpcDir, "shared.ts"), - path.join(projectDir, "src/trpc/shared.ts"), - ], [ path.join( extrasDir, diff --git a/cli/template/extras/src/app/_components/create-post-tw.tsx b/cli/template/extras/src/app/_components/create-post-tw.tsx index 02d7c382b8..da3a1c8ff8 100644 --- a/cli/template/extras/src/app/_components/create-post-tw.tsx +++ b/cli/template/extras/src/app/_components/create-post-tw.tsx @@ -34,9 +34,9 @@ export function CreatePost() { ); diff --git a/cli/template/extras/src/app/_components/create-post.tsx b/cli/template/extras/src/app/_components/create-post.tsx index df7088c7b9..a23e035566 100644 --- a/cli/template/extras/src/app/_components/create-post.tsx +++ b/cli/template/extras/src/app/_components/create-post.tsx @@ -35,9 +35,9 @@ export function CreatePost() { ); diff --git a/cli/template/extras/src/app/page/with-auth-trpc-tw.tsx b/cli/template/extras/src/app/page/with-auth-trpc-tw.tsx index bc55fc1597..15053a9468 100644 --- a/cli/template/extras/src/app/page/with-auth-trpc-tw.tsx +++ b/cli/template/extras/src/app/page/with-auth-trpc-tw.tsx @@ -1,4 +1,3 @@ -import { unstable_noStore as noStore } from "next/cache"; import Link from "next/link"; import { CreatePost } from "~/app/_components/create-post"; @@ -6,8 +5,7 @@ import { getServerAuthSession } from "~/server/auth"; import { api } from "~/trpc/server"; export default async function Home() { - noStore(); - const hello = await api.post.hello.query({ text: "from tRPC" }); + const hello = await api.post.hello({ text: "from tRPC" }); const session = await getServerAuthSession(); return ( @@ -68,7 +66,7 @@ async function CrudShowcase() { const session = await getServerAuthSession(); if (!session?.user) return null; - const latestPost = await api.post.getLatest.query(); + const latestPost = await api.post.getLatest(); return (
diff --git a/cli/template/extras/src/app/page/with-auth-trpc.tsx b/cli/template/extras/src/app/page/with-auth-trpc.tsx index 2b5bdc10b4..d20987bd1d 100644 --- a/cli/template/extras/src/app/page/with-auth-trpc.tsx +++ b/cli/template/extras/src/app/page/with-auth-trpc.tsx @@ -1,4 +1,3 @@ -import { unstable_noStore as noStore } from "next/cache"; import Link from "next/link"; import { CreatePost } from "~/app/_components/create-post"; @@ -7,8 +6,7 @@ import { api } from "~/trpc/server"; import styles from "./index.module.css"; export default async function Home() { - noStore(); - const hello = await api.post.hello.query({ text: "from tRPC" }); + const hello = await api.post.hello({ text: "from tRPC" }); const session = await getServerAuthSession(); return ( @@ -69,7 +67,7 @@ async function CrudShowcase() { const session = await getServerAuthSession(); if (!session?.user) return null; - const latestPost = await api.post.getLatest.query(); + const latestPost = await api.post.getLatest(); return (
diff --git a/cli/template/extras/src/app/page/with-trpc-tw.tsx b/cli/template/extras/src/app/page/with-trpc-tw.tsx index b81d7e0fa1..098c79499c 100644 --- a/cli/template/extras/src/app/page/with-trpc-tw.tsx +++ b/cli/template/extras/src/app/page/with-trpc-tw.tsx @@ -1,12 +1,10 @@ -import { unstable_noStore as noStore } from "next/cache"; import Link from "next/link"; import { CreatePost } from "~/app/_components/create-post"; import { api } from "~/trpc/server"; export default async function Home() { - noStore(); - const hello = await api.post.hello.query({ text: "from tRPC" }); + const hello = await api.post.hello({ text: "from tRPC" }); return (
@@ -51,7 +49,7 @@ export default async function Home() { } async function CrudShowcase() { - const latestPost = await api.post.getLatest.query(); + const latestPost = await api.post.getLatest(); return (
diff --git a/cli/template/extras/src/app/page/with-trpc.tsx b/cli/template/extras/src/app/page/with-trpc.tsx index 544ba46f60..b8d3bed61c 100644 --- a/cli/template/extras/src/app/page/with-trpc.tsx +++ b/cli/template/extras/src/app/page/with-trpc.tsx @@ -1,4 +1,3 @@ -import { unstable_noStore as noStore } from "next/cache"; import Link from "next/link"; import { CreatePost } from "~/app/_components/create-post"; @@ -6,8 +5,7 @@ import { api } from "~/trpc/server"; import styles from "./index.module.css"; export default async function Home() { - noStore(); - const hello = await api.post.hello.query({ text: "from tRPC" }); + const hello = await api.post.hello({ text: "from tRPC" }); return (
@@ -52,7 +50,7 @@ export default async function Home() { } async function CrudShowcase() { - const latestPost = await api.post.getLatest.query(); + const latestPost = await api.post.getLatest(); return (
diff --git a/cli/template/extras/src/server/api/root.ts b/cli/template/extras/src/server/api/root.ts index 3d629a7a5b..b341fc4d64 100644 --- a/cli/template/extras/src/server/api/root.ts +++ b/cli/template/extras/src/server/api/root.ts @@ -1,5 +1,5 @@ import { postRouter } from "~/server/api/routers/post"; -import { createTRPCRouter } from "~/server/api/trpc"; +import { createCallerFactory, createTRPCRouter } from "~/server/api/trpc"; /** * This is the primary router for your server. @@ -12,3 +12,12 @@ export const appRouter = createTRPCRouter({ // export type definition of API export type AppRouter = typeof appRouter; + +/** + * Create a server-side caller for the tRPC API. + * @example + * const trpc = createCaller(createContext); + * const res = await trpc.post.all(); + * ^? Post[] + */ +export const createCaller = createCallerFactory(appRouter); diff --git a/cli/template/extras/src/server/api/trpc-app/base.ts b/cli/template/extras/src/server/api/trpc-app/base.ts index f5f6e4870e..abd41371f5 100644 --- a/cli/template/extras/src/server/api/trpc-app/base.ts +++ b/cli/template/extras/src/server/api/trpc-app/base.ts @@ -49,6 +49,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/server/api/trpc-app/with-auth-db.ts b/cli/template/extras/src/server/api/trpc-app/with-auth-db.ts index 9b04ce80f4..486a81673d 100644 --- a/cli/template/extras/src/server/api/trpc-app/with-auth-db.ts +++ b/cli/template/extras/src/server/api/trpc-app/with-auth-db.ts @@ -57,6 +57,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/server/api/trpc-app/with-auth.ts b/cli/template/extras/src/server/api/trpc-app/with-auth.ts index d0d5a4e9d1..c6f8177fe1 100644 --- a/cli/template/extras/src/server/api/trpc-app/with-auth.ts +++ b/cli/template/extras/src/server/api/trpc-app/with-auth.ts @@ -54,6 +54,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/server/api/trpc-app/with-db.ts b/cli/template/extras/src/server/api/trpc-app/with-db.ts index 7fca50e6c1..b760382481 100644 --- a/cli/template/extras/src/server/api/trpc-app/with-db.ts +++ b/cli/template/extras/src/server/api/trpc-app/with-db.ts @@ -52,6 +52,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/server/api/trpc-pages/base.ts b/cli/template/extras/src/server/api/trpc-pages/base.ts index 3bda296a6f..a1429e18a8 100644 --- a/cli/template/extras/src/server/api/trpc-pages/base.ts +++ b/cli/template/extras/src/server/api/trpc-pages/base.ts @@ -68,6 +68,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/server/api/trpc-pages/with-auth-db.ts b/cli/template/extras/src/server/api/trpc-pages/with-auth-db.ts index f76d522e9e..3e75c9ea71 100644 --- a/cli/template/extras/src/server/api/trpc-pages/with-auth-db.ts +++ b/cli/template/extras/src/server/api/trpc-pages/with-auth-db.ts @@ -84,6 +84,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/server/api/trpc-pages/with-auth.ts b/cli/template/extras/src/server/api/trpc-pages/with-auth.ts index d4c3b51caa..fc648166b6 100644 --- a/cli/template/extras/src/server/api/trpc-pages/with-auth.ts +++ b/cli/template/extras/src/server/api/trpc-pages/with-auth.ts @@ -82,6 +82,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/server/api/trpc-pages/with-db.ts b/cli/template/extras/src/server/api/trpc-pages/with-db.ts index dc3b40b241..11edbdb051 100644 --- a/cli/template/extras/src/server/api/trpc-pages/with-db.ts +++ b/cli/template/extras/src/server/api/trpc-pages/with-db.ts @@ -71,6 +71,13 @@ const t = initTRPC.context().create({ }, }); +/** + * Create a server-side caller. + * + * @see https://trpc.io/docs/server/server-side-calls + */ +export const createCallerFactory = t.createCallerFactory; + /** * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT) * diff --git a/cli/template/extras/src/trpc/react.tsx b/cli/template/extras/src/trpc/react.tsx index a80b4bfd07..1c45f1d4c7 100644 --- a/cli/template/extras/src/trpc/react.tsx +++ b/cli/template/extras/src/trpc/react.tsx @@ -4,9 +4,9 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { loggerLink, unstable_httpBatchStreamLink } from "@trpc/client"; import { createTRPCReact } from "@trpc/react-query"; import { useState } from "react"; +import SuperJSON from "superjson"; import { type AppRouter } from "~/server/api/root"; -import { getUrl, transformer } from "./shared"; const createQueryClient = () => new QueryClient(); @@ -27,7 +27,6 @@ export function TRPCReactProvider(props: { children: React.ReactNode }) { const [trpcClient] = useState(() => api.createClient({ - transformer, links: [ loggerLink({ enabled: (op) => @@ -35,7 +34,13 @@ export function TRPCReactProvider(props: { children: React.ReactNode }) { (op.direction === "down" && op.result instanceof Error), }), unstable_httpBatchStreamLink({ - url: getUrl(), + transformer: SuperJSON, + url: getBaseUrl() + "/api/trpc", + headers: () => { + const headers = new Headers(); + headers.set("x-trpc-source", "nextjs-react"); + return headers; + }, }), ], }) @@ -49,3 +54,9 @@ export function TRPCReactProvider(props: { children: React.ReactNode }) { ); } + +function getBaseUrl() { + if (typeof window !== "undefined") return window.location.origin; + if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; + return `http://localhost:${process.env.PORT ?? 3000}`; +} diff --git a/cli/template/extras/src/trpc/server.ts b/cli/template/extras/src/trpc/server.ts index 0d6dd7506c..07a9f69a64 100644 --- a/cli/template/extras/src/trpc/server.ts +++ b/cli/template/extras/src/trpc/server.ts @@ -1,19 +1,10 @@ import "server-only"; -import { - createTRPCProxyClient, - loggerLink, - TRPCClientError, -} from "@trpc/client"; -import { callProcedure } from "@trpc/server"; -import { observable } from "@trpc/server/observable"; -import { type TRPCErrorResponse } from "@trpc/server/rpc"; import { headers } from "next/headers"; import { cache } from "react"; -import { appRouter, type AppRouter } from "~/server/api/root"; +import { createCaller } from "~/server/api/root"; import { createTRPCContext } from "~/server/api/trpc"; -import { transformer } from "./shared"; /** * This wraps the `createTRPCContext` helper and provides the required context for the tRPC API when @@ -28,38 +19,4 @@ const createContext = cache(() => { }); }); -export const api = createTRPCProxyClient({ - transformer, - links: [ - loggerLink({ - enabled: (op) => - process.env.NODE_ENV === "development" || - (op.direction === "down" && op.result instanceof Error), - }), - /** - * Custom RSC link that lets us invoke procedures without using http requests. Since Server - * Components always run on the server, we can just call the procedure as a function. - */ - () => - ({ op }) => - observable((observer) => { - createContext() - .then((ctx) => { - return callProcedure({ - procedures: appRouter._def.procedures, - path: op.path, - rawInput: op.input, - ctx, - type: op.type, - }); - }) - .then((data) => { - observer.next({ result: { data } }); - observer.complete(); - }) - .catch((cause: TRPCErrorResponse) => { - observer.error(TRPCClientError.from(cause)); - }); - }), - ], -}); +export const api = createCaller(createContext); diff --git a/cli/template/extras/src/trpc/shared.ts b/cli/template/extras/src/trpc/shared.ts deleted file mode 100644 index 46005045df..0000000000 --- a/cli/template/extras/src/trpc/shared.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { type inferRouterInputs, type inferRouterOutputs } from "@trpc/server"; -import superjson from "superjson"; - -import { type AppRouter } from "~/server/api/root"; - -export const transformer = superjson; - -function getBaseUrl() { - if (typeof window !== "undefined") return ""; - if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; - return `http://localhost:${process.env.PORT ?? 3000}`; -} - -export function getUrl() { - return getBaseUrl() + "/api/trpc"; -} - -/** - * Inference helper for inputs. - * - * @example type HelloInput = RouterInputs['example']['hello'] - */ -export type RouterInputs = inferRouterInputs; - -/** - * Inference helper for outputs. - * - * @example type HelloOutput = RouterOutputs['example']['hello'] - */ -export type RouterOutputs = inferRouterOutputs; diff --git a/cli/template/extras/src/utils/api.ts b/cli/template/extras/src/utils/api.ts index f4f4ad5ca4..0f03d307e1 100644 --- a/cli/template/extras/src/utils/api.ts +++ b/cli/template/extras/src/utils/api.ts @@ -21,13 +21,6 @@ const getBaseUrl = () => { export const api = createTRPCNext({ config() { return { - /** - * Transformer used for data de-serialization from the server. - * - * @see https://trpc.io/docs/data-transformers - */ - transformer: superjson, - /** * Links used to determine request flow from client to server. * @@ -40,6 +33,12 @@ export const api = createTRPCNext({ (opts.direction === "down" && opts.result instanceof Error), }), httpBatchLink({ + /** + * Transformer used for data de-serialization from the server. + * + * @see https://trpc.io/docs/data-transformers + */ + transformer: superjson, url: `${getBaseUrl()}/api/trpc`, }), ], @@ -51,6 +50,7 @@ export const api = createTRPCNext({ * @see https://trpc.io/docs/nextjs#ssr-boolean-default-false */ ssr: false, + transformer: superjson, }); /** diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b8d20d1b6d..eef2d8380c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,20 +114,20 @@ importers: specifier: ^0.9.2 version: 0.9.2(typescript@5.4.2)(zod@3.22.4) '@tanstack/react-query': - specifier: ^4.36.1 - version: 4.36.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^5.25.0 + version: 5.25.0(react@18.2.0) '@trpc/client': - specifier: ^10.45.1 - version: 10.45.1(@trpc/server@10.45.1) + specifier: next + version: 11.0.0-next-beta.315(@trpc/server@11.0.0-next-beta.315) '@trpc/next': - specifier: ^10.45.1 - version: 10.45.1(@tanstack/react-query@4.36.1)(@trpc/client@10.45.1)(@trpc/react-query@10.45.1)(@trpc/server@10.45.1)(next@14.1.3)(react-dom@18.2.0)(react@18.2.0) + specifier: next + version: 11.0.0-next-beta.315(@tanstack/react-query@5.25.0)(@trpc/client@11.0.0-next-beta.315)(@trpc/react-query@11.0.0-next-beta.315)(@trpc/server@11.0.0-next-beta.315)(next@14.1.3)(react-dom@18.2.0)(react@18.2.0) '@trpc/react-query': - specifier: ^10.45.1 - version: 10.45.1(@tanstack/react-query@4.36.1)(@trpc/client@10.45.1)(@trpc/server@10.45.1)(react-dom@18.2.0)(react@18.2.0) + specifier: next + version: 11.0.0-next-beta.315(@tanstack/react-query@5.25.0)(@trpc/client@11.0.0-next-beta.315)(@trpc/server@11.0.0-next-beta.315)(react-dom@18.2.0)(react@18.2.0) '@trpc/server': - specifier: ^10.45.1 - version: 10.45.1 + specifier: next + version: 11.0.0-next-beta.315 '@types/better-sqlite3': specifier: ^7.6.9 version: 7.6.9 @@ -3232,78 +3232,74 @@ packages: typescript: 5.4.2 zod: 3.22.4 - /@tanstack/query-core@4.36.1: - resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} + /@tanstack/query-core@5.25.0: + resolution: {integrity: sha512-vlobHP64HTuSE68lWF1mEhwSRC5Q7gaT+a/m9S+ItuN+ruSOxe1rFnR9j0ACWQ314BPhBEVKfBQ6mHL0OWfdbQ==} dev: true - /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} + /@tanstack/react-query@5.25.0(react@18.2.0): + resolution: {integrity: sha512-u+n5R7mLO7RmeiIonpaCRVXNRWtZEef/aVZ/XGWRPa7trBIvGtzlfo0Ah7ZtnTYfrKEVwnZ/tzRCBcoiqJ/tFw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + react: ^18.0.0 dependencies: - '@tanstack/query-core': 4.36.1 + '@tanstack/query-core': 5.25.0 react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - use-sync-external-store: 1.2.0(react@18.2.0) dev: true /@total-typescript/ts-reset@0.3.7: resolution: {integrity: sha512-yXt2BRRVCJVvzWaxac5n0nCXzIrQEBE/MeYlNQ8/Iq7UeelNmm/AdnUAu18ilSS893mbEQ4u6whPt/HvOPc4rw==} dev: false - /@trpc/client@10.45.1(@trpc/server@10.45.1): - resolution: {integrity: sha512-nVbAk1xpIiI64WgzXGgfxPOGgHoYvffn1IsjV1D/Ri7DL4BKuo2qtZ7UQ+OuHkzH2M8j4ikSVBDpk545fOdvpw==} + /@trpc/client@11.0.0-next-beta.315(@trpc/server@11.0.0-next-beta.315): + resolution: {integrity: sha512-9jkoxZsQIiRynnF55zFiy1StUtCyoqjsm79OdH4ofGr3I8nE7nrBA1T9ysE1quADjH76MDSe0u2mBzHUh009Kw==} peerDependencies: - '@trpc/server': 10.45.1 + '@trpc/server': 11.0.0-next-beta.315+97f6de7e5 dependencies: - '@trpc/server': 10.45.1 + '@trpc/server': 11.0.0-next-beta.315 dev: true - /@trpc/next@10.45.1(@tanstack/react-query@4.36.1)(@trpc/client@10.45.1)(@trpc/react-query@10.45.1)(@trpc/server@10.45.1)(next@14.1.3)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HSuQ0OcKUtt8mcQ4Mz4GQpy5PkNYJNvC9EEHkqTkEGa71BLEPKviyVWaE7biOlxjA0tM0aDOM21id+cRkEpfXA==} + /@trpc/next@11.0.0-next-beta.315(@tanstack/react-query@5.25.0)(@trpc/client@11.0.0-next-beta.315)(@trpc/react-query@11.0.0-next-beta.315)(@trpc/server@11.0.0-next-beta.315)(next@14.1.3)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kvGwwffiGgDzbImpJ1qjJMt4MUfIaBDhEQGyLDeTsbAB/XsuR6lok84DDJqVXwaB06bzOFOHSw90c0gvXtJMVg==} peerDependencies: - '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.45.1 - '@trpc/react-query': 10.45.1 - '@trpc/server': 10.45.1 + '@tanstack/react-query': ^5.25.0 + '@trpc/client': 11.0.0-next-beta.315+97f6de7e5 + '@trpc/react-query': 11.0.0-next-beta.315+97f6de7e5 + '@trpc/server': 11.0.0-next-beta.315+97f6de7e5 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' + peerDependenciesMeta: + '@tanstack/react-query': + optional: true + '@trpc/react-query': + optional: true dependencies: - '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0) - '@trpc/client': 10.45.1(@trpc/server@10.45.1) - '@trpc/react-query': 10.45.1(@tanstack/react-query@4.36.1)(@trpc/client@10.45.1)(@trpc/server@10.45.1)(react-dom@18.2.0)(react@18.2.0) - '@trpc/server': 10.45.1 + '@tanstack/react-query': 5.25.0(react@18.2.0) + '@trpc/client': 11.0.0-next-beta.315(@trpc/server@11.0.0-next-beta.315) + '@trpc/react-query': 11.0.0-next-beta.315(@tanstack/react-query@5.25.0)(@trpc/client@11.0.0-next-beta.315)(@trpc/server@11.0.0-next-beta.315)(react-dom@18.2.0)(react@18.2.0) + '@trpc/server': 11.0.0-next-beta.315 next: 14.1.3(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@trpc/react-query@10.45.1(@tanstack/react-query@4.36.1)(@trpc/client@10.45.1)(@trpc/server@10.45.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-48OOMpwVjQFUQJqlp9/tW1lqESZg9YEqB5iVci7mYaDzZPEs/YUcV85XKvYzgeW+7K9oShX/JMVce8muON/6uQ==} + /@trpc/react-query@11.0.0-next-beta.315(@tanstack/react-query@5.25.0)(@trpc/client@11.0.0-next-beta.315)(@trpc/server@11.0.0-next-beta.315)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-RfbSoXi/vc2UlhvPA8H2Ea/D+5qKx6vAkHBSZ/iofgmBh/DPruQIsLUCasD2RNcaboHJlq+chN5I2rjbqKXgXw==} peerDependencies: - '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.45.1 - '@trpc/server': 10.45.1 - react: '>=16.8.0' - react-dom: '>=16.8.0' + '@tanstack/react-query': ^5.25.0 + '@trpc/client': 11.0.0-next-beta.315+97f6de7e5 + '@trpc/server': 11.0.0-next-beta.315+97f6de7e5 + react: '>=18.2.0' + react-dom: '>=18.2.0' dependencies: - '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0) - '@trpc/client': 10.45.1(@trpc/server@10.45.1) - '@trpc/server': 10.45.1 + '@tanstack/react-query': 5.25.0(react@18.2.0) + '@trpc/client': 11.0.0-next-beta.315(@trpc/server@11.0.0-next-beta.315) + '@trpc/server': 11.0.0-next-beta.315 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@trpc/server@10.45.1: - resolution: {integrity: sha512-KOzBEVaHW9IxEedUP9E50y0tYxAuvlzyjn80Bpemw4rcNbT4WtJnhkFPUY+qDJl7Crt3B/oY2qMgSxVWi9toLg==} + /@trpc/server@11.0.0-next-beta.315: + resolution: {integrity: sha512-TqpQmNKbFKkVehY5ORFw9V3Mj3V0f8OK+wZDFhcmZNBj+V6jErl+jwxg0M8h6eBVCzh+ygHy/vjAEs0dxUDVAA==} dev: true /@types/acorn@4.0.6: @@ -10871,14 +10867,6 @@ packages: tslib: 2.5.0 dev: false - /use-sync-external-store@1.2.0(react@18.2.0): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - react: 18.2.0 - dev: true - /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}