diff --git a/apps/web/package.json b/apps/web/package.json index 59a55d3aa1..d6ccf78357 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -23,7 +23,6 @@ "@openstatus/emails": "workspace:*", "@openstatus/error": "workspace:*", "@openstatus/header-analysis": "workspace:*", - "@openstatus/next-monitoring": "0.0.4", "@openstatus/notification-discord": "workspace:*", "@openstatus/notification-emails": "workspace:*", "@openstatus/notification-pagerduty": "workspace:*", @@ -41,12 +40,14 @@ "@t3-oss/env-nextjs": "0.7.0", "@tailwindcss/container-queries": "0.1.1", "@tailwindcss/typography": "0.5.10", + "@tanstack/react-query": "^5.59.0", + "@tanstack/react-query-devtools": "^5.59.0", "@tanstack/react-table": "8.10.3", "@tremor/react": "3.17.4", - "@trpc/client": "10.45.2", - "@trpc/next": "10.45.2", - "@trpc/react-query": "10.45.2", - "@trpc/server": "10.45.2", + "@trpc/client": "11.0.0-rc.553", + "@trpc/next": "11.0.0-rc.553", + "@trpc/react-query": "11.0.0-rc.553", + "@trpc/server": "11.0.0-rc.553", "@unkey/api": "0.23.0", "@upstash/qstash": "2.6.2", "@upstash/redis": "1.22.1", diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 04b7daa57a..ac27ed9c83 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -5,7 +5,6 @@ import { Inter } from "next/font/google"; import LocalFont from "next/font/local"; import { Toaster } from "@/components/ui/sonner"; -import { OpenStatusProvider } from "@openstatus/next-monitoring"; import { defaultMetadata, @@ -14,6 +13,7 @@ import { } from "@/app/shared-metadata"; import { TailwindIndicator } from "@/components/tailwind-indicator"; import { ThemeProvider } from "@/components/theme-provider"; +import { TRPCReactQueryProvider } from "@/trpc/rq-client"; import Background from "./_components/background"; const inter = Inter({ subsets: ["latin"] }); @@ -47,9 +47,11 @@ export default function RootLayout({ } ${calSans.variable}`} > - {children} - - + + {children} + + + diff --git a/apps/web/src/trpc/client.ts b/apps/web/src/trpc/client.ts index ecb254c025..3fd47a0092 100644 --- a/apps/web/src/trpc/client.ts +++ b/apps/web/src/trpc/client.ts @@ -1,12 +1,10 @@ -import { createTRPCProxyClient, loggerLink } from "@trpc/client"; -import superjson from "superjson"; +import { createTRPCClient, loggerLink } from "@trpc/client"; import type { AppRouter } from "@openstatus/api"; import { endingLink } from "./shared"; -export const api = createTRPCProxyClient({ - transformer: superjson, +export const api = createTRPCClient({ links: [ loggerLink({ enabled: (opts) => diff --git a/apps/web/src/trpc/query-client.ts b/apps/web/src/trpc/query-client.ts new file mode 100644 index 0000000000..4637b84ce6 --- /dev/null +++ b/apps/web/src/trpc/query-client.ts @@ -0,0 +1,24 @@ +import { + QueryClient, + defaultShouldDehydrateQuery, +} from "@tanstack/react-query"; +import superjson from "superjson"; + +export function makeQueryClient() { + return new QueryClient({ + defaultOptions: { + queries: { + staleTime: 30 * 1000, + }, + dehydrate: { + serializeData: superjson.serialize, + shouldDehydrateQuery: (query) => + defaultShouldDehydrateQuery(query) || + query.state.status === "pending", + }, + hydrate: { + deserializeData: superjson.deserialize, + }, + }, + }); +} diff --git a/apps/web/src/trpc/rq-client.tsx b/apps/web/src/trpc/rq-client.tsx new file mode 100644 index 0000000000..ea6175fcd5 --- /dev/null +++ b/apps/web/src/trpc/rq-client.tsx @@ -0,0 +1,53 @@ +"use client"; + +import type { AppRouter } from "@openstatus/api"; +import type { QueryClient } from "@tanstack/react-query"; +import { QueryClientProvider } from "@tanstack/react-query"; +import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; +import { createTRPCReact } from "@trpc/react-query"; +import { useState } from "react"; +import { makeQueryClient } from "./query-client"; +import { endingLink } from "./shared"; + +export const api = createTRPCReact(); +let clientQueryClientSingleton: QueryClient; +function getQueryClient() { + if (typeof window === "undefined") { + // Server: always make a new query client + return makeQueryClient(); + } + // Browser: use singleton pattern to keep the same query client + // biome-ignore lint/suspicious/noAssignInExpressions: + return (clientQueryClientSingleton ??= makeQueryClient()); +} + +export function TRPCReactQueryProvider( + props: Readonly<{ + children: React.ReactNode; + }>, +) { + // NOTE: Avoid useState when initializing the query client if you don't + // have a suspense boundary between this and the code that may + // suspend because React will throw away the client on the initial + // render if it suspends and there is no boundary + const queryClient = getQueryClient(); + const [trpcClient] = useState(() => + api.createClient({ + links: [ + endingLink({ + headers: { + "x-trpc-source": "client", + }, + }), + ], + }), + ); + return ( + + + {props.children} + + + + ); +} diff --git a/apps/web/src/trpc/rq-server.ts b/apps/web/src/trpc/rq-server.ts new file mode 100644 index 0000000000..9021f52974 --- /dev/null +++ b/apps/web/src/trpc/rq-server.ts @@ -0,0 +1,30 @@ +import "server-only"; + +import { auth } from "@/lib/auth"; +import { type AppRouter, appRouter, t } from "@openstatus/api"; +import type { Context } from "@openstatus/api/src/trpc"; +import { db } from "@openstatus/db"; +import { createHydrationHelpers } from "@trpc/react-query/rsc"; +import { cache } from "react"; +import { makeQueryClient } from "./query-client"; + +const createContextCached = cache( + async (...args: unknown[]): Promise => { + const session = await auth(); + + return { + req: undefined, + db, + session, + }; + }, +); + +// IMPORTANT: Create a stable getter for the query client that +// will return the same client during the same request. +export const getQueryClient = cache(makeQueryClient); +const caller = t.createCallerFactory(appRouter)(createContextCached); +export const { trpc: api, HydrateClient } = createHydrationHelpers( + caller, + getQueryClient, +); diff --git a/apps/web/src/trpc/server.ts b/apps/web/src/trpc/server.ts index e10a2a76df..69d2e3e6ed 100644 --- a/apps/web/src/trpc/server.ts +++ b/apps/web/src/trpc/server.ts @@ -1,13 +1,11 @@ -import { createTRPCProxyClient, loggerLink } from "@trpc/client"; +import { createTRPCClient, loggerLink } from "@trpc/client"; import { headers } from "next/headers"; -import superjson from "superjson"; import type { AppRouter } from "@openstatus/api"; import { endingLink } from "./shared"; -export const api = createTRPCProxyClient({ - transformer: superjson, +export const api = createTRPCClient({ links: [ loggerLink({ enabled: (opts) => diff --git a/apps/web/src/trpc/shared.ts b/apps/web/src/trpc/shared.ts index bf0fc407cf..099b5a3da3 100644 --- a/apps/web/src/trpc/shared.ts +++ b/apps/web/src/trpc/shared.ts @@ -2,6 +2,7 @@ import type { HTTPBatchLinkOptions, HTTPHeaders, TRPCLink } from "@trpc/client"; import { httpBatchLink } from "@trpc/client"; import type { AppRouter } from "@openstatus/api"; +import superjson from "superjson"; const getBaseUrl = () => { if (typeof window !== "undefined") return ""; @@ -18,7 +19,9 @@ export const endingLink = (opts?: { ((runtime) => { const sharedOpts = { headers: opts?.headers, // REMINDER: fails when trying to `getTotalActiveMonitors()` - } satisfies Partial; + transformer: superjson, + // biome-ignore lint/suspicious/noExplicitAny: FIXME: remove any + } satisfies Partial>; const edgeLink = httpBatchLink({ ...sharedOpts, diff --git a/packages/api/index.ts b/packages/api/index.ts index a2a0431015..10ea19830a 100644 --- a/packages/api/index.ts +++ b/packages/api/index.ts @@ -8,6 +8,7 @@ export { createTRPCContext, createInnerTRPCContext } from "./src/trpc"; export { t } from "./src/trpc"; export type { AppRouter } from "./src/root"; +export { appRouter } from "./src/root"; /** * Inference helpers for input types diff --git a/packages/api/package.json b/packages/api/package.json index 3a1763dc37..a0520de6f3 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -14,8 +14,8 @@ "@openstatus/error": "workspace:*", "@openstatus/tinybird": "workspace:*", "@t3-oss/env-core": "0.7.0", - "@trpc/client": "10.45.2", - "@trpc/server": "10.45.2", + "@trpc/client": "11.0.0-rc.553", + "@trpc/server": "11.0.0-rc.553", "nanoid": "5.0.7", "nanoid-dictionary": "5.0.0-beta.1", "next": "14.2.4", diff --git a/packages/api/src/root.ts b/packages/api/src/root.ts index bd660b84fc..5baf239fc0 100644 --- a/packages/api/src/root.ts +++ b/packages/api/src/root.ts @@ -2,5 +2,5 @@ import { edgeRouter } from "./edge"; import { lambdaRouter } from "./lambda"; import { mergeRouters } from "./trpc"; -const appRouter = mergeRouters(edgeRouter, lambdaRouter); +export const appRouter = mergeRouters(edgeRouter, lambdaRouter); export type AppRouter = typeof appRouter; diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts index 94ba8f4b14..32b7e3dc79 100644 --- a/packages/api/src/trpc.ts +++ b/packages/api/src/trpc.ts @@ -1,4 +1,4 @@ -import { TRPCError, type inferAsyncReturnType, initTRPC } from "@trpc/server"; +import { TRPCError, initTRPC } from "@trpc/server"; import type { NextRequest } from "next/server"; import superjson from "superjson"; import { ZodError } from "zod"; @@ -65,7 +65,7 @@ export const createTRPCContext = async (opts: { }); }; -export type Context = inferAsyncReturnType; +export type Context = Awaited>; /** * 2. INITIALIZATION @@ -190,7 +190,7 @@ export const formdataMiddleware = t.middleware(async (opts) => { if (!formData) throw new TRPCError({ code: "BAD_REQUEST" }); return opts.next({ - rawInput: formData, + input: formData, }); }); /** diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 61bcec64f7..d3d7592c35 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -124,7 +124,7 @@ importers: version: link:../../packages/utils '@scalar/hono-api-reference': specifier: 0.5.131 - version: 0.5.131(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)))(typescript@5.5.2) + version: 0.5.131(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)))(typescript@5.5.2) '@t3-oss/env-core': specifier: 0.7.1 version: 0.7.1(typescript@5.5.2)(zod@3.23.8) @@ -204,9 +204,6 @@ importers: '@openstatus/header-analysis': specifier: workspace:* version: link:../../packages/header-analysis - '@openstatus/next-monitoring': - specifier: 0.0.4 - version: 0.0.4(next@14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@openstatus/notification-discord': specifier: workspace:* version: link:../../packages/notifications/discord @@ -258,6 +255,12 @@ importers: '@tailwindcss/typography': specifier: 0.5.10 version: 0.5.10(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2))) + '@tanstack/react-query': + specifier: ^5.59.0 + version: 5.59.0(react@18.3.1) + '@tanstack/react-query-devtools': + specifier: ^5.59.0 + version: 5.59.0(@tanstack/react-query@5.59.0(react@18.3.1))(react@18.3.1) '@tanstack/react-table': specifier: 8.10.3 version: 8.10.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -265,17 +268,17 @@ importers: specifier: 3.17.4 version: 3.17.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2))) '@trpc/client': - specifier: 10.45.2 - version: 10.45.2(@trpc/server@10.45.2) + specifier: 11.0.0-rc.553 + version: 11.0.0-rc.553(@trpc/server@11.0.0-rc.553) '@trpc/next': - specifier: 10.45.2 - version: 10.45.2(@tanstack/react-query@5.37.1(react@18.3.1))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/react-query@10.45.2(@tanstack/react-query@5.37.1(react@18.3.1))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@trpc/server@10.45.2)(next@14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 11.0.0-rc.553 + version: 11.0.0-rc.553(@tanstack/react-query@5.59.0(react@18.3.1))(@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553))(@trpc/react-query@11.0.0-rc.553(@tanstack/react-query@5.59.0(react@18.3.1))(@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553))(@trpc/server@11.0.0-rc.553)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@trpc/server@11.0.0-rc.553)(next@14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@trpc/react-query': - specifier: 10.45.2 - version: 10.45.2(@tanstack/react-query@5.37.1(react@18.3.1))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 11.0.0-rc.553 + version: 11.0.0-rc.553(@tanstack/react-query@5.59.0(react@18.3.1))(@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553))(@trpc/server@11.0.0-rc.553)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@trpc/server': - specifier: 10.45.2 - version: 10.45.2 + specifier: 11.0.0-rc.553 + version: 11.0.0-rc.553 '@unkey/api': specifier: 0.23.0 version: 0.23.0 @@ -492,11 +495,11 @@ importers: specifier: 0.7.0 version: 0.7.0(typescript@5.5.2)(zod@3.23.8) '@trpc/client': - specifier: 10.45.2 - version: 10.45.2(@trpc/server@10.45.2) + specifier: 11.0.0-rc.553 + version: 11.0.0-rc.553(@trpc/server@11.0.0-rc.553) '@trpc/server': - specifier: 10.45.2 - version: 10.45.2 + specifier: 11.0.0-rc.553 + version: 11.0.0-rc.553 nanoid: specifier: 5.0.7 version: 5.0.7 @@ -3254,12 +3257,6 @@ packages: '@one-ini/wasm@0.1.1': resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} - '@openstatus/next-monitoring@0.0.4': - resolution: {integrity: sha512-/UXWRt6hKfgGtuqvO9umBgBHDMIgs/Pkrrlt/3SWPGywkW7N5j7GGSCBwMzjs4SthPWBQRL1++lERZvaGkgEyA==} - peerDependencies: - next: '>=14.0.0' - react: '>=18.2.0' - '@opentelemetry/api-logs@0.39.1': resolution: {integrity: sha512-9BJ8lMcOzEN0lu+Qji801y707oFO4xT3db6cosPvl+k7ItUHKN5ofWqtSbM9gbt1H4JJ/4/2TVrqI9Rq7hNv6Q==} engines: {node: '>=14'} @@ -4718,13 +4715,22 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - '@tanstack/query-core@5.36.1': - resolution: {integrity: sha512-BteWYEPUcucEu3NBcDAgKuI4U25R9aPrHSP6YSf2NvaD2pSlIQTdqOfLRsxH9WdRYg7k0Uom35Uacb6nvbIMJg==} + '@tanstack/query-core@5.59.0': + resolution: {integrity: sha512-WGD8uIhX6/deH/tkZqPNcRyAhDUqs729bWKoByYHSogcshXfFbppOdTER5+qY7mFvu8KEFJwT0nxr8RfPTVh0Q==} - '@tanstack/react-query@5.37.1': - resolution: {integrity: sha512-EhtBNA8GL3XFeSx6VYUjXQ96n44xe3JGKZCzBINrCYlxbZP6UwBafv7ti4eSRWc2Fy+fybQre0w17gR6lMzULA==} + '@tanstack/query-devtools@5.58.0': + resolution: {integrity: sha512-iFdQEFXaYYxqgrv63ots+65FGI+tNp5ZS5PdMU1DWisxk3fez5HG3FyVlbUva+RdYS5hSLbxZ9aw3yEs97GNTw==} + + '@tanstack/react-query-devtools@5.59.0': + resolution: {integrity: sha512-Kz7577FQGU8qmJxROIT/aOwmkTcxfBqgTP6r1AIvuJxVMVHPkp8eQxWQ7BnfBsy/KTJHiV9vMtRVo1+R1tB3vg==} peerDependencies: - react: ^18.0.0 + '@tanstack/react-query': ^5.59.0 + react: ^18 || ^19 + + '@tanstack/react-query@5.59.0': + resolution: {integrity: sha512-YDXp3OORbYR+8HNQx+lf4F73NoiCmCcSvZvgxE29OifmQFk0sBlO26NWLHpcNERo92tVk3w+JQ53/vkcRUY1hA==} + peerDependencies: + react: ^18 || ^19 '@tanstack/react-table@8.10.3': resolution: {integrity: sha512-Qya1cJ+91arAlW7IRDWksRDnYw28O446jJ/ljkRSc663EaftJoBCAU10M+VV1K6MpCBLrXq1BD5IQc1zj/ZEjA==} @@ -4798,33 +4804,38 @@ packages: react: ^18.0.0 react-dom: '>=16.6.0' - '@trpc/client@10.45.2': - resolution: {integrity: sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==} + '@trpc/client@11.0.0-rc.553': + resolution: {integrity: sha512-ICgziilbuAslRgHIVJZ162KaHQRpHXA1C1LPRsNpxPa9aStPF7eThAjn4V3JmDyJsuDLQgAmqLVRImlLPMYR5Q==} peerDependencies: - '@trpc/server': 10.45.2 + '@trpc/server': 11.0.0-rc.553+9b629cc67 - '@trpc/next@10.45.2': - resolution: {integrity: sha512-RSORmfC+/nXdmRY1pQ0AalsVgSzwNAFbZLYHiTvPM5QQ8wmMEHilseCYMXpu0se/TbPt9zVR6Ka2d7O6zxKkXg==} + '@trpc/next@11.0.0-rc.553': + resolution: {integrity: sha512-1bIuG4nKYmTuVFqgsqSbOGgIz2LsUcb1wXrK1zlfikRQHhssSMmpXSLSANfZffs/6lbFLVs057XaS9LX5HmCsw==} peerDependencies: - '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.45.2 - '@trpc/react-query': 10.45.2 - '@trpc/server': 10.45.2 + '@tanstack/react-query': ^5.54.1 + '@trpc/client': 11.0.0-rc.553+9b629cc67 + '@trpc/react-query': 11.0.0-rc.553+9b629cc67 + '@trpc/server': 11.0.0-rc.553+9b629cc67 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' + peerDependenciesMeta: + '@tanstack/react-query': + optional: true + '@trpc/react-query': + optional: true - '@trpc/react-query@10.45.2': - resolution: {integrity: sha512-BAqb9bGZIscroradlNx+Cc9522R+idY3BOSf5z0jHUtkxdMbjeGKxSSMxxu7JzoLqSIEC+LVzL3VvF8sdDWaZQ==} + '@trpc/react-query@11.0.0-rc.553': + resolution: {integrity: sha512-m88HBhpfIDJccJCXycHtkGS82RG2TVPsZUFIWswR8m6ip5eFNmqWASanu7DiiFbY6sufLT1S8ee28towrPUgoA==} peerDependencies: - '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.45.2 - '@trpc/server': 10.45.2 - react: '>=16.8.0' - react-dom: '>=16.8.0' + '@tanstack/react-query': ^5.54.1 + '@trpc/client': 11.0.0-rc.553+9b629cc67 + '@trpc/server': 11.0.0-rc.553+9b629cc67 + react: '>=18.2.0' + react-dom: '>=18.2.0' - '@trpc/server@10.45.2': - resolution: {integrity: sha512-wOrSThNNE4HUnuhJG6PfDRp4L2009KDVxsd+2VYH8ro6o/7/jwYZ8Uu5j+VaW+mOmc8EHerHzGcdbGNQSAUPgg==} + '@trpc/server@11.0.0-rc.553': + resolution: {integrity: sha512-pYUhxV3QU834jP1ugJk1uhtPwwaY1ymIuupb4DiWOhNCl68syuXPlUdD8IYsYKd3BjLkmnjlsOUMoyd/aoOF/Q==} '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -12094,6 +12105,10 @@ snapshots: dependencies: tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)) + '@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)))': + dependencies: + tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)) + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)))': dependencies: tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)) @@ -12529,11 +12544,6 @@ snapshots: '@one-ini/wasm@0.1.1': {} - '@openstatus/next-monitoring@0.0.4(next@14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - next: 14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - '@opentelemetry/api-logs@0.39.1': dependencies: '@opentelemetry/api': 1.8.0 @@ -13644,9 +13654,9 @@ snapshots: optionalDependencies: rollup: 2.78.0 - '@scalar/api-client@2.0.45(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)))(typescript@5.5.2)': + '@scalar/api-client@2.0.45(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)))(typescript@5.5.2)': dependencies: - '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2))) + '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2))) '@headlessui/vue': 1.7.22(vue@3.4.31(typescript@5.5.2)) '@scalar/components': 0.12.28(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.5.2) '@scalar/draggable': 0.1.4(typescript@5.5.2) @@ -13682,11 +13692,11 @@ snapshots: - typescript - vitest - '@scalar/api-reference@1.24.70(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)))(typescript@5.5.2)': + '@scalar/api-reference@1.24.70(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)))(typescript@5.5.2)': dependencies: '@floating-ui/vue': 1.1.1(vue@3.4.31(typescript@5.5.2)) '@headlessui/vue': 1.7.22(vue@3.4.31(typescript@5.5.2)) - '@scalar/api-client': 2.0.45(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)))(typescript@5.5.2) + '@scalar/api-client': 2.0.45(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)))(typescript@5.5.2) '@scalar/components': 0.12.28(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.5.2) '@scalar/oas-utils': 0.2.26(typescript@5.5.2) '@scalar/openapi-parser': 0.7.2 @@ -13771,9 +13781,9 @@ snapshots: transitivePeerDependencies: - typescript - '@scalar/hono-api-reference@0.5.131(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)))(typescript@5.5.2)': + '@scalar/hono-api-reference@0.5.131(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)))(typescript@5.5.2)': dependencies: - '@scalar/api-reference': 1.24.70(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)))(typescript@5.5.2) + '@scalar/api-reference': 1.24.70(postcss@8.4.38)(storybook@8.2.1(@babel/preset-env@7.24.8(@babel/core@7.24.8))(bufferutil@4.0.8)(utf-8-validate@6.0.4))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.5.2)))(typescript@5.5.2) hono: 4.5.3 transitivePeerDependencies: - '@jest/globals' @@ -14488,11 +14498,19 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.5.2)) - '@tanstack/query-core@5.36.1': {} + '@tanstack/query-core@5.59.0': {} + + '@tanstack/query-devtools@5.58.0': {} + + '@tanstack/react-query-devtools@5.59.0(@tanstack/react-query@5.59.0(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/query-devtools': 5.58.0 + '@tanstack/react-query': 5.59.0(react@18.3.1) + react: 18.3.1 - '@tanstack/react-query@5.37.1(react@18.3.1)': + '@tanstack/react-query@5.59.0(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.36.1 + '@tanstack/query-core': 5.59.0 react: 18.3.1 '@tanstack/react-table@8.10.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -14563,29 +14581,30 @@ snapshots: transitivePeerDependencies: - tailwindcss - '@trpc/client@10.45.2(@trpc/server@10.45.2)': + '@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553)': dependencies: - '@trpc/server': 10.45.2 + '@trpc/server': 11.0.0-rc.553 - '@trpc/next@10.45.2(@tanstack/react-query@5.37.1(react@18.3.1))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/react-query@10.45.2(@tanstack/react-query@5.37.1(react@18.3.1))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@trpc/server@10.45.2)(next@14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@trpc/next@11.0.0-rc.553(@tanstack/react-query@5.59.0(react@18.3.1))(@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553))(@trpc/react-query@11.0.0-rc.553(@tanstack/react-query@5.59.0(react@18.3.1))(@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553))(@trpc/server@11.0.0-rc.553)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@trpc/server@11.0.0-rc.553)(next@14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/react-query': 5.37.1(react@18.3.1) - '@trpc/client': 10.45.2(@trpc/server@10.45.2) - '@trpc/react-query': 10.45.2(@tanstack/react-query@5.37.1(react@18.3.1))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@trpc/server': 10.45.2 + '@trpc/client': 11.0.0-rc.553(@trpc/server@11.0.0-rc.553) + '@trpc/server': 11.0.0-rc.553 next: 14.2.4(@opentelemetry/api@1.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@tanstack/react-query': 5.59.0(react@18.3.1) + '@trpc/react-query': 11.0.0-rc.553(@tanstack/react-query@5.59.0(react@18.3.1))(@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553))(@trpc/server@11.0.0-rc.553)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@trpc/react-query@10.45.2(@tanstack/react-query@5.37.1(react@18.3.1))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@trpc/react-query@11.0.0-rc.553(@tanstack/react-query@5.59.0(react@18.3.1))(@trpc/client@11.0.0-rc.553(@trpc/server@11.0.0-rc.553))(@trpc/server@11.0.0-rc.553)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/react-query': 5.37.1(react@18.3.1) - '@trpc/client': 10.45.2(@trpc/server@10.45.2) - '@trpc/server': 10.45.2 + '@tanstack/react-query': 5.59.0(react@18.3.1) + '@trpc/client': 11.0.0-rc.553(@trpc/server@11.0.0-rc.553) + '@trpc/server': 11.0.0-rc.553 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@trpc/server@10.45.2': {} + '@trpc/server@11.0.0-rc.553': {} '@tsconfig/node10@1.0.11': {}