diff --git a/docs/config.json b/docs/config.json index 4382096910..4fff93b1a5 100644 --- a/docs/config.json +++ b/docs/config.json @@ -203,6 +203,10 @@ "label": "Server Functions", "to": "framework/react/start/server-functions" }, + { + "label": "Middleware", + "to": "framework/react/start/middleware" + }, { "label": "API Routes", "to": "framework/react/start/api-routes" diff --git a/docs/framework/react/guide/authenticated-routes.md b/docs/framework/react/guide/authenticated-routes.md index 5677748633..db2ed79021 100644 --- a/docs/framework/react/guide/authenticated-routes.md +++ b/docs/framework/react/guide/authenticated-routes.md @@ -124,6 +124,8 @@ export const router = createRouter({ ```tsx import { RouterProvider } from '@tanstack/react-router' +import { AuthProvider, useAuth } from './auth' + import { router } from './router' function InnerApp() { diff --git a/docs/framework/react/guide/navigation.md b/docs/framework/react/guide/navigation.md index b6fb0c7c5b..2322a487c6 100644 --- a/docs/framework/react/guide/navigation.md +++ b/docs/framework/react/guide/navigation.md @@ -51,6 +51,8 @@ type ToOptions< > 🧠 Every route object has a `to` property, which can be used as the `to` for any navigation or route matching API. Where possible, this will allow you to avoid plain strings and use type-safe route references instead: ```tsx +import { Route as aboutRoute } from './routes/about.tsx' + function Comp() { return About } diff --git a/docs/framework/react/guide/route-masking.md b/docs/framework/react/guide/route-masking.md index 1f2e2d8802..b31647db81 100644 --- a/docs/framework/react/guide/route-masking.md +++ b/docs/framework/react/guide/route-masking.md @@ -60,7 +60,7 @@ The `` and `navigate()` APIs both accept a `mask` option that can be used to="/photos/$photoId/modal" params={{ photoId: 5 }} mask={{ - to: "/photos/$photoId" + to: '/photos/$photoId', params: { photoId: 5, }, @@ -78,12 +78,13 @@ const navigate = useNavigate() function onOpenPhoto() { navigate({ to: '/photos/$photoId/modal', + params: { photoId: 5 }, mask: { - to: '/photos/$photoId' + to: '/photos/$photoId', params: { photoId: 5, }, - } + }, }) } ``` diff --git a/docs/framework/react/guide/router-context.md b/docs/framework/react/guide/router-context.md index f143961cd9..561b1e2f00 100644 --- a/docs/framework/react/guide/router-context.md +++ b/docs/framework/react/guide/router-context.md @@ -70,6 +70,7 @@ If you need to invalidate the context state you are passing into the router, you ```tsx function useAuth() { + const router = useRouter() const [user, setUser] = useState(null) useEffect(() => { diff --git a/docs/framework/react/guide/tanstack-start.md b/docs/framework/react/guide/tanstack-start.md index 8c8e13cd45..d7cd312bde 100644 --- a/docs/framework/react/guide/tanstack-start.md +++ b/docs/framework/react/guide/tanstack-start.md @@ -258,7 +258,7 @@ const getCount = createServerFn({ return readCount() }) -const updateCount = createServerFn() +const updateCount = createServerFn({ method: 'POST' }) .validator((d: number) => d) .handler(async ({ data }) => { const count = await readCount() diff --git a/docs/framework/react/quick-start.md b/docs/framework/react/quick-start.md index 1f4ece0ab0..58cf4c2093 100644 --- a/docs/framework/react/quick-start.md +++ b/docs/framework/react/quick-start.md @@ -64,6 +64,8 @@ Create the following files: - `src/routes/about.lazy.tsx` - `src/main.tsx` +All routes/\*.tsx files should export an object named **Route**, created using createRootRoute or createLazyFileRoute. + > 🧠 Route files with the `.lazy.tsx` extension are lazy loaded via separate bundles to keep the main bundle size as lean as possible. #### `src/routes/__root.tsx` @@ -130,7 +132,7 @@ Regardless if you are using the `@tanstack/router-plugin` package or manually ru Import the generated route tree and create a new router instance: ```tsx -import React, { StrictMode } from 'react' +import { StrictMode } from 'react' import ReactDOM from 'react-dom/client' import { RouterProvider, createRouter } from '@tanstack/react-router' @@ -167,7 +169,7 @@ If you are working with this pattern you should change the `id` of the root ` The following example shows how to configure routes using code, and for simplicity's sake is in a single file for this demo. While code-based generation allows you to declare many routes and even the router instance in a single file, we recommend splitting your routes into separate files for better organization and performance as your application grows. ```tsx -import React, { StrictMode } from 'react' +import { StrictMode } from 'react' import ReactDOM from 'react-dom/client' import { Outlet, diff --git a/docs/framework/react/start/getting-started.md b/docs/framework/react/start/getting-started.md index ccb6085f5a..f5b8dfe9b0 100644 --- a/docs/framework/react/start/getting-started.md +++ b/docs/framework/react/start/getting-started.md @@ -199,18 +199,20 @@ import { Meta, Scripts } from '@tanstack/start' import type { ReactNode } from 'react' export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - { - title: 'TanStack Start Starter', - }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + { + title: 'TanStack Start Starter', + }, + ], + }), component: RootComponent, }) @@ -262,7 +264,7 @@ const getCount = createServerFn({ return readCount() }) -const updateCount = createServerFn() +const updateCount = createServerFn({ method: 'POST' }) .validator((d: number) => d) .handler(async ({ data }) => { const count = await readCount() @@ -282,7 +284,7 @@ function Home() { + + ) +} diff --git a/e2e/start/basic/app/routes/-server-fns/multipart-formdata-fn-call.tsx b/e2e/start/basic/app/routes/-server-fns/multipart-formdata-fn-call.tsx new file mode 100644 index 0000000000..28f7612034 --- /dev/null +++ b/e2e/start/basic/app/routes/-server-fns/multipart-formdata-fn-call.tsx @@ -0,0 +1,102 @@ +import * as React from 'react' +import { createServerFn } from '@tanstack/start' + +const multipartFormDataServerFn = createServerFn({ method: 'POST' }) + .validator((x: unknown) => { + if (!(x instanceof FormData)) { + throw new Error('Invalid form data') + } + + const value = x.get('input_field') + const file = x.get('input_file') + + if (typeof value !== 'string') { + throw new Error('Submitted value is not a string') + } + + if (!(file instanceof File)) { + throw new Error('File is required') + } + + return { + submittedValue: value, + file, + } + }) + .handler(async ({ data }) => { + const contents = await data.file.text() + return { + value: data.submittedValue, + file: { + name: data.file.name, + size: data.file.size, + contents: contents, + }, + } + }) + +export function MultipartServerFnCall() { + const formRef = React.useRef(null) + const [multipartResult, setMultipartResult] = React.useState({}) + + const handleSubmit = (e: React.MouseEvent) => { + e.preventDefault() + + if (!formRef.current) { + return + } + + const formData = new FormData(formRef.current) + multipartFormDataServerFn({ data: formData }).then(setMultipartResult) + } + + return ( +
+

Multipart Server Fn POST Call

+
+ It should return{' '} + +
+            {JSON.stringify({
+              value: 'test field value',
+              file: { name: 'my_file.txt', size: 9, contents: 'test data' },
+            })}
+          
+
+
+
+ + + + +
+
+
+          {JSON.stringify(multipartResult)}
+        
+
+
+ ) +} diff --git a/e2e/start/basic/app/routes/__root.tsx b/e2e/start/basic/app/routes/__root.tsx index 69aa1768b6..3c28fb6036 100644 --- a/e2e/start/basic/app/routes/__root.tsx +++ b/e2e/start/basic/app/routes/__root.tsx @@ -1,3 +1,4 @@ +import * as React from 'react' import { Link, Outlet, @@ -6,50 +7,51 @@ import { } from '@tanstack/react-router' import { TanStackRouterDevtools } from '@tanstack/router-devtools' import { Meta, Scripts } from '@tanstack/start' -import * as React from 'react' + import { DefaultCatchBoundary } from '~/components/DefaultCatchBoundary' import { NotFound } from '~/components/NotFound' -// @ts-expect-error import appCss from '~/styles/app.css?url' import { seo } from '~/utils/seo' export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), errorComponent: (props) => { return ( diff --git a/e2e/start/basic/app/routes/api.users.ts b/e2e/start/basic/app/routes/api.users.ts index 3b11af9b9d..3bcaf3446b 100644 --- a/e2e/start/basic/app/routes/api.users.ts +++ b/e2e/start/basic/app/routes/api.users.ts @@ -1,7 +1,8 @@ import { json } from '@tanstack/start' import { createAPIFileRoute } from '@tanstack/start/api' import axios from 'redaxios' -import type { User } from '../utils/users' + +import type { User } from '~/utils/users' export const Route = createAPIFileRoute('/api/users')({ GET: async ({ request }) => { diff --git a/e2e/start/basic/app/routes/api/users.$id.ts b/e2e/start/basic/app/routes/api/users.$id.ts index 849d45e8d0..044d1fd4c8 100644 --- a/e2e/start/basic/app/routes/api/users.$id.ts +++ b/e2e/start/basic/app/routes/api/users.$id.ts @@ -1,7 +1,8 @@ import { json } from '@tanstack/start' import { createAPIFileRoute } from '@tanstack/start/api' import axios from 'redaxios' -import type { User } from '../../utils/users' + +import type { User } from '~/utils/users' export const Route = createAPIFileRoute('/api/users/$id')({ GET: async ({ request, params }) => { diff --git a/e2e/start/basic/app/routes/posts.$postId.tsx b/e2e/start/basic/app/routes/posts.$postId.tsx index 8539e8c7db..005228a0fe 100644 --- a/e2e/start/basic/app/routes/posts.$postId.tsx +++ b/e2e/start/basic/app/routes/posts.$postId.tsx @@ -1,11 +1,12 @@ import { ErrorComponent, Link, createFileRoute } from '@tanstack/react-router' -import { fetchPost } from '../utils/posts' import type { ErrorComponentProps } from '@tanstack/react-router' + +import { fetchPost } from '~/utils/posts' import { NotFound } from '~/components/NotFound' export const Route = createFileRoute('/posts/$postId')({ loader: async ({ params: { postId } }) => fetchPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found diff --git a/e2e/start/basic/app/routes/posts.tsx b/e2e/start/basic/app/routes/posts.tsx index ae49032459..5a67375c84 100644 --- a/e2e/start/basic/app/routes/posts.tsx +++ b/e2e/start/basic/app/routes/posts.tsx @@ -1,5 +1,6 @@ import { Link, Outlet, createFileRoute } from '@tanstack/react-router' -import { fetchPosts } from '../utils/posts' + +import { fetchPosts } from '~/utils/posts' export const Route = createFileRoute('/posts')({ loader: async () => fetchPosts(), diff --git a/e2e/start/basic/app/routes/posts_.$postId.deep.tsx b/e2e/start/basic/app/routes/posts_.$postId.deep.tsx index a19a578db5..e8f733560b 100644 --- a/e2e/start/basic/app/routes/posts_.$postId.deep.tsx +++ b/e2e/start/basic/app/routes/posts_.$postId.deep.tsx @@ -1,10 +1,11 @@ import { Link, createFileRoute } from '@tanstack/react-router' -import { fetchPost } from '../utils/posts' + import { PostErrorComponent } from './posts.$postId' +import { fetchPost } from '~/utils/posts' export const Route = createFileRoute('/posts_/$postId/deep')({ loader: async ({ params: { postId } }) => fetchPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostDeepComponent, }) diff --git a/e2e/start/basic/app/routes/server-fns.tsx b/e2e/start/basic/app/routes/server-fns.tsx new file mode 100644 index 0000000000..c829feed9d --- /dev/null +++ b/e2e/start/basic/app/routes/server-fns.tsx @@ -0,0 +1,18 @@ +import * as React from 'react' +import { createFileRoute } from '@tanstack/react-router' + +import { ConsistentServerFnCalls } from './-server-fns/consistent-fn-calls' +import { MultipartServerFnCall } from './-server-fns/multipart-formdata-fn-call' + +export const Route = createFileRoute('/server-fns')({ + component: RouteComponent, +}) + +function RouteComponent() { + return ( + <> + + + + ) +} diff --git a/e2e/start/basic/app/routes/status.tsx b/e2e/start/basic/app/routes/status.tsx index fd761aaf35..b1bd160706 100644 --- a/e2e/start/basic/app/routes/status.tsx +++ b/e2e/start/basic/app/routes/status.tsx @@ -1,6 +1,5 @@ import { createFileRoute } from '@tanstack/react-router' import { createServerFn, useServerFn } from '@tanstack/start' - import { setResponseStatus } from 'vinxi/http' export const helloFn = createServerFn().handler(() => { diff --git a/e2e/start/basic/app/routes/users.$userId.tsx b/e2e/start/basic/app/routes/users.$userId.tsx index 573377c758..1e2921411a 100644 --- a/e2e/start/basic/app/routes/users.$userId.tsx +++ b/e2e/start/basic/app/routes/users.$userId.tsx @@ -1,7 +1,9 @@ import { ErrorComponent, createFileRoute } from '@tanstack/react-router' import axios from 'redaxios' import type { ErrorComponentProps } from '@tanstack/react-router' -import { DEPLOY_URL, type User } from '~/utils/users' + +import type { User } from '~/utils/users' +import { DEPLOY_URL } from '~/utils/users' import { NotFound } from '~/components/NotFound' export const Route = createFileRoute('/users/$userId')({ diff --git a/e2e/start/basic/app/routes/users.tsx b/e2e/start/basic/app/routes/users.tsx index 77a6fbe864..45e070657e 100644 --- a/e2e/start/basic/app/routes/users.tsx +++ b/e2e/start/basic/app/routes/users.tsx @@ -1,6 +1,8 @@ import { Link, Outlet, createFileRoute } from '@tanstack/react-router' import axios from 'redaxios' -import { DEPLOY_URL, type User } from '../utils/users' + +import type { User } from '~/utils/users' +import { DEPLOY_URL } from '~/utils/users' export const Route = createFileRoute('/users')({ loader: async () => { diff --git a/e2e/start/basic/package.json b/e2e/start/basic/package.json index c667cc58ca..d7e6dc968c 100644 --- a/e2e/start/basic/package.json +++ b/e2e/start/basic/package.json @@ -21,15 +21,15 @@ "zod": "^3.23.8" }, "devDependencies": { - "@playwright/test": "^1.48.2", + "@playwright/test": "^1.49.0", "@types/node": "^22.5.4", "@types/react": "^18.2.65", "@types/react-dom": "^18.2.21", "@vitejs/plugin-react": "^4.3.3", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/e2e/start/basic/tests/app.spec.ts b/e2e/start/basic/tests/app.spec.ts index addd6913ce..b313b236a4 100644 --- a/e2e/start/basic/tests/app.spec.ts +++ b/e2e/start/basic/tests/app.spec.ts @@ -101,3 +101,61 @@ test('invoking a server function with custom response status code', async ({ }) await requestPromise }) + +test('Consistent server function returns both on client and server for GET and POST calls', async ({ + page, +}) => { + await page.goto('/server-fns') + + await page.waitForLoadState('networkidle') + const expected = + (await page + .getByTestId('expected-consistent-server-fns-result') + .textContent()) || '' + expect(expected).not.toBe('') + + await page.getByTestId('test-consistent-server-fn-calls-btn').click() + await page.waitForLoadState('networkidle') + + // GET calls + await expect(page.getByTestId('cons_serverGetFn1-response')).toContainText( + expected, + ) + await expect(page.getByTestId('cons_getFn1-response')).toContainText(expected) + + // POST calls + await expect(page.getByTestId('cons_serverPostFn1-response')).toContainText( + expected, + ) + await expect(page.getByTestId('cons_postFn1-response')).toContainText( + expected, + ) +}) + +test('submitting multipart/form-data as server function input', async ({ + page, +}) => { + await page.goto('/server-fns') + + await page.waitForLoadState('networkidle') + const expected = + (await page + .getByTestId('expected-multipart-server-fn-result') + .textContent()) || '' + expect(expected).not.toBe('') + + const fileChooserPromise = page.waitForEvent('filechooser') + await page.getByTestId('multipart-form-file-input').click() + const fileChooser = await fileChooserPromise + await fileChooser.setFiles({ + name: 'my_file.txt', + mimeType: 'text/plain', + buffer: Buffer.from('test data', 'utf-8'), + }) + await page.getByText('Submit (onClick)').click() + await page.waitForLoadState('networkidle') + + await expect(page.getByTestId('multipart-form-response')).toContainText( + expected, + ) +}) diff --git a/e2e/start/clerk-basic/app/client.tsx b/e2e/start/clerk-basic/app/client.tsx index b887037fc4..3bfe090a3e 100644 --- a/e2e/start/clerk-basic/app/client.tsx +++ b/e2e/start/clerk-basic/app/client.tsx @@ -1,3 +1,4 @@ +/// import { hydrateRoot } from 'react-dom/client' import { StartClient } from '@tanstack/start' import { createRouter } from './router' diff --git a/e2e/start/clerk-basic/app/routes/__root.tsx b/e2e/start/clerk-basic/app/routes/__root.tsx index db877d6e11..ffcca2b011 100644 --- a/e2e/start/clerk-basic/app/routes/__root.tsx +++ b/e2e/start/clerk-basic/app/routes/__root.tsx @@ -30,37 +30,39 @@ const fetchClerkAuth = createServerFn({ method: 'GET' }).handler(async () => { }) export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), beforeLoad: async () => { const { user } = await fetchClerkAuth() diff --git a/e2e/start/clerk-basic/app/routes/_authed/posts.$postId.tsx b/e2e/start/clerk-basic/app/routes/_authed/posts.$postId.tsx index e4680c6070..27296b9658 100644 --- a/e2e/start/clerk-basic/app/routes/_authed/posts.$postId.tsx +++ b/e2e/start/clerk-basic/app/routes/_authed/posts.$postId.tsx @@ -1,11 +1,12 @@ import { ErrorComponent, createFileRoute } from '@tanstack/react-router' import type { ErrorComponentProps } from '@tanstack/react-router' + import { NotFound } from '~/components/NotFound.js' import { fetchPost } from '~/utils/posts.js' export const Route = createFileRoute('/_authed/posts/$postId')({ loader: ({ params: { postId } }) => fetchPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found diff --git a/e2e/start/clerk-basic/app/routes/_authed/posts.tsx b/e2e/start/clerk-basic/app/routes/_authed/posts.tsx index 86c8ef4138..c01f12c49a 100644 --- a/e2e/start/clerk-basic/app/routes/_authed/posts.tsx +++ b/e2e/start/clerk-basic/app/routes/_authed/posts.tsx @@ -1,4 +1,5 @@ import { Link, Outlet, createFileRoute } from '@tanstack/react-router' + import { fetchPosts } from '~/utils/posts.js' export const Route = createFileRoute('/_authed/posts')({ diff --git a/e2e/start/clerk-basic/app/routes/_authed/profile.$.tsx b/e2e/start/clerk-basic/app/routes/_authed/profile.$.tsx index 208a38e230..1e5a8b1429 100644 --- a/e2e/start/clerk-basic/app/routes/_authed/profile.$.tsx +++ b/e2e/start/clerk-basic/app/routes/_authed/profile.$.tsx @@ -1,4 +1,5 @@ import { Link, Outlet, createFileRoute } from '@tanstack/react-router' + import { fetchPosts } from '~/utils/posts.js' export const Route = createFileRoute('/_authed/profile/$')({ diff --git a/e2e/start/clerk-basic/package.json b/e2e/start/clerk-basic/package.json index eddce67a9d..d7691be6d1 100644 --- a/e2e/start/clerk-basic/package.json +++ b/e2e/start/clerk-basic/package.json @@ -10,7 +10,7 @@ "test:e2e": "exit 0; playwright test --project=chromium" }, "dependencies": { - "@clerk/tanstack-start": "0.4.25", + "@clerk/tanstack-start": "0.5.1", "@tanstack/react-router": "workspace:^", "@tanstack/router-devtools": "workspace:^", "@tanstack/start": "workspace:^", @@ -23,15 +23,15 @@ "vinxi": "0.4.3" }, "devDependencies": { - "@playwright/test": "^1.48.2", + "@playwright/test": "^1.49.0", "@types/node": "^22.5.4", "@types/react": "^18.2.65", "@types/react-dom": "^18.2.21", "@vitejs/plugin-react": "^4.3.3", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.$.tsx b/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.$.tsx index de3326d7d4..055f77622b 100644 --- a/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.$.tsx +++ b/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.$.tsx @@ -11,10 +11,11 @@ export const Route = createFileRoute( getDocument({ data: _splat!, }), - meta: ({ loaderData, params }) => - seo({ - title: `${loaderData.title} | TanStack ${capitalize(params.project)} ${capitalize(params.framework)}`, + head: ({ loaderData, params }) => ({ + meta: seo({ + title: `${loaderData?.title || 'Project'} | TanStack ${capitalize(params.project)} ${capitalize(params.framework)}`, }), + }), errorComponent: PostErrorComponent, component: Page, notFoundComponent: () => { diff --git a/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.examples.$.tsx b/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.examples.$.tsx index a06b4ec1b3..5d5cbe324d 100644 --- a/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.examples.$.tsx +++ b/e2e/start/website/app/routes/$project.$version.docs.framework.$framework.examples.$.tsx @@ -5,10 +5,11 @@ import { capitalize, seo } from '~/utils/seo' export const Route = createFileRoute( '/$project/$version/docs/framework/$framework/examples/$', )({ - meta: ({ params }) => - seo({ + head: ({ params }) => ({ + meta: seo({ title: `${capitalize(params._splat || '')} Example | TanStack ${capitalize(params.project)} ${capitalize(params.framework)}`, }), + }), component: Page, notFoundComponent: () => { return Example not found diff --git a/e2e/start/website/app/routes/__root.tsx b/e2e/start/website/app/routes/__root.tsx index a7d9d48157..0a0ff80f24 100644 --- a/e2e/start/website/app/routes/__root.tsx +++ b/e2e/start/website/app/routes/__root.tsx @@ -12,41 +12,43 @@ import appCss from '~/styles/app.css?url' import { seo } from '~/utils/seo' export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: 'TanStack Website', - description: `TanStack projects are type-safe!!!`, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: 'TanStack Website', + description: `TanStack projects are type-safe!!!`, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), errorComponent: (props) => { return ( diff --git a/e2e/start/website/app/routes/_library.$project.tsx b/e2e/start/website/app/routes/_library.$project.tsx index 822158d3be..3384fcf3a0 100644 --- a/e2e/start/website/app/routes/_library.$project.tsx +++ b/e2e/start/website/app/routes/_library.$project.tsx @@ -4,7 +4,9 @@ import { seo } from '~/utils/seo' export const Route = createFileRoute('/_library/$project')({ loader: ({ params: { project } }) => getProject({ data: project }), - meta: ({ loaderData }) => seo({ title: `TanStack ${loaderData.name}` }), + head: ({ loaderData }) => ({ + meta: seo({ title: `TanStack ${loaderData?.name || 'Project'}` }), + }), component: () => (
diff --git a/e2e/start/website/package.json b/e2e/start/website/package.json index 4d72884d60..41dfa7b4e0 100644 --- a/e2e/start/website/package.json +++ b/e2e/start/website/package.json @@ -21,15 +21,15 @@ "zod": "^3.23.8" }, "devDependencies": { - "@playwright/test": "^1.48.2", + "@playwright/test": "^1.49.0", "@types/node": "^22.5.4", "@types/react": "^18.2.65", "@types/react-dom": "^18.2.21", "@vitejs/plugin-react": "^4.3.3", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index b0ede1e50e..2b291909f1 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/authenticated-routes/tsconfig.json b/examples/react/authenticated-routes/tsconfig.json index f5a6cae049..1d0ae3db1e 100644 --- a/examples/react/authenticated-routes/tsconfig.json +++ b/examples/react/authenticated-routes/tsconfig.json @@ -4,6 +4,7 @@ "esModuleInterop": true, "jsx": "react-jsx", "target": "ESNext", - "moduleResolution": "Bundler" + "moduleResolution": "Bundler", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index ffdf22e125..3362fc8479 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/basic-default-search-params/tsconfig.json b/examples/react/basic-default-search-params/tsconfig.json index f5a6cae049..1d0ae3db1e 100644 --- a/examples/react/basic-default-search-params/tsconfig.json +++ b/examples/react/basic-default-search-params/tsconfig.json @@ -4,6 +4,7 @@ "esModuleInterop": true, "jsx": "react-jsx", "target": "ESNext", - "moduleResolution": "Bundler" + "moduleResolution": "Bundler", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-file-based-codesplitting/package.json b/examples/react/basic-file-based-codesplitting/package.json index 0886779093..a947464c19 100644 --- a/examples/react/basic-file-based-codesplitting/package.json +++ b/examples/react/basic-file-based-codesplitting/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/basic-file-based-codesplitting/tsconfig.json b/examples/react/basic-file-based-codesplitting/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/basic-file-based-codesplitting/tsconfig.json +++ b/examples/react/basic-file-based-codesplitting/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index f956b27d53..64700bef90 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/basic-file-based/src/routes/posts.$postId.tsx b/examples/react/basic-file-based/src/routes/posts.$postId.tsx index febb02ab2f..cded91ef96 100644 --- a/examples/react/basic-file-based/src/routes/posts.$postId.tsx +++ b/examples/react/basic-file-based/src/routes/posts.$postId.tsx @@ -5,7 +5,7 @@ import type { ErrorComponentProps } from '@tanstack/react-router' export const Route = createFileRoute('/posts/$postId')({ loader: async ({ params: { postId } }) => fetchPost(postId), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, notFoundComponent: () => { return

Post not found

}, diff --git a/examples/react/basic-file-based/tsconfig.json b/examples/react/basic-file-based/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/basic-file-based/tsconfig.json +++ b/examples/react/basic-file-based/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 80f0fd7752..a8eddbf0b6 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -9,11 +9,11 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", @@ -23,6 +23,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/basic-react-query-file-based/src/routes/posts.$postId.tsx b/examples/react/basic-react-query-file-based/src/routes/posts.$postId.tsx index 78455fdcdf..4cf6beca88 100644 --- a/examples/react/basic-react-query-file-based/src/routes/posts.$postId.tsx +++ b/examples/react/basic-react-query-file-based/src/routes/posts.$postId.tsx @@ -20,7 +20,7 @@ export const Route = createFileRoute('/posts/$postId')({ component: PostComponent, }) -export function PostErrorComponent({ error, reset }: ErrorComponentProps) { +export function PostErrorComponent({ error }: ErrorComponentProps) { const router = useRouter() if (error instanceof PostNotFoundError) { return
{error.message}
diff --git a/examples/react/basic-react-query-file-based/tsconfig.json b/examples/react/basic-react-query-file-based/tsconfig.json index f5a6cae049..1d0ae3db1e 100644 --- a/examples/react/basic-react-query-file-based/tsconfig.json +++ b/examples/react/basic-react-query-file-based/tsconfig.json @@ -4,6 +4,7 @@ "esModuleInterop": true, "jsx": "react-jsx", "target": "ESNext", - "moduleResolution": "Bundler" + "moduleResolution": "Bundler", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index 9f9cd8db40..88332c5da9 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1" @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/basic-react-query/src/main.tsx b/examples/react/basic-react-query/src/main.tsx index a5455491c0..0601c115e4 100644 --- a/examples/react/basic-react-query/src/main.tsx +++ b/examples/react/basic-react-query/src/main.tsx @@ -2,7 +2,6 @@ import React from 'react' import ReactDOM from 'react-dom/client' import { ErrorComponent, - type ErrorComponentProps, Link, Outlet, RouterProvider, @@ -20,6 +19,7 @@ import { useSuspenseQuery, } from '@tanstack/react-query' import { NotFoundError, postQueryOptions, postsQueryOptions } from './posts' +import type { ErrorComponentProps } from '@tanstack/react-router' const rootRoute = createRootRouteWithContext<{ queryClient: QueryClient @@ -122,7 +122,7 @@ const postRoute = createRoute({ component: PostRouteComponent, }) -function PostErrorComponent({ error, reset }: ErrorComponentProps) { +function PostErrorComponent({ error }: ErrorComponentProps) { const router = useRouter() if (error instanceof NotFoundError) { return
{error.message}
diff --git a/examples/react/basic-react-query/tsconfig.json b/examples/react/basic-react-query/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/basic-react-query/tsconfig.json +++ b/examples/react/basic-react-query/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 479963bb0b..ac10c04fd6 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -11,10 +11,10 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", + "@tanstack/start": "^1.82.10", "get-port": "^7.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -26,6 +26,7 @@ "@rollup/plugin-babel": "^6.0.4", "@types/express": "^4.17.21", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "compression": "^1.7.5", "express": "^4.21.1", "isbot": "^5.1.17", diff --git a/examples/react/basic-ssr-file-based/src/routes/__root.tsx b/examples/react/basic-ssr-file-based/src/routes/__root.tsx index 9424dc2259..97a87f8085 100644 --- a/examples/react/basic-ssr-file-based/src/routes/__root.tsx +++ b/examples/react/basic-ssr-file-based/src/routes/__root.tsx @@ -8,39 +8,41 @@ import { Meta, Scripts } from '@tanstack/start' import type { RouterContext } from '../routerContext' export const Route = createRootRouteWithContext()({ - meta: () => [ - { - title: 'TanStack Router SSR Basic File Based', - }, - { - charSet: 'UTF-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1.0', - }, - ], - scripts: () => [ - { - src: 'https://cdn.tailwindcss.com', - }, - { - type: 'module', - children: `import RefreshRuntime from "/@react-refresh" -RefreshRuntime.injectIntoGlobalHook(window) -window.$RefreshReg$ = () => {} -window.$RefreshSig$ = () => (type) => type -window.__vite_plugin_react_preamble_installed__ = true`, - }, - { - type: 'module', - src: '/@vite/client', - }, - { - type: 'module', - src: '/src/entry-client.tsx', - }, - ], + head: () => ({ + meta: [ + { + title: 'TanStack Router SSR Basic File Based', + }, + { + charSet: 'UTF-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1.0', + }, + ], + scripts: [ + { + src: 'https://cdn.tailwindcss.com', + }, + { + type: 'module', + children: `import RefreshRuntime from "/@react-refresh" + RefreshRuntime.injectIntoGlobalHook(window) + window.$RefreshReg$ = () => {} + window.$RefreshSig$ = () => (type) => type + window.__vite_plugin_react_preamble_installed__ = true`, + }, + { + type: 'module', + src: '/@vite/client', + }, + { + type: 'module', + src: '/src/entry-client.tsx', + }, + ], + }), component: RootComponent, }) diff --git a/examples/react/basic-ssr-file-based/src/routes/error.tsx b/examples/react/basic-ssr-file-based/src/routes/error.tsx index 2b3599380f..52d42f2a99 100644 --- a/examples/react/basic-ssr-file-based/src/routes/error.tsx +++ b/examples/react/basic-ssr-file-based/src/routes/error.tsx @@ -10,7 +10,7 @@ export const Route = createFileRoute('/error')({ errorComponent: ({ error }) => { return (
-

Caught: {(error as Error).message}

+

Caught: {error.message}

(This page has a 50% chance of throwing an error)

) diff --git a/examples/react/basic-ssr-file-based/src/routes/posts.tsx b/examples/react/basic-ssr-file-based/src/routes/posts.tsx index 33da97b194..3699478d0a 100644 --- a/examples/react/basic-ssr-file-based/src/routes/posts.tsx +++ b/examples/react/basic-ssr-file-based/src/routes/posts.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { createFileRoute, Link, Outlet } from '@tanstack/react-router' +import { Link, Outlet, createFileRoute } from '@tanstack/react-router' export type PostType = { id: string @@ -14,7 +14,7 @@ export const Route = createFileRoute('/posts')({ setTimeout(r, 300 + Math.round(Math.random() * 300)), ) return fetch('https://jsonplaceholder.typicode.com/posts') - .then((d) => d.json() as Promise) + .then((d) => d.json() as Promise>) .then((d) => d.slice(0, 10)) }, component: PostsComponent, @@ -26,7 +26,7 @@ function PostsComponent() { return (
    - {posts?.map((post) => { + {posts.map((post) => { return (
  • { diff --git a/examples/react/basic-ssr-file-based/tsconfig.json b/examples/react/basic-ssr-file-based/tsconfig.json index b0d7b6b8f0..8d45f509a2 100644 --- a/examples/react/basic-ssr-file-based/tsconfig.json +++ b/examples/react/basic-ssr-file-based/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "module": "esnext", "types": ["vite/client"], - "moduleResolution": "Bundler" + "moduleResolution": "Bundler", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index 9cce14a794..03e3a0d19b 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -11,10 +11,10 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", + "@tanstack/start": "^1.82.10", "get-port": "^7.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -27,6 +27,7 @@ "@rollup/plugin-babel": "^6.0.4", "@types/express": "^4.17.21", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "compression": "^1.7.5", "express": "^4.21.1", "isbot": "^5.1.17", diff --git a/examples/react/basic-ssr-streaming-file-based/src/routes/__root.tsx b/examples/react/basic-ssr-streaming-file-based/src/routes/__root.tsx index 272dd22eb5..e9eff8ee7a 100644 --- a/examples/react/basic-ssr-streaming-file-based/src/routes/__root.tsx +++ b/examples/react/basic-ssr-streaming-file-based/src/routes/__root.tsx @@ -9,39 +9,41 @@ import { Meta, Scripts } from '@tanstack/start' import type { RouterContext } from '../routerContext' export const Route = createRootRouteWithContext()({ - meta: () => [ - { - title: 'TanStack Router SSR Basic File Based', - }, - { - charSet: 'UTF-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1.0', - }, - ], - scripts: () => [ - { - src: 'https://cdn.tailwindcss.com', - }, - { - type: 'module', - children: `import RefreshRuntime from "/@react-refresh" -RefreshRuntime.injectIntoGlobalHook(window) -window.$RefreshReg$ = () => {} -window.$RefreshSig$ = () => (type) => type -window.__vite_plugin_react_preamble_installed__ = true`, - }, - { - type: 'module', - src: '/@vite/client', - }, - { - type: 'module', - src: '/src/entry-client.tsx', - }, - ], + head: () => ({ + meta: [ + { + title: 'TanStack Router SSR Basic File Based', + }, + { + charSet: 'UTF-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1.0', + }, + ], + scripts: [ + { + src: 'https://cdn.tailwindcss.com', + }, + { + type: 'module', + children: `import RefreshRuntime from "/@react-refresh" + RefreshRuntime.injectIntoGlobalHook(window) + window.$RefreshReg$ = () => {} + window.$RefreshSig$ = () => (type) => type + window.__vite_plugin_react_preamble_installed__ = true`, + }, + { + type: 'module', + src: '/@vite/client', + }, + { + type: 'module', + src: '/src/entry-client.tsx', + }, + ], + }), component: RootComponent, }) diff --git a/examples/react/basic-ssr-streaming-file-based/src/routes/posts.tsx b/examples/react/basic-ssr-streaming-file-based/src/routes/posts.tsx index 5dad9b0623..ad2b0082ad 100644 --- a/examples/react/basic-ssr-streaming-file-based/src/routes/posts.tsx +++ b/examples/react/basic-ssr-streaming-file-based/src/routes/posts.tsx @@ -1,5 +1,5 @@ import * as React from 'react' -import { createFileRoute, Link, Outlet } from '@tanstack/react-router' +import { Link, Outlet, createFileRoute } from '@tanstack/react-router' export type PostType = { id: string @@ -14,7 +14,7 @@ export const Route = createFileRoute('/posts')({ setTimeout(r, 300 + Math.round(Math.random() * 300)), ) return fetch('https://jsonplaceholder.typicode.com/posts') - .then((d) => d.json() as Promise) + .then((d) => d.json() as Promise>) .then((d) => d.slice(0, 10)) }, component: PostsComponent, @@ -26,7 +26,7 @@ function PostsComponent() { return (
      - {posts?.map((post) => { + {posts.map((post) => { return (
    • This is the index
      , diff --git a/examples/react/basic-virtual-file-based/tsconfig.json b/examples/react/basic-virtual-file-based/tsconfig.json index 3c2cd577d6..6162503a9d 100644 --- a/examples/react/basic-virtual-file-based/tsconfig.json +++ b/examples/react/basic-virtual-file-based/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "module": "Preserve", "moduleResolution": "Bundler", - "target": "ESNext" + "target": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index aa9bb18f1e..e5d8c5292d 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "@tanstack/virtual-file-routes": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -22,6 +22,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/basic-virtual-inside-file-based/src/routes/posts/details.tsx b/examples/react/basic-virtual-inside-file-based/src/routes/posts/details.tsx index 948d52d6d6..6479bdf803 100644 --- a/examples/react/basic-virtual-inside-file-based/src/routes/posts/details.tsx +++ b/examples/react/basic-virtual-inside-file-based/src/routes/posts/details.tsx @@ -5,7 +5,7 @@ import type { ErrorComponentProps } from '@tanstack/react-router' export const Route = createFileRoute('/posts/$postId')({ loader: async ({ params: { postId } }) => fetchPost(postId), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, notFoundComponent: () => { return

      Post not found

      }, diff --git a/examples/react/basic-virtual-inside-file-based/tsconfig.json b/examples/react/basic-virtual-inside-file-based/tsconfig.json index 4c7f4aeb83..6ad3835c84 100644 --- a/examples/react/basic-virtual-inside-file-based/tsconfig.json +++ b/examples/react/basic-virtual-inside-file-based/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "module": "Preserve", - "moduleResolution": "Bundler" + "moduleResolution": "Bundler", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index 03531bd45d..5018ecc226 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1" @@ -19,6 +19,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/basic/src/main.tsx b/examples/react/basic/src/main.tsx index f75bdb8629..873374a010 100644 --- a/examples/react/basic/src/main.tsx +++ b/examples/react/basic/src/main.tsx @@ -1,7 +1,6 @@ import ReactDOM from 'react-dom/client' import { ErrorComponent, - type ErrorComponentProps, Link, Outlet, RouterProvider, @@ -11,6 +10,7 @@ import { } from '@tanstack/react-router' import { TanStackRouterDevtools } from '@tanstack/router-devtools' import { NotFoundError, fetchPost, fetchPosts } from './posts' +import type { ErrorComponentProps } from '@tanstack/react-router' const rootRoute = createRootRoute({ component: RootComponent, diff --git a/examples/react/basic/tsconfig.json b/examples/react/basic/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/basic/tsconfig.json +++ b/examples/react/basic/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index b9b01710e0..a44c45934f 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -20,6 +20,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/deferred-data/tsconfig.json b/examples/react/deferred-data/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/deferred-data/tsconfig.json +++ b/examples/react/deferred-data/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index 3678e88a4e..de9fb6b3ba 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "immer": "^10.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -22,6 +22,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/kitchen-sink-file-based/src/routes/_auth.tsx b/examples/react/kitchen-sink-file-based/src/routes/_auth.tsx index 30fdcf9f28..f4f3876f26 100644 --- a/examples/react/kitchen-sink-file-based/src/routes/_auth.tsx +++ b/examples/react/kitchen-sink-file-based/src/routes/_auth.tsx @@ -1,4 +1,3 @@ -import * as React from 'react' import { createFileRoute, redirect } from '@tanstack/react-router' import { auth } from '../utils/auth' diff --git a/examples/react/kitchen-sink-file-based/tsconfig.json b/examples/react/kitchen-sink-file-based/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/kitchen-sink-file-based/tsconfig.json +++ b/examples/react/kitchen-sink-file-based/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index 38f5b3da72..a0113274bf 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -9,11 +9,11 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "immer": "^10.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -24,6 +24,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/kitchen-sink-react-query-file-based/tsconfig.json b/examples/react/kitchen-sink-react-query-file-based/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/kitchen-sink-react-query-file-based/tsconfig.json +++ b/examples/react/kitchen-sink-react-query-file-based/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index f918e1aefb..0498af988b 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "redaxios": "^0.5.1", "immer": "^10.1.1", "react": "^18.2.0", @@ -23,6 +23,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/kitchen-sink-react-query/tsconfig.json b/examples/react/kitchen-sink-react-query/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/kitchen-sink-react-query/tsconfig.json +++ b/examples/react/kitchen-sink-react-query/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index 0e813b61a2..96c4ec58ea 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "redaxios": "^0.5.1", "immer": "^10.1.1", "react": "^18.2.0", @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/kitchen-sink/tsconfig.json b/examples/react/kitchen-sink/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/kitchen-sink/tsconfig.json +++ b/examples/react/kitchen-sink/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index d17a753dd6..f5b7710acd 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -11,10 +11,10 @@ "test:types": "tsc --extendedDiagnostics" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", @@ -24,6 +24,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/large-file-based/tsconfig.json b/examples/react/large-file-based/tsconfig.json index 3435721cc4..22e0d02173 100644 --- a/examples/react/large-file-based/tsconfig.json +++ b/examples/react/large-file-based/tsconfig.json @@ -6,6 +6,7 @@ "target": "ESNext", "moduleResolution": "Bundler", "noEmit": true, - "skipLibCheck": true + "skipLibCheck": true, + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 0ff7eef68f..c4c4e65fb9 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@radix-ui/react-dialog": "^1.1.2", - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0" @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/location-masking/tsconfig.json b/examples/react/location-masking/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/location-masking/tsconfig.json +++ b/examples/react/location-masking/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index f08b31cd9a..4694704198 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0" @@ -20,6 +20,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/navigation-blocking/tsconfig.json b/examples/react/navigation-blocking/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/navigation-blocking/tsconfig.json +++ b/examples/react/navigation-blocking/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/quickstart-esbuild-file-based/package.json b/examples/react/quickstart-esbuild-file-based/package.json index 6156e85386..0c21987ba6 100644 --- a/examples/react/quickstart-esbuild-file-based/package.json +++ b/examples/react/quickstart-esbuild-file-based/package.json @@ -9,9 +9,9 @@ "start": "dev" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-esbuild-file-based/tsconfig.json b/examples/react/quickstart-esbuild-file-based/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/quickstart-esbuild-file-based/tsconfig.json +++ b/examples/react/quickstart-esbuild-file-based/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index 4982ae24b5..ee1b06d322 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/quickstart-file-based/tsconfig.json b/examples/react/quickstart-file-based/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/quickstart-file-based/tsconfig.json +++ b/examples/react/quickstart-file-based/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/quickstart-rspack-file-based/package.json b/examples/react/quickstart-rspack-file-based/package.json index dbeefe0abb..569a9447c4 100644 --- a/examples/react/quickstart-rspack-file-based/package.json +++ b/examples/react/quickstart-rspack-file-based/package.json @@ -8,15 +8,15 @@ "preview": "rsbuild preview" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { - "@rsbuild/core": "1.1.0", + "@rsbuild/core": "1.1.4", "@rsbuild/plugin-react": "1.0.7", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/router-plugin": "^1.82.10", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "typescript": "^5.6.2" diff --git a/examples/react/quickstart-rspack-file-based/tsconfig.json b/examples/react/quickstart-rspack-file-based/tsconfig.json index e6b9bdf4e5..3ad92da0ae 100644 --- a/examples/react/quickstart-rspack-file-based/tsconfig.json +++ b/examples/react/quickstart-rspack-file-based/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "ES2020", - "lib": ["DOM", "ES2020"], + "lib": ["DOM", "DOM.Iterable", "ES2022"], "module": "ESNext", "jsx": "react-jsx", "strict": true, diff --git a/examples/react/quickstart-webpack-file-based/package.json b/examples/react/quickstart-webpack-file-based/package.json index 5a6df180d8..347e7c02c2 100644 --- a/examples/react/quickstart-webpack-file-based/package.json +++ b/examples/react/quickstart-webpack-file-based/package.json @@ -7,14 +7,14 @@ "build": "webpack build && tsc --noEmit" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { "@swc/core": "^1.9.2", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/router-plugin": "^1.82.10", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "html-webpack-plugin": "^5.6.3", diff --git a/examples/react/quickstart-webpack-file-based/tsconfig.json b/examples/react/quickstart-webpack-file-based/tsconfig.json index e6b9bdf4e5..3ad92da0ae 100644 --- a/examples/react/quickstart-webpack-file-based/tsconfig.json +++ b/examples/react/quickstart-webpack-file-based/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "ES2020", - "lib": ["DOM", "ES2020"], + "lib": ["DOM", "DOM.Iterable", "ES2022"], "module": "ESNext", "jsx": "react-jsx", "strict": true, diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index 504211a995..1ce16e6ddb 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0" }, @@ -18,6 +18,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/quickstart/tsconfig.json b/examples/react/quickstart/tsconfig.json index c9e17e2b68..c89dada788 100644 --- a/examples/react/quickstart/tsconfig.json +++ b/examples/react/quickstart/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "strict": true, "esModuleInterop": true, - "jsx": "react-jsx" + "jsx": "react-jsx", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index 4a36562ebb..1ed3b66a18 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -10,11 +10,11 @@ "dev": "pnpm post-query build && pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index 7d7036908b..584e32ddbc 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -9,7 +9,7 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", + "@tanstack/react-query": "^5.61.0", "@router-mono-react-query/post-feature": "workspace:*", "@router-mono-react-query/router": "workspace:*", "react": "^18.2.0", @@ -19,8 +19,8 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", - "@tanstack/router-devtools": "^1.81.9", "typescript": "5.6.2", + "@tanstack/router-devtools": "^1.82.10", "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0" }, diff --git a/examples/react/router-monorepo-react-query/packages/app/src/main.tsx b/examples/react/router-monorepo-react-query/packages/app/src/main.tsx index ffb2c00f4f..dc22c54020 100644 --- a/examples/react/router-monorepo-react-query/packages/app/src/main.tsx +++ b/examples/react/router-monorepo-react-query/packages/app/src/main.tsx @@ -2,7 +2,7 @@ import React, { StrictMode } from 'react' import ReactDOM from 'react-dom/client' import { RouterProvider } from '@tanstack/react-router' import { QueryClientProvider } from '@tanstack/react-query' -import { Outlet, queryClient, router } from '@router-mono-react-query/router' +import { queryClient, router } from '@router-mono-react-query/router' import { PostErrorComponent, PostIdComponent, diff --git a/examples/react/router-monorepo-react-query/packages/app/tsconfig.json b/examples/react/router-monorepo-react-query/packages/app/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/router-monorepo-react-query/packages/app/tsconfig.json +++ b/examples/react/router-monorepo-react-query/packages/app/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/router-monorepo-react-query/packages/post-feature/package.json b/examples/react/router-monorepo-react-query/packages/post-feature/package.json index ea9640709d..060b73c80b 100644 --- a/examples/react/router-monorepo-react-query/packages/post-feature/package.json +++ b/examples/react/router-monorepo-react-query/packages/post-feature/package.json @@ -8,7 +8,7 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/react-query": "^5.59.20", + "@tanstack/react-query": "^5.61.0", "@router-mono-react-query/post-query": "workspace:*", "@router-mono-react-query/router": "workspace:*", "react": "^18.2.0", diff --git a/examples/react/router-monorepo-react-query/packages/post-feature/tsconfig.json b/examples/react/router-monorepo-react-query/packages/post-feature/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/router-monorepo-react-query/packages/post-feature/tsconfig.json +++ b/examples/react/router-monorepo-react-query/packages/post-feature/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/router-monorepo-react-query/packages/post-query/package.json b/examples/react/router-monorepo-react-query/packages/post-query/package.json index b84f4a826c..2a5e5b9ca1 100644 --- a/examples/react/router-monorepo-react-query/packages/post-query/package.json +++ b/examples/react/router-monorepo-react-query/packages/post-query/package.json @@ -8,12 +8,13 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/react-query": "^5.59.20", + "@tanstack/react-query": "^5.61.0", "redaxios": "^0.5.1", "zod": "^3.23.8" }, "devDependencies": { "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/router-monorepo-react-query/packages/post-query/tsconfig.json b/examples/react/router-monorepo-react-query/packages/post-query/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/router-monorepo-react-query/packages/post-query/tsconfig.json +++ b/examples/react/router-monorepo-react-query/packages/post-query/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index feacba0b8f..aaca6948d6 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -8,9 +8,9 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "@router-mono-react-query/post-query": "workspace:*", "redaxios": "^0.5.1", "zod": "^3.23.8", diff --git a/examples/react/router-monorepo-react-query/packages/router/tsconfig.json b/examples/react/router-monorepo-react-query/packages/router/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/router-monorepo-react-query/packages/router/tsconfig.json +++ b/examples/react/router-monorepo-react-query/packages/router/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 45916eb0ef..141000e2ea 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index ed217da263..7f9ddbb114 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -18,8 +18,8 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", - "@tanstack/router-devtools": "^1.81.9", "typescript": "5.6.2", + "@tanstack/router-devtools": "^1.82.10", "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0" }, diff --git a/examples/react/router-monorepo-simple/packages/app/src/main.tsx b/examples/react/router-monorepo-simple/packages/app/src/main.tsx index 74283c5c8b..e4bac0e6d9 100644 --- a/examples/react/router-monorepo-simple/packages/app/src/main.tsx +++ b/examples/react/router-monorepo-simple/packages/app/src/main.tsx @@ -26,6 +26,7 @@ function EmptyComponent() { Object.entries(routerMap).forEach(([path, component]) => { const foundRoute = router.routesById[path as RouterIds] foundRoute.update({ + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition component: component ?? EmptyComponent, }) }) diff --git a/examples/react/router-monorepo-simple/packages/app/tsconfig.json b/examples/react/router-monorepo-simple/packages/app/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/router-monorepo-simple/packages/app/tsconfig.json +++ b/examples/react/router-monorepo-simple/packages/app/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/router-monorepo-simple/packages/post-feature/package.json b/examples/react/router-monorepo-simple/packages/post-feature/package.json index 8eca438002..ecf5c48669 100644 --- a/examples/react/router-monorepo-simple/packages/post-feature/package.json +++ b/examples/react/router-monorepo-simple/packages/post-feature/package.json @@ -8,7 +8,7 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/react-query": "^5.59.20", + "@tanstack/react-query": "^5.61.0", "@router-mono-simple/router": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/examples/react/router-monorepo-simple/packages/post-feature/tsconfig.json b/examples/react/router-monorepo-simple/packages/post-feature/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/router-monorepo-simple/packages/post-feature/tsconfig.json +++ b/examples/react/router-monorepo-simple/packages/post-feature/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index f559f39e32..b0e6425756 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -8,8 +8,8 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", "redaxios": "^0.5.1", "zod": "^3.23.8", "react": "^18.2.0", diff --git a/examples/react/router-monorepo-simple/packages/router/tsconfig.json b/examples/react/router-monorepo-simple/packages/router/tsconfig.json index 0d2a31a7d7..666f8ff36a 100644 --- a/examples/react/router-monorepo-simple/packages/router/tsconfig.json +++ b/examples/react/router-monorepo-simple/packages/router/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "module": "ESNext" + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index 4e078138f2..2d2d82acb0 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", + "@tanstack/react-router": "^1.82.10", "@tanstack/react-virtual": "^3.10.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/router-devtools": "^1.82.10", "react": "^18.2.0", "react-dom": "^18.2.0" }, @@ -19,6 +19,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/scroll-restoration/tsconfig.json b/examples/react/scroll-restoration/tsconfig.json index f5a6cae049..1d0ae3db1e 100644 --- a/examples/react/scroll-restoration/tsconfig.json +++ b/examples/react/scroll-restoration/tsconfig.json @@ -4,6 +4,7 @@ "esModuleInterop": true, "jsx": "react-jsx", "target": "ESNext", - "moduleResolution": "Bundler" + "moduleResolution": "Bundler", + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index 02f841293b..b98659a7b6 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -10,23 +10,24 @@ "test:unit": "vitest" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/arktype-adapter": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", - "@tanstack/valibot-adapter": "^1.81.9", - "@tanstack/zod-adapter": "^1.81.9", - "arktype": "2.0.0-rc.23", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/arktype-adapter": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", + "@tanstack/valibot-adapter": "^1.82.10", + "@tanstack/zod-adapter": "^1.82.10", + "arktype": "2.0.0-rc.24", "react": "^18.2.0", "react-dom": "^18.2.0", - "valibot": "1.0.0-beta.5", + "valibot": "1.0.0-beta.7", "zod": "^3.23.8" }, "devDependencies": { "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1" diff --git a/examples/react/search-validator-adapters/tsconfig.json b/examples/react/search-validator-adapters/tsconfig.json index 44c53edd67..9437de12c3 100644 --- a/examples/react/search-validator-adapters/tsconfig.json +++ b/examples/react/search-validator-adapters/tsconfig.json @@ -6,6 +6,7 @@ "target": "ESNext", "moduleResolution": "Bundler", "module": "ESNext", - "skipLibCheck": true + "skipLibCheck": true, + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/start-basic-auth/app/components/DefaultCatchBoundary.tsx b/examples/react/start-basic-auth/app/components/DefaultCatchBoundary.tsx index f0ce51dc57..15f316681c 100644 --- a/examples/react/start-basic-auth/app/components/DefaultCatchBoundary.tsx +++ b/examples/react/start-basic-auth/app/components/DefaultCatchBoundary.tsx @@ -1,11 +1,11 @@ import { ErrorComponent, - ErrorComponentProps, Link, rootRouteId, useMatch, useRouter, } from '@tanstack/react-router' +import type { ErrorComponentProps } from '@tanstack/react-router' export function DefaultCatchBoundary({ error }: ErrorComponentProps) { const router = useRouter() diff --git a/examples/react/start-basic-auth/app/routes/__root.tsx b/examples/react/start-basic-auth/app/routes/__root.tsx index 3ab9c663b8..1b09411989 100644 --- a/examples/react/start-basic-auth/app/routes/__root.tsx +++ b/examples/react/start-basic-auth/app/routes/__root.tsx @@ -27,42 +27,44 @@ const fetchUser = createServerFn({ method: 'GET' }).handler(async () => { }) export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), beforeLoad: async () => { const user = await fetchUser() diff --git a/examples/react/start-basic-auth/app/routes/_authed/posts.$postId.tsx b/examples/react/start-basic-auth/app/routes/_authed/posts.$postId.tsx index e4680c6070..039271bb89 100644 --- a/examples/react/start-basic-auth/app/routes/_authed/posts.$postId.tsx +++ b/examples/react/start-basic-auth/app/routes/_authed/posts.$postId.tsx @@ -5,7 +5,7 @@ import { fetchPost } from '~/utils/posts.js' export const Route = createFileRoute('/_authed/posts/$postId')({ loader: ({ params: { postId } }) => fetchPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index 918a3bbd17..0b5465a0e7 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -11,9 +11,9 @@ }, "dependencies": { "@prisma/client": "5.22.0", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "dotenv": "^16.4.5", "prisma": "^5.22.0", "react": "^18.3.1", @@ -29,8 +29,8 @@ "@types/react-dom": "^18.2.21", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-basic-react-query/app/components/DefaultCatchBoundary.tsx b/examples/react/start-basic-react-query/app/components/DefaultCatchBoundary.tsx index f0ce51dc57..15f316681c 100644 --- a/examples/react/start-basic-react-query/app/components/DefaultCatchBoundary.tsx +++ b/examples/react/start-basic-react-query/app/components/DefaultCatchBoundary.tsx @@ -1,11 +1,11 @@ import { ErrorComponent, - ErrorComponentProps, Link, rootRouteId, useMatch, useRouter, } from '@tanstack/react-router' +import type { ErrorComponentProps } from '@tanstack/react-router' export function DefaultCatchBoundary({ error }: ErrorComponentProps) { const router = useRouter() diff --git a/examples/react/start-basic-react-query/app/routes/__root.tsx b/examples/react/start-basic-react-query/app/routes/__root.tsx index 849d02e1ba..c916cbeda5 100644 --- a/examples/react/start-basic-react-query/app/routes/__root.tsx +++ b/examples/react/start-basic-react-query/app/routes/__root.tsx @@ -17,42 +17,44 @@ import { seo } from '~/utils/seo' export const Route = createRootRouteWithContext<{ queryClient: QueryClient }>()({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), errorComponent: (props) => { return ( diff --git a/examples/react/start-basic-react-query/app/routes/posts.$postId.tsx b/examples/react/start-basic-react-query/app/routes/posts.$postId.tsx index 546e3d2795..542a12a9f6 100644 --- a/examples/react/start-basic-react-query/app/routes/posts.$postId.tsx +++ b/examples/react/start-basic-react-query/app/routes/posts.$postId.tsx @@ -14,12 +14,10 @@ export const Route = createFileRoute('/posts/$postId')({ title: data.title, } }, - meta: ({ loaderData }) => [ - { - title: loaderData.title, - }, - ], - errorComponent: PostErrorComponent as any, + head: ({ loaderData }) => ({ + meta: loaderData ? [{ title: loaderData.title }] : undefined, + }), + errorComponent: PostErrorComponent, notFoundComponent: () => { return Post not found }, diff --git a/examples/react/start-basic-react-query/app/routes/posts.tsx b/examples/react/start-basic-react-query/app/routes/posts.tsx index 64600d15c4..b545663be2 100644 --- a/examples/react/start-basic-react-query/app/routes/posts.tsx +++ b/examples/react/start-basic-react-query/app/routes/posts.tsx @@ -6,7 +6,9 @@ export const Route = createFileRoute('/posts')({ loader: async ({ context }) => { await context.queryClient.ensureQueryData(postsQueryOptions()) }, - meta: () => [{ title: 'Posts' }], + head: () => ({ + meta: [{ title: 'Posts' }], + }), component: PostsComponent, }) diff --git a/examples/react/start-basic-react-query/app/routes/posts_.$postId.deep.tsx b/examples/react/start-basic-react-query/app/routes/posts_.$postId.deep.tsx index 219ba4771b..33f6475a55 100644 --- a/examples/react/start-basic-react-query/app/routes/posts_.$postId.deep.tsx +++ b/examples/react/start-basic-react-query/app/routes/posts_.$postId.deep.tsx @@ -13,12 +13,10 @@ export const Route = createFileRoute('/posts_/$postId/deep')({ title: data.title, } }, - meta: ({ loaderData }) => [ - { - title: loaderData.title, - }, - ], - errorComponent: PostErrorComponent as any, + head: ({ loaderData }) => ({ + meta: loaderData ? [{ title: loaderData.title }] : undefined, + }), + errorComponent: PostErrorComponent, component: PostDeepComponent, }) diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index b27b937b83..d9450c7ea3 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -9,12 +9,12 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/react-router-with-query": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/react-router-with-query": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "react": "^18.3.1", "react-dom": "^18.3.1", "redaxios": "^0.5.1", @@ -27,8 +27,8 @@ "@types/react-dom": "^18.2.21", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-basic-rsc/app/components/DefaultCatchBoundary.tsx b/examples/react/start-basic-rsc/app/components/DefaultCatchBoundary.tsx index f0ce51dc57..15f316681c 100644 --- a/examples/react/start-basic-rsc/app/components/DefaultCatchBoundary.tsx +++ b/examples/react/start-basic-rsc/app/components/DefaultCatchBoundary.tsx @@ -1,11 +1,11 @@ import { ErrorComponent, - ErrorComponentProps, Link, rootRouteId, useMatch, useRouter, } from '@tanstack/react-router' +import type { ErrorComponentProps } from '@tanstack/react-router' export function DefaultCatchBoundary({ error }: ErrorComponentProps) { const router = useRouter() diff --git a/examples/react/start-basic-rsc/app/routes/__root.tsx b/examples/react/start-basic-rsc/app/routes/__root.tsx index a938538aea..2e19225490 100644 --- a/examples/react/start-basic-rsc/app/routes/__root.tsx +++ b/examples/react/start-basic-rsc/app/routes/__root.tsx @@ -13,42 +13,44 @@ import appCss from '~/styles/app.css?url' import { seo } from '~/utils/seo' export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), errorComponent: (props) => { return ( diff --git a/examples/react/start-basic-rsc/app/routes/posts.$postId.tsx b/examples/react/start-basic-rsc/app/routes/posts.$postId.tsx index c682378671..b857d05e06 100644 --- a/examples/react/start-basic-rsc/app/routes/posts.$postId.tsx +++ b/examples/react/start-basic-rsc/app/routes/posts.$postId.tsx @@ -29,7 +29,7 @@ const renderPost = createServerFn({ method: 'GET' }) export const Route = createFileRoute('/posts/$postId')({ loader: async ({ params: { postId } }) => renderPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found diff --git a/examples/react/start-basic-rsc/app/routes/posts.index.tsx b/examples/react/start-basic-rsc/app/routes/posts.index.tsx index 1b491e46be..5b5f08f95b 100644 --- a/examples/react/start-basic-rsc/app/routes/posts.index.tsx +++ b/examples/react/start-basic-rsc/app/routes/posts.index.tsx @@ -1,6 +1,5 @@ import { createFileRoute } from '@tanstack/react-router' -// @ts-ignore export const Route = createFileRoute('/posts/')({ component: PostsIndexComponent, }) diff --git a/examples/react/start-basic-rsc/app/routes/posts.tsx b/examples/react/start-basic-rsc/app/routes/posts.tsx index eda2c4f0cf..1e0be42f75 100644 --- a/examples/react/start-basic-rsc/app/routes/posts.tsx +++ b/examples/react/start-basic-rsc/app/routes/posts.tsx @@ -1,4 +1,3 @@ -// import * as React from 'react' import { createFileRoute } from '@tanstack/react-router' import { createServerFn, renderRsc } from '@tanstack/start' import { renderPosts } from '~/utils/renderPosts' diff --git a/examples/react/start-basic-rsc/app/routes/posts_.$postId.deep.tsx b/examples/react/start-basic-rsc/app/routes/posts_.$postId.deep.tsx index b095d42294..13d368cf9c 100644 --- a/examples/react/start-basic-rsc/app/routes/posts_.$postId.deep.tsx +++ b/examples/react/start-basic-rsc/app/routes/posts_.$postId.deep.tsx @@ -1,10 +1,10 @@ -import { createFileRoute, Link } from '@tanstack/react-router' -import { PostErrorComponent } from './posts.$postId' +import { Link, createFileRoute } from '@tanstack/react-router' import { fetchPost } from '../utils/posts' +import { PostErrorComponent } from './posts.$postId' export const Route = createFileRoute('/posts_/$postId/deep')({ loader: async ({ params: { postId } }) => fetchPost(postId), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostDeepComponent, }) diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index 5e6097f795..d5d91c4b61 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@babel/plugin-syntax-typescript": "^7.25.9", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "redaxios": "^0.5.1", "tailwind-merge": "^2.5.4", "vinxi": "0.4.3" @@ -22,9 +22,9 @@ "@types/react-dom": "^18.2.21", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" }, "overrides": { "react": "0.0.0-experimental-035a41c4e-20230704", diff --git a/examples/react/start-basic/app/routeTree.gen.ts b/examples/react/start-basic/app/routeTree.gen.ts index 22021a2af7..9f7ab8107b 100644 --- a/examples/react/start-basic/app/routeTree.gen.ts +++ b/examples/react/start-basic/app/routeTree.gen.ts @@ -21,10 +21,10 @@ import { Route as UsersIndexImport } from './routes/users.index' import { Route as PostsIndexImport } from './routes/posts.index' import { Route as UsersUserIdImport } from './routes/users.$userId' import { Route as PostsPostIdImport } from './routes/posts.$postId' -import { Route as LayoutTestLayoutTest2Import } from './routes/_layoutTest/_layoutTest-2' +import { Route as LayoutLayout2Import } from './routes/_layout/_layout-2' import { Route as PostsPostIdDeepImport } from './routes/posts_.$postId.deep' -import { Route as LayoutTestLayoutTest2LayoutTestBImport } from './routes/_layoutTest/_layoutTest-2/layoutTest-b' -import { Route as LayoutTestLayoutTest2LayoutTestAImport } from './routes/_layoutTest/_layoutTest-2/layoutTest-a' +import { Route as LayoutLayout2LayoutBImport } from './routes/_layout/_layout-2/layout-b' +import { Route as LayoutLayout2LayoutAImport } from './routes/_layout/_layout-2/layout-a' // Create/Update Routes @@ -87,9 +87,9 @@ const PostsPostIdRoute = PostsPostIdImport.update({ getParentRoute: () => PostsRoute, } as any) -const LayoutTestLayoutTest2Route = LayoutTestLayoutTest2Import.update({ - id: '/_layoutTest/_layoutTest-2', - getParentRoute: () => rootRoute, +const LayoutLayout2Route = LayoutLayout2Import.update({ + id: '/_layout-2', + getParentRoute: () => LayoutRoute, } as any) const PostsPostIdDeepRoute = PostsPostIdDeepImport.update({ @@ -98,19 +98,17 @@ const PostsPostIdDeepRoute = PostsPostIdDeepImport.update({ getParentRoute: () => rootRoute, } as any) -const LayoutTestLayoutTest2LayoutTestBRoute = - LayoutTestLayoutTest2LayoutTestBImport.update({ - id: '/layoutTest-b', - path: '/layoutTest-b', - getParentRoute: () => LayoutTestLayoutTest2Route, - } as any) +const LayoutLayout2LayoutBRoute = LayoutLayout2LayoutBImport.update({ + id: '/layout-b', + path: '/layout-b', + getParentRoute: () => LayoutLayout2Route, +} as any) -const LayoutTestLayoutTest2LayoutTestARoute = - LayoutTestLayoutTest2LayoutTestAImport.update({ - id: '/layoutTest-a', - path: '/layoutTest-a', - getParentRoute: () => LayoutTestLayoutTest2Route, - } as any) +const LayoutLayout2LayoutARoute = LayoutLayout2LayoutAImport.update({ + id: '/layout-a', + path: '/layout-a', + getParentRoute: () => LayoutLayout2Route, +} as any) // Populate the FileRoutesByPath interface @@ -158,12 +156,12 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof UsersImport parentRoute: typeof rootRoute } - '/_layoutTest/_layoutTest-2': { - id: '/_layoutTest/_layoutTest-2' + '/_layout/_layout-2': { + id: '/_layout/_layout-2' path: '' fullPath: '' - preLoaderRoute: typeof LayoutTestLayoutTest2Import - parentRoute: typeof rootRoute + preLoaderRoute: typeof LayoutLayout2Import + parentRoute: typeof LayoutImport } '/posts/$postId': { id: '/posts/$postId' @@ -193,19 +191,19 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof UsersIndexImport parentRoute: typeof UsersImport } - '/_layoutTest/_layoutTest-2/layoutTest-a': { - id: '/_layoutTest/_layoutTest-2/layoutTest-a' - path: '/layoutTest-a' - fullPath: '/layoutTest-a' - preLoaderRoute: typeof LayoutTestLayoutTest2LayoutTestAImport - parentRoute: typeof LayoutTestLayoutTest2Import + '/_layout/_layout-2/layout-a': { + id: '/_layout/_layout-2/layout-a' + path: '/layout-a' + fullPath: '/layout-a' + preLoaderRoute: typeof LayoutLayout2LayoutAImport + parentRoute: typeof LayoutLayout2Import } - '/_layoutTest/_layoutTest-2/layoutTest-b': { - id: '/_layoutTest/_layoutTest-2/layoutTest-b' - path: '/layoutTest-b' - fullPath: '/layoutTest-b' - preLoaderRoute: typeof LayoutTestLayoutTest2LayoutTestBImport - parentRoute: typeof LayoutTestLayoutTest2Import + '/_layout/_layout-2/layout-b': { + id: '/_layout/_layout-2/layout-b' + path: '/layout-b' + fullPath: '/layout-b' + preLoaderRoute: typeof LayoutLayout2LayoutBImport + parentRoute: typeof LayoutLayout2Import } '/posts_/$postId/deep': { id: '/posts_/$postId/deep' @@ -219,6 +217,31 @@ declare module '@tanstack/react-router' { // Create and export the route tree +interface LayoutLayout2RouteChildren { + LayoutLayout2LayoutARoute: typeof LayoutLayout2LayoutARoute + LayoutLayout2LayoutBRoute: typeof LayoutLayout2LayoutBRoute +} + +const LayoutLayout2RouteChildren: LayoutLayout2RouteChildren = { + LayoutLayout2LayoutARoute: LayoutLayout2LayoutARoute, + LayoutLayout2LayoutBRoute: LayoutLayout2LayoutBRoute, +} + +const LayoutLayout2RouteWithChildren = LayoutLayout2Route._addFileChildren( + LayoutLayout2RouteChildren, +) + +interface LayoutRouteChildren { + LayoutLayout2Route: typeof LayoutLayout2RouteWithChildren +} + +const LayoutRouteChildren: LayoutRouteChildren = { + LayoutLayout2Route: LayoutLayout2RouteWithChildren, +} + +const LayoutRouteWithChildren = + LayoutRoute._addFileChildren(LayoutRouteChildren) + interface PostsRouteChildren { PostsPostIdRoute: typeof PostsPostIdRoute PostsIndexRoute: typeof PostsIndexRoute @@ -243,24 +266,9 @@ const UsersRouteChildren: UsersRouteChildren = { const UsersRouteWithChildren = UsersRoute._addFileChildren(UsersRouteChildren) -interface LayoutTestLayoutTest2RouteChildren { - LayoutTestLayoutTest2LayoutTestARoute: typeof LayoutTestLayoutTest2LayoutTestARoute - LayoutTestLayoutTest2LayoutTestBRoute: typeof LayoutTestLayoutTest2LayoutTestBRoute -} - -const LayoutTestLayoutTest2RouteChildren: LayoutTestLayoutTest2RouteChildren = { - LayoutTestLayoutTest2LayoutTestARoute: LayoutTestLayoutTest2LayoutTestARoute, - LayoutTestLayoutTest2LayoutTestBRoute: LayoutTestLayoutTest2LayoutTestBRoute, -} - -const LayoutTestLayoutTest2RouteWithChildren = - LayoutTestLayoutTest2Route._addFileChildren( - LayoutTestLayoutTest2RouteChildren, - ) - export interface FileRoutesByFullPath { '/': typeof IndexRoute - '': typeof LayoutTestLayoutTest2RouteWithChildren + '': typeof LayoutLayout2RouteWithChildren '/deferred': typeof DeferredRoute '/posts': typeof PostsRouteWithChildren '/redirect': typeof RedirectRoute @@ -269,40 +277,40 @@ export interface FileRoutesByFullPath { '/users/$userId': typeof UsersUserIdRoute '/posts/': typeof PostsIndexRoute '/users/': typeof UsersIndexRoute - '/layoutTest-a': typeof LayoutTestLayoutTest2LayoutTestARoute - '/layoutTest-b': typeof LayoutTestLayoutTest2LayoutTestBRoute + '/layout-a': typeof LayoutLayout2LayoutARoute + '/layout-b': typeof LayoutLayout2LayoutBRoute '/posts/$postId/deep': typeof PostsPostIdDeepRoute } export interface FileRoutesByTo { '/': typeof IndexRoute - '': typeof LayoutTestLayoutTest2RouteWithChildren + '': typeof LayoutLayout2RouteWithChildren '/deferred': typeof DeferredRoute '/redirect': typeof RedirectRoute '/posts/$postId': typeof PostsPostIdRoute '/users/$userId': typeof UsersUserIdRoute '/posts': typeof PostsIndexRoute '/users': typeof UsersIndexRoute - '/layoutTest-a': typeof LayoutTestLayoutTest2LayoutTestARoute - '/layoutTest-b': typeof LayoutTestLayoutTest2LayoutTestBRoute + '/layout-a': typeof LayoutLayout2LayoutARoute + '/layout-b': typeof LayoutLayout2LayoutBRoute '/posts/$postId/deep': typeof PostsPostIdDeepRoute } export interface FileRoutesById { __root__: typeof rootRoute '/': typeof IndexRoute - '/_layout': typeof LayoutRoute + '/_layout': typeof LayoutRouteWithChildren '/deferred': typeof DeferredRoute '/posts': typeof PostsRouteWithChildren '/redirect': typeof RedirectRoute '/users': typeof UsersRouteWithChildren - '/_layoutTest/_layoutTest-2': typeof LayoutTestLayoutTest2RouteWithChildren + '/_layout/_layout-2': typeof LayoutLayout2RouteWithChildren '/posts/$postId': typeof PostsPostIdRoute '/users/$userId': typeof UsersUserIdRoute '/posts/': typeof PostsIndexRoute '/users/': typeof UsersIndexRoute - '/_layoutTest/_layoutTest-2/layoutTest-a': typeof LayoutTestLayoutTest2LayoutTestARoute - '/_layoutTest/_layoutTest-2/layoutTest-b': typeof LayoutTestLayoutTest2LayoutTestBRoute + '/_layout/_layout-2/layout-a': typeof LayoutLayout2LayoutARoute + '/_layout/_layout-2/layout-b': typeof LayoutLayout2LayoutBRoute '/posts_/$postId/deep': typeof PostsPostIdDeepRoute } @@ -319,8 +327,8 @@ export interface FileRouteTypes { | '/users/$userId' | '/posts/' | '/users/' - | '/layoutTest-a' - | '/layoutTest-b' + | '/layout-a' + | '/layout-b' | '/posts/$postId/deep' fileRoutesByTo: FileRoutesByTo to: @@ -332,8 +340,8 @@ export interface FileRouteTypes { | '/users/$userId' | '/posts' | '/users' - | '/layoutTest-a' - | '/layoutTest-b' + | '/layout-a' + | '/layout-b' | '/posts/$postId/deep' id: | '__root__' @@ -343,36 +351,34 @@ export interface FileRouteTypes { | '/posts' | '/redirect' | '/users' - | '/_layoutTest/_layoutTest-2' + | '/_layout/_layout-2' | '/posts/$postId' | '/users/$userId' | '/posts/' | '/users/' - | '/_layoutTest/_layoutTest-2/layoutTest-a' - | '/_layoutTest/_layoutTest-2/layoutTest-b' + | '/_layout/_layout-2/layout-a' + | '/_layout/_layout-2/layout-b' | '/posts_/$postId/deep' fileRoutesById: FileRoutesById } export interface RootRouteChildren { IndexRoute: typeof IndexRoute - LayoutRoute: typeof LayoutRoute + LayoutRoute: typeof LayoutRouteWithChildren DeferredRoute: typeof DeferredRoute PostsRoute: typeof PostsRouteWithChildren RedirectRoute: typeof RedirectRoute UsersRoute: typeof UsersRouteWithChildren - LayoutTestLayoutTest2Route: typeof LayoutTestLayoutTest2RouteWithChildren PostsPostIdDeepRoute: typeof PostsPostIdDeepRoute } const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, - LayoutRoute: LayoutRoute, + LayoutRoute: LayoutRouteWithChildren, DeferredRoute: DeferredRoute, PostsRoute: PostsRouteWithChildren, RedirectRoute: RedirectRoute, UsersRoute: UsersRouteWithChildren, - LayoutTestLayoutTest2Route: LayoutTestLayoutTest2RouteWithChildren, PostsPostIdDeepRoute: PostsPostIdDeepRoute, } @@ -392,7 +398,6 @@ export const routeTree = rootRoute "/posts", "/redirect", "/users", - "/_layoutTest/_layoutTest-2", "/posts_/$postId/deep" ] }, @@ -400,7 +405,10 @@ export const routeTree = rootRoute "filePath": "index.tsx" }, "/_layout": { - "filePath": "_layout.tsx" + "filePath": "_layout.tsx", + "children": [ + "/_layout/_layout-2" + ] }, "/deferred": { "filePath": "deferred.tsx" @@ -422,11 +430,12 @@ export const routeTree = rootRoute "/users/" ] }, - "/_layoutTest/_layoutTest-2": { - "filePath": "_layoutTest/_layoutTest-2.tsx", + "/_layout/_layout-2": { + "filePath": "_layout/_layout-2.tsx", + "parent": "/_layout", "children": [ - "/_layoutTest/_layoutTest-2/layoutTest-a", - "/_layoutTest/_layoutTest-2/layoutTest-b" + "/_layout/_layout-2/layout-a", + "/_layout/_layout-2/layout-b" ] }, "/posts/$postId": { @@ -445,13 +454,13 @@ export const routeTree = rootRoute "filePath": "users.index.tsx", "parent": "/users" }, - "/_layoutTest/_layoutTest-2/layoutTest-a": { - "filePath": "_layoutTest/_layoutTest-2/layoutTest-a.tsx", - "parent": "/_layoutTest/_layoutTest-2" + "/_layout/_layout-2/layout-a": { + "filePath": "_layout/_layout-2/layout-a.tsx", + "parent": "/_layout/_layout-2" }, - "/_layoutTest/_layoutTest-2/layoutTest-b": { - "filePath": "_layoutTest/_layoutTest-2/layoutTest-b.tsx", - "parent": "/_layoutTest/_layoutTest-2" + "/_layout/_layout-2/layout-b": { + "filePath": "_layout/_layout-2/layout-b.tsx", + "parent": "/_layout/_layout-2" }, "/posts_/$postId/deep": { "filePath": "posts_.$postId.deep.tsx" diff --git a/examples/react/start-basic/app/routes/__root.tsx b/examples/react/start-basic/app/routes/__root.tsx index eb004a7c08..a2376f8364 100644 --- a/examples/react/start-basic/app/routes/__root.tsx +++ b/examples/react/start-basic/app/routes/__root.tsx @@ -13,42 +13,44 @@ import appCss from '~/styles/app.css?url' import { seo } from '~/utils/seo' export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), errorComponent: (props) => { return ( diff --git a/examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2.tsx b/examples/react/start-basic/app/routes/_layout/_layout-2.tsx similarity index 90% rename from examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2.tsx rename to examples/react/start-basic/app/routes/_layout/_layout-2.tsx index 42ec4ec5b7..3b7dbf2903 100644 --- a/examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2.tsx +++ b/examples/react/start-basic/app/routes/_layout/_layout-2.tsx @@ -1,6 +1,6 @@ import { Link, Outlet, createFileRoute } from '@tanstack/react-router' -export const Route = createFileRoute('/_layoutTest/_layoutTest-2')({ +export const Route = createFileRoute('/_layout/_layout-2')({ component: LayoutComponent, }) diff --git a/examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2/layoutTest-a.tsx b/examples/react/start-basic/app/routes/_layout/_layout-2/layout-a.tsx similarity index 50% rename from examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2/layoutTest-a.tsx rename to examples/react/start-basic/app/routes/_layout/_layout-2/layout-a.tsx index 85a4797b98..61e19b4d9f 100644 --- a/examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2/layoutTest-a.tsx +++ b/examples/react/start-basic/app/routes/_layout/_layout-2/layout-a.tsx @@ -1,10 +1,8 @@ import { createFileRoute } from '@tanstack/react-router' -export const Route = createFileRoute('/_layoutTest/_layoutTest-2/layoutTest-a')( - { - component: LayoutAComponent, - }, -) +export const Route = createFileRoute('/_layout/_layout-2/layout-a')({ + component: LayoutAComponent, +}) function LayoutAComponent() { return
      I'm layout A!
      diff --git a/examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2/layoutTest-b.tsx b/examples/react/start-basic/app/routes/_layout/_layout-2/layout-b.tsx similarity index 50% rename from examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2/layoutTest-b.tsx rename to examples/react/start-basic/app/routes/_layout/_layout-2/layout-b.tsx index 6cf55f5e8d..cceed1fb9a 100644 --- a/examples/react/start-basic/app/routes/_layoutTest/_layoutTest-2/layoutTest-b.tsx +++ b/examples/react/start-basic/app/routes/_layout/_layout-2/layout-b.tsx @@ -1,10 +1,8 @@ import { createFileRoute } from '@tanstack/react-router' -export const Route = createFileRoute('/_layoutTest/_layoutTest-2/layoutTest-b')( - { - component: LayoutBComponent, - }, -) +export const Route = createFileRoute('/_layout/_layout-2/layout-b')({ + component: LayoutBComponent, +}) function LayoutBComponent() { return
      I'm layout B!
      diff --git a/examples/react/start-basic/app/routes/deferred.tsx b/examples/react/start-basic/app/routes/deferred.tsx index 56b605cec9..7cc7f8b9b5 100644 --- a/examples/react/start-basic/app/routes/deferred.tsx +++ b/examples/react/start-basic/app/routes/deferred.tsx @@ -1,4 +1,4 @@ -import { Await, createFileRoute, defer } from '@tanstack/react-router' +import { Await, createFileRoute } from '@tanstack/react-router' import { createServerFn } from '@tanstack/start' import { Suspense, useState } from 'react' @@ -18,12 +18,10 @@ const slowServerFn = createServerFn({ method: 'GET' }) export const Route = createFileRoute('/deferred')({ loader: async () => { return { - deferredStuff: defer( - new Promise((r) => - setTimeout(() => r('Hello deferred!'), 2000), - ), + deferredStuff: new Promise((r) => + setTimeout(() => r('Hello deferred!'), 2000), ), - deferredPerson: defer(slowServerFn({ data: 'Tanner Linsley' })), + deferredPerson: slowServerFn({ data: 'Tanner Linsley' }), person: await personServerFn({ data: 'John Doe' }), } }, diff --git a/examples/react/start-basic/app/routes/posts.$postId.tsx b/examples/react/start-basic/app/routes/posts.$postId.tsx index 63cd7f8731..0d4d2de8eb 100644 --- a/examples/react/start-basic/app/routes/posts.$postId.tsx +++ b/examples/react/start-basic/app/routes/posts.$postId.tsx @@ -5,7 +5,7 @@ import { NotFound } from '~/components/NotFound' export const Route = createFileRoute('/posts/$postId')({ loader: ({ params: { postId } }) => fetchPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found diff --git a/examples/react/start-basic/app/routes/posts_.$postId.deep.tsx b/examples/react/start-basic/app/routes/posts_.$postId.deep.tsx index 148223c8df..a1cad68409 100644 --- a/examples/react/start-basic/app/routes/posts_.$postId.deep.tsx +++ b/examples/react/start-basic/app/routes/posts_.$postId.deep.tsx @@ -7,7 +7,7 @@ export const Route = createFileRoute('/posts_/$postId/deep')({ fetchPost({ data: postId, }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostDeepComponent, }) diff --git a/examples/react/start-basic/app/routes/users.$userId.tsx b/examples/react/start-basic/app/routes/users.$userId.tsx index 573377c758..df3f569146 100644 --- a/examples/react/start-basic/app/routes/users.$userId.tsx +++ b/examples/react/start-basic/app/routes/users.$userId.tsx @@ -1,7 +1,8 @@ import { ErrorComponent, createFileRoute } from '@tanstack/react-router' import axios from 'redaxios' import type { ErrorComponentProps } from '@tanstack/react-router' -import { DEPLOY_URL, type User } from '~/utils/users' +import type { User } from '~/utils/users' +import { DEPLOY_URL } from '~/utils/users' import { NotFound } from '~/components/NotFound' export const Route = createFileRoute('/users/$userId')({ diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index 15d13d877f..ac6cffc9bd 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -9,9 +9,9 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "react": "^18.3.1", "react-dom": "^18.3.1", "redaxios": "^0.5.1", @@ -24,8 +24,8 @@ "@types/react-dom": "^18.2.21", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-clerk-basic/app/routes/__root.tsx b/examples/react/start-clerk-basic/app/routes/__root.tsx index db877d6e11..ffcca2b011 100644 --- a/examples/react/start-clerk-basic/app/routes/__root.tsx +++ b/examples/react/start-clerk-basic/app/routes/__root.tsx @@ -30,37 +30,39 @@ const fetchClerkAuth = createServerFn({ method: 'GET' }).handler(async () => { }) export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), beforeLoad: async () => { const { user } = await fetchClerkAuth() diff --git a/examples/react/start-clerk-basic/app/routes/_authed/posts.$postId.tsx b/examples/react/start-clerk-basic/app/routes/_authed/posts.$postId.tsx index e4680c6070..039271bb89 100644 --- a/examples/react/start-clerk-basic/app/routes/_authed/posts.$postId.tsx +++ b/examples/react/start-clerk-basic/app/routes/_authed/posts.$postId.tsx @@ -5,7 +5,7 @@ import { fetchPost } from '~/utils/posts.js' export const Route = createFileRoute('/_authed/posts/$postId')({ loader: ({ params: { postId } }) => fetchPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index a64aa15ba0..89b8df3f29 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -9,10 +9,10 @@ "start": "vinxi start" }, "dependencies": { - "@clerk/tanstack-start": "0.4.25", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@clerk/tanstack-start": "0.5.1", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "dotenv": "^16.4.5", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -27,8 +27,8 @@ "@types/react-dom": "^18.2.21", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-convex-trellaux/app/components/Column.tsx b/examples/react/start-convex-trellaux/app/components/Column.tsx index 220482da64..6f248103df 100644 --- a/examples/react/start-convex-trellaux/app/components/Column.tsx +++ b/examples/react/start-convex-trellaux/app/components/Column.tsx @@ -3,7 +3,7 @@ import invariant from 'tiny-invariant' import { twMerge } from 'tailwind-merge' import { flushSync } from 'react-dom' -import { CONTENT_TYPES, type RenderedItem } from '../types' +import { CONTENT_TYPES } from '../types' import { Icon } from '../icons/icons' import { useDeleteColumnMutation, @@ -13,6 +13,7 @@ import { import { EditableText } from './EditableText' import { NewCard } from './NewCard' import { Card } from './Card' +import type { RenderedItem } from '../types' interface ColumnProps { name: string diff --git a/examples/react/start-convex-trellaux/app/routes/__root.tsx b/examples/react/start-convex-trellaux/app/routes/__root.tsx index e5d97fa7fc..c0f06fa36f 100644 --- a/examples/react/start-convex-trellaux/app/routes/__root.tsx +++ b/examples/react/start-convex-trellaux/app/routes/__root.tsx @@ -21,42 +21,44 @@ import { Loader } from '~/components/Loader' export const Route = createRootRouteWithContext<{ queryClient: QueryClient }>()({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), errorComponent: (props) => { return ( diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index b1cee0f273..325437ec3f 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -11,17 +11,17 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/react-router-with-query": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/react-router-with-query": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "@convex-dev/react-query": "0.0.0-alpha.8", "concurrently": "^8.2.2", "convex": "^1.17.0", "ky": "^1.7.2", - "msw": "^2.6.4", + "msw": "^2.6.5", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hot-toast": "^2.4.1", @@ -36,8 +36,8 @@ "@types/react-dom": "^18.2.21", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-counter/app/client.tsx b/examples/react/start-counter/app/client.tsx index 8d07d8bac1..b14d8aac68 100644 --- a/examples/react/start-counter/app/client.tsx +++ b/examples/react/start-counter/app/client.tsx @@ -1,4 +1,3 @@ -// app/client.tsx /// import { hydrateRoot } from 'react-dom/client' import { StartClient } from '@tanstack/start' @@ -6,4 +5,4 @@ import { createRouter } from './router' const router = createRouter() -hydrateRoot(document!, ) +hydrateRoot(document, ) diff --git a/examples/react/start-counter/app/router.tsx b/examples/react/start-counter/app/router.tsx index dc640c5f4c..d0e2297dce 100644 --- a/examples/react/start-counter/app/router.tsx +++ b/examples/react/start-counter/app/router.tsx @@ -1,4 +1,3 @@ -// app/router.tsx import { createRouter as createTanStackRouter } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' diff --git a/examples/react/start-counter/app/routes/__root.tsx b/examples/react/start-counter/app/routes/__root.tsx index 34ed08e02c..5a48b25d39 100644 --- a/examples/react/start-counter/app/routes/__root.tsx +++ b/examples/react/start-counter/app/routes/__root.tsx @@ -1,22 +1,26 @@ -// app/routes/__root.tsx -import { createRootRoute } from '@tanstack/react-router' -import { Outlet, ScrollRestoration } from '@tanstack/react-router' -import { Meta, Scripts } from '@tanstack/start' import * as React from 'react' +import { + Outlet, + ScrollRestoration, + createRootRoute, +} from '@tanstack/react-router' +import { Meta, Scripts } from '@tanstack/start' export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - { - title: 'TanStack Start Starter', - }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + { + title: 'TanStack Start Starter', + }, + ], + }), component: RootComponent, }) diff --git a/examples/react/start-counter/app/routes/index.tsx b/examples/react/start-counter/app/routes/index.tsx index 3fc16b6677..f1f47955f5 100644 --- a/examples/react/start-counter/app/routes/index.tsx +++ b/examples/react/start-counter/app/routes/index.tsx @@ -1,4 +1,3 @@ -// app/routes/index.tsx import * as fs from 'node:fs' import { createFileRoute, useRouter } from '@tanstack/react-router' import { createServerFn } from '@tanstack/start' @@ -15,7 +14,7 @@ const getCount = createServerFn({ method: 'GET' }).handler(() => { return readCount() }) -const updateCount = createServerFn() +const updateCount = createServerFn({ method: 'POST' }) .validator((addBy: number) => addBy) .handler(async ({ data }) => { const count = await readCount() diff --git a/examples/react/start-counter/app/ssr.tsx b/examples/react/start-counter/app/ssr.tsx index c74eeaedc7..f2d33f9030 100644 --- a/examples/react/start-counter/app/ssr.tsx +++ b/examples/react/start-counter/app/ssr.tsx @@ -1,4 +1,3 @@ -// app/ssr.tsx /// import { createStartHandler, diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index 346f692069..bb2c3fe002 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -9,8 +9,8 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/start": "^1.82.10", "react": "^18.3.1", "react-dom": "^18.3.1", "vinxi": "0.4.3" diff --git a/examples/react/start-supabase-basic/app.config.ts b/examples/react/start-supabase-basic/app.config.ts index a1ee0f2776..732f04eabe 100644 --- a/examples/react/start-supabase-basic/app.config.ts +++ b/examples/react/start-supabase-basic/app.config.ts @@ -1,3 +1,12 @@ import { defineConfig } from '@tanstack/start/config' +import tsConfigPaths from 'vite-tsconfig-paths' -export default defineConfig({}) +export default defineConfig({ + vite: { + plugins: [ + tsConfigPaths({ + projects: ['./tsconfig.json'], + }), + ], + }, +}) diff --git a/examples/react/start-supabase-basic/app/components/DefaultCatchBoundary.tsx b/examples/react/start-supabase-basic/app/components/DefaultCatchBoundary.tsx index e646acbd45..e14ef8d6c1 100644 --- a/examples/react/start-supabase-basic/app/components/DefaultCatchBoundary.tsx +++ b/examples/react/start-supabase-basic/app/components/DefaultCatchBoundary.tsx @@ -1,12 +1,11 @@ +import * as React from 'react' import { ErrorComponent, Link, rootRouteId, - // ErrorComponentProps, useMatch, useRouter, } from '@tanstack/react-router' -import * as React from 'react' import type { ErrorComponentProps } from '@tanstack/react-router' export function DefaultCatchBoundary({ error }: ErrorComponentProps) { diff --git a/examples/react/start-supabase-basic/app/components/Login.tsx b/examples/react/start-supabase-basic/app/components/Login.tsx index 8c0d0e073b..982583e6d6 100644 --- a/examples/react/start-supabase-basic/app/components/Login.tsx +++ b/examples/react/start-supabase-basic/app/components/Login.tsx @@ -31,8 +31,10 @@ export function Login() { const formData = new FormData(e.target as HTMLFormElement) loginMutation.mutate({ - email: formData.get('email') as string, - password: formData.get('password') as string, + data: { + email: formData.get('email') as string, + password: formData.get('password') as string, + }, }) }} afterSubmit={ @@ -50,8 +52,10 @@ export function Login() { ) signupMutation.mutate({ - email: formData.get('email') as string, - password: formData.get('password') as string, + data: { + email: formData.get('email') as string, + password: formData.get('password') as string, + }, }) }} type="button" diff --git a/examples/react/start-supabase-basic/app/routes/__root.tsx b/examples/react/start-supabase-basic/app/routes/__root.tsx index a4b1784ca9..184c977f68 100644 --- a/examples/react/start-supabase-basic/app/routes/__root.tsx +++ b/examples/react/start-supabase-basic/app/routes/__root.tsx @@ -15,7 +15,7 @@ import { getSupabaseServerClient } from '../utils/supabase' const fetchUser = createServerFn({ method: 'GET' }).handler(async () => { const supabase = await getSupabaseServerClient() - const { data, error } = await supabase.auth.getUser() + const { data, error: _error } = await supabase.auth.getUser() if (!data.user?.email) { return null @@ -25,42 +25,44 @@ const fetchUser = createServerFn({ method: 'GET' }).handler(async () => { }) export const Route = createRootRoute({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), beforeLoad: async () => { const user = await fetchUser() diff --git a/examples/react/start-supabase-basic/app/routes/_authed/posts.$postId.tsx b/examples/react/start-supabase-basic/app/routes/_authed/posts.$postId.tsx index 87d52ffcc6..4dd11756a8 100644 --- a/examples/react/start-supabase-basic/app/routes/_authed/posts.$postId.tsx +++ b/examples/react/start-supabase-basic/app/routes/_authed/posts.$postId.tsx @@ -1,11 +1,11 @@ import { ErrorComponent, createFileRoute } from '@tanstack/react-router' -import { NotFound } from '../../components/NotFound' -import { fetchPost } from '../../utils/posts' import type { ErrorComponentProps } from '@tanstack/react-router' +import { NotFound } from '~/components/NotFound' +import { fetchPost } from '~/utils/posts' export const Route = createFileRoute('/_authed/posts/$postId')({ loader: ({ params: { postId } }) => fetchPost({ data: postId }), - errorComponent: PostErrorComponent as any, + errorComponent: PostErrorComponent, component: PostComponent, notFoundComponent: () => { return Post not found diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index 4918de7ae6..dff5f8a302 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -15,9 +15,9 @@ "dependencies": { "@supabase/ssr": "^0.5.2", "@supabase/supabase-js": "^2.46.1", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "react": "^18.3.1", "react-dom": "^18.3.1", "vinxi": "0.4.3" @@ -27,7 +27,8 @@ "@types/react-dom": "^18.3.0", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", - "typescript": "^5.6.2" + "tailwindcss": "^3.4.15", + "typescript": "^5.6.2", + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-supabase-basic/tailwind.config.ts b/examples/react/start-supabase-basic/tailwind.config.ts deleted file mode 100644 index d0253e59a8..0000000000 --- a/examples/react/start-supabase-basic/tailwind.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Config } from 'tailwindcss' - -export default { - content: [], - theme: { - extend: {}, - }, - plugins: [], -} satisfies Config diff --git a/examples/react/start-trellaux/app/components/Board.tsx b/examples/react/start-trellaux/app/components/Board.tsx index 5c7f388e40..1fe1179abf 100644 --- a/examples/react/start-trellaux/app/components/Board.tsx +++ b/examples/react/start-trellaux/app/components/Board.tsx @@ -2,9 +2,9 @@ import { useCallback, useMemo, useRef } from 'react' import invariant from 'tiny-invariant' import { useSuspenseQuery } from '@tanstack/react-query' import { boardQueries, useUpdateBoardMutation } from '../queries.js' -import { type Column } from '../db/schema.js' import { NewColumn } from './NewColumn.js' import { Column as ColumnComponent } from './Column.js' +import type { Column } from '../db/schema.js' import { EditableText } from '~/components/EditableText.js' export function Board({ boardId }: { boardId: string }) { diff --git a/examples/react/start-trellaux/app/components/Column.tsx b/examples/react/start-trellaux/app/components/Column.tsx index 220482da64..6f248103df 100644 --- a/examples/react/start-trellaux/app/components/Column.tsx +++ b/examples/react/start-trellaux/app/components/Column.tsx @@ -3,7 +3,7 @@ import invariant from 'tiny-invariant' import { twMerge } from 'tailwind-merge' import { flushSync } from 'react-dom' -import { CONTENT_TYPES, type RenderedItem } from '../types' +import { CONTENT_TYPES } from '../types' import { Icon } from '../icons/icons' import { useDeleteColumnMutation, @@ -13,6 +13,7 @@ import { import { EditableText } from './EditableText' import { NewCard } from './NewCard' import { Card } from './Card' +import type { RenderedItem } from '../types' interface ColumnProps { name: string diff --git a/examples/react/start-trellaux/app/components/NewColumn.tsx b/examples/react/start-trellaux/app/components/NewColumn.tsx index 52e250b781..34a024a86a 100644 --- a/examples/react/start-trellaux/app/components/NewColumn.tsx +++ b/examples/react/start-trellaux/app/components/NewColumn.tsx @@ -3,7 +3,6 @@ import invariant from 'tiny-invariant' import { Icon } from '../icons/icons' import { useCreateColumnMutation } from '../queries' -import { newColumnSchema } from '../db/schema' import { CancelButton } from '~/components/CancelButton' import { SaveButton } from '~/components/SaveButton' diff --git a/examples/react/start-trellaux/app/routes/__root.tsx b/examples/react/start-trellaux/app/routes/__root.tsx index e5d97fa7fc..c0f06fa36f 100644 --- a/examples/react/start-trellaux/app/routes/__root.tsx +++ b/examples/react/start-trellaux/app/routes/__root.tsx @@ -21,42 +21,44 @@ import { Loader } from '~/components/Loader' export const Route = createRootRouteWithContext<{ queryClient: QueryClient }>()({ - meta: () => [ - { - charSet: 'utf-8', - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1', - }, - ...seo({ - title: - 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', - description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, - }), - ], - links: () => [ - { rel: 'stylesheet', href: appCss }, - { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/apple-touch-icon.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '32x32', - href: '/favicon-32x32.png', - }, - { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: '/favicon-16x16.png', - }, - { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, - { rel: 'icon', href: '/favicon.ico' }, - ], + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + ...seo({ + title: + 'TanStack Start | Type-Safe, Client-First, Full-Stack React Framework', + description: `TanStack Start is a type-safe, client-first, full-stack React framework. `, + }), + ], + links: [ + { rel: 'stylesheet', href: appCss }, + { + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/apple-touch-icon.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '32x32', + href: '/favicon-32x32.png', + }, + { + rel: 'icon', + type: 'image/png', + sizes: '16x16', + href: '/favicon-16x16.png', + }, + { rel: 'manifest', href: '/site.webmanifest', color: '#fffff' }, + { rel: 'icon', href: '/favicon.ico' }, + ], + }), errorComponent: (props) => { return ( diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index 9a8f6851bd..0bc2abfffb 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -9,14 +9,14 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/react-router-with-query": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/react-router-with-query": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/start": "^1.82.10", "ky": "^1.7.2", - "msw": "^2.6.4", + "msw": "^2.6.5", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hot-toast": "^2.4.1", @@ -31,8 +31,8 @@ "@types/react-dom": "^18.2.21", "autoprefixer": "^10.4.20", "postcss": "^8.4.49", - "tailwindcss": "^3.4.14", + "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite-tsconfig-paths": "^5.1.2" + "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index 16ece3ce79..f05d2d5ad0 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", "redaxios": "^0.5.1", - "framer-motion": "^11.11.11", + "framer-motion": "^11.11.17", "react": "^18.2.0", "react-dom": "^18.2.0", "zod": "^3.23.8" @@ -21,6 +21,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", + "typescript": "^5.7.2", "vite": "^5.4.11" } } diff --git a/examples/react/with-framer-motion/tsconfig.json b/examples/react/with-framer-motion/tsconfig.json index b50d8070ec..1d48933dd1 100644 --- a/examples/react/with-framer-motion/tsconfig.json +++ b/examples/react/with-framer-motion/tsconfig.json @@ -3,6 +3,7 @@ "strict": true, "esModuleInterop": true, "jsx": "react-jsx", - "skipLibCheck": true + "skipLibCheck": true, + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index 98464ada52..1adb46ca56 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -8,14 +8,14 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-query": "^5.59.20", - "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", - "@trpc/client": "11.0.0-rc.630", - "@trpc/react-query": "11.0.0-rc.630", - "@trpc/server": "11.0.0-rc.630", + "@tanstack/react-query": "^5.61.0", + "@tanstack/react-query-devtools": "^5.61.0", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", + "@trpc/client": "11.0.0-rc.638", + "@trpc/react-query": "11.0.0-rc.638", + "@trpc/server": "11.0.0-rc.638", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", diff --git a/examples/react/with-trpc-react-query/tsconfig.json b/examples/react/with-trpc-react-query/tsconfig.json index 8db94c0f38..d1370b57e7 100644 --- a/examples/react/with-trpc-react-query/tsconfig.json +++ b/examples/react/with-trpc-react-query/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "skipLibCheck": true + "skipLibCheck": true, + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index be48cce3d4..9c21a8f063 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -8,11 +8,11 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/router-plugin": "^1.81.9", - "@trpc/client": "11.0.0-rc.630", - "@trpc/server": "11.0.0-rc.630", + "@tanstack/react-router": "^1.82.10", + "@tanstack/router-devtools": "^1.82.10", + "@tanstack/router-plugin": "^1.82.10", + "@trpc/client": "11.0.0-rc.638", + "@trpc/server": "11.0.0-rc.638", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1", diff --git a/examples/react/with-trpc/tsconfig.json b/examples/react/with-trpc/tsconfig.json index 8db94c0f38..d1370b57e7 100644 --- a/examples/react/with-trpc/tsconfig.json +++ b/examples/react/with-trpc/tsconfig.json @@ -5,6 +5,7 @@ "jsx": "react-jsx", "target": "ESNext", "moduleResolution": "Bundler", - "skipLibCheck": true + "skipLibCheck": true, + "lib": ["DOM", "DOM.Iterable", "ES2022"] } } diff --git a/package.json b/package.json index 325bdf65cd..6242598ab4 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "type": "git", "url": "https://github.com/TanStack/router.git" }, - "packageManager": "pnpm@9.12.3", + "packageManager": "pnpm@9.14.2", "type": "module", "scripts": { "cleanNodeModules": "pnpm -r exec rm -rf node_modules", @@ -32,18 +32,18 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.17.0", - "@eslint-react/eslint-plugin": "^1.16.1", - "@playwright/test": "^1.48.2", + "@eslint-react/eslint-plugin": "^1.17.0", + "@playwright/test": "^1.49.0", "@tanstack/config": "^0.14.0", "@types/node": "^22.7.4", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", - "eslint": "^9.14.0", + "eslint": "^9.15.0", "eslint-plugin-react-hooks": "^5.1.0-rc-fb9a90fa48-20240614", "eslint-plugin-unused-imports": "^4.1.4", "glob": "^11.0.0", "jsdom": "^25.0.1", - "nx": "^19.8.10", + "nx": "^20.1.3", "prettier": "^3.3.3", "publint": "^0.2.12", "react": "^18.3.1", @@ -57,7 +57,7 @@ "typescript54": "npm:typescript@5.4", "typescript55": "npm:typescript@5.5", "vite": "^5.4.11", - "vitest": "^2.1.4" + "vitest": "^2.1.5" }, "resolutions": { "use-sync-external-store": "1.2.2" diff --git a/packages/arktype-adapter/package.json b/packages/arktype-adapter/package.json index 6a38635637..4b58e90920 100644 --- a/packages/arktype-adapter/package.json +++ b/packages/arktype-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/arktype-adapter", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", @@ -62,7 +62,7 @@ }, "devDependencies": { "@tanstack/react-router": "workspace:*", - "arktype": "^2.0.0-rc.21", + "arktype": "^2.0.0-rc.24", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1", "react": "^18.3.1", diff --git a/packages/create-router/package.json b/packages/create-router/package.json index 6f65c44c67..ecd8a16635 100644 --- a/packages/create-router/package.json +++ b/packages/create-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/create-router", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", @@ -38,7 +38,7 @@ "@types/validate-npm-package-name": "^4.0.2", "@types/which": "^3.0.4", "commander": "^12.1.0", - "cross-spawn": "^7.0.5", + "cross-spawn": "^7.0.6", "fast-glob": "^3.3.2", "picocolors": "^1.1.1", "unbuild": "^2.0.0", diff --git a/packages/eslint-plugin-router/package.json b/packages/eslint-plugin-router/package.json index 8a68292b25..485c37c701 100644 --- a/packages/eslint-plugin-router/package.json +++ b/packages/eslint-plugin-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/eslint-plugin-router", - "version": "1.81.9", + "version": "1.82.2", "description": "ESLint plugin for TanStack Router", "author": "Manuel Schiller", "license": "MIT", @@ -52,12 +52,12 @@ "src" ], "dependencies": { - "@typescript-eslint/utils": "^8.14.0" + "@typescript-eslint/utils": "^8.15.0" }, "devDependencies": { - "@typescript-eslint/rule-tester": "^8.14.0", + "@typescript-eslint/rule-tester": "^8.15.0", "combinate": "^1.1.11", - "eslint": "^9.14.0" + "eslint": "^9.15.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" diff --git a/packages/react-router-with-query/package.json b/packages/react-router-with-query/package.json index dd0166bbd0..bdc3c64c8f 100644 --- a/packages/react-router-with-query/package.json +++ b/packages/react-router-with-query/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-with-query", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", @@ -68,7 +68,7 @@ "react": ">=18", "react-dom": ">=18", "@tanstack/react-router": "workspace:*", - "@tanstack/react-query": ">=5.59.20" + "@tanstack/react-query": ">=5.61.0" }, "peerDependencies": { "react": ">=18", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 543354ed06..cba869e54e 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router/src/Matches.tsx b/packages/react-router/src/Matches.tsx index 0bae2cf2b8..20491cd330 100644 --- a/packages/react-router/src/Matches.tsx +++ b/packages/react-router/src/Matches.tsx @@ -170,9 +170,9 @@ export interface RouteMatch< loaderDeps: TLoaderDeps preload: boolean invalid: boolean - meta?: Array - links?: Array - scripts?: Array + meta?: Array + links?: Array + scripts?: Array headers?: Record globalNotFound?: boolean staticData: StaticDataRouteOption diff --git a/packages/react-router/src/index.tsx b/packages/react-router/src/index.tsx index 02a2b230b0..6b2d9bec3e 100644 --- a/packages/react-router/src/index.tsx +++ b/packages/react-router/src/index.tsx @@ -290,7 +290,13 @@ export { export type { SearchSerializer, SearchParser } from './searchParams' export { defaultTransformer } from './transformer' -export type { RouterTransformer } from './transformer' +export type { + RouterTransformer, + TransformerParse, + TransformerStringify, + DefaultTransformerParse, + DefaultTransformerStringify, +} from './transformer' export { useBlocker, Block } from './useBlocker' @@ -351,6 +357,8 @@ export type { AnyValidatorObj, ResolveValidatorInputFn, ResolveValidatorOutputFn, + ResolveSearchValidatorInput, + ResolveSearchValidatorInputFn, Validator, ValidatorAdapter, ValidatorObj, diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index 63c421b6f1..a97381758d 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -12,6 +12,7 @@ import { useLayoutEffect, } from './utils' import { exactPathTest, removeTrailingSlash } from './path' +import { useMatch } from './useMatch' import type { ParsedLocation } from './location' import type { HistoryState } from '@tanstack/history' import type { @@ -650,6 +651,16 @@ export function useLinkProps< structuralSharing: true as any, }) + // In the rare event that the user bypasses type-safety and doesn't supply a `from` + // we'll use the current route as the `from` location so relative routing works as expected + const parentRouteId = useMatch({ strict: false, select: (s) => s.pathname }) + + // Use it as the default `from` location + options = { + from: parentRouteId, + ...options, + } + const next = React.useMemo( () => router.buildLocation(options as any), [router, options, currentSearch], diff --git a/packages/react-router/src/route.ts b/packages/react-router/src/route.ts index 701de16bae..6552f75171 100644 --- a/packages/react-router/src/route.ts +++ b/packages/react-router/src/route.ts @@ -17,6 +17,7 @@ import type * as React from 'react' import type { RootRouteId } from './root' import type { UseNavigateResult } from './useNavigate' import type { + AnyRouteMatch, MakeRouteMatchFromRoute, MakeRouteMatchUnion, RouteMatch, @@ -36,7 +37,7 @@ import type { AnyValidatorAdapter, AnyValidatorObj, DefaultValidator, - ResolveValidatorInput, + ResolveSearchValidatorInput, ResolveValidatorOutput, StandardSchemaValidator, ValidatorAdapter, @@ -434,7 +435,10 @@ export interface UpdatableRouteOptions< TLoaderDeps >, ) => void - meta?: (ctx: { + headers?: (ctx: { + loaderData: ResolveLoaderData + }) => Record + head?: (ctx: { matches: Array< RouteMatch< TRouteId, @@ -466,13 +470,12 @@ export interface UpdatableRouteOptions< TLoaderDeps > params: ResolveAllParamsFromParent - loaderData: ResolveLoaderData - }) => Array - links?: () => Array - scripts?: () => Array - headers?: (ctx: { - loaderData: ResolveLoaderData - }) => Record + loaderData: ResolveLoaderData | undefined + }) => { + links?: AnyRouteMatch['links'] + scripts?: AnyRouteMatch['scripts'] + meta?: AnyRouteMatch['meta'] + } ssr?: boolean } @@ -676,7 +679,7 @@ export type ResolveFullSearchSchemaInput< TSearchValidator, > = Assign< InferFullSearchSchemaInput, - ResolveValidatorInput + ResolveSearchValidatorInput > export type LooseReturnType = T extends ( @@ -985,7 +988,7 @@ export class Route< customId: TCustomId id: TId searchSchema: ResolveValidatorOutput - searchSchemaInput: ResolveValidatorInput + searchSchemaInput: ResolveSearchValidatorInput searchValidator: TSearchValidator fullSearchSchema: ResolveFullSearchSchema fullSearchSchemaInput: ResolveFullSearchSchemaInput< diff --git a/packages/react-router/src/router.ts b/packages/react-router/src/router.ts index 7ba20545ab..14b92a8c9b 100644 --- a/packages/react-router/src/router.ts +++ b/packages/react-router/src/router.ts @@ -584,12 +584,13 @@ function validateSearch(validateSearch: AnyValidator, input: unknown): unknown { if ('~standard' in validateSearch) { const result = validateSearch['~standard'].validate(input) - if ('value' in result) return result.value - if (result instanceof Promise) throw new SearchParamError('Async validation not supported') - throw new SearchParamError(JSON.stringify(result.issues, undefined, 2)) + if (result.issues) + throw new SearchParamError(JSON.stringify(result.issues, undefined, 2)) + + return result.value } if ('parse' in validateSearch) { @@ -1298,25 +1299,30 @@ export class Router< : loaderDeps, invalid: false, preload: false, - links: route.options.links?.(), - scripts: route.options.scripts?.(), + links: undefined, + scripts: undefined, + meta: undefined, staticData: route.options.staticData || {}, loadPromise: createControlledPromise(), fullPath: route.fullPath, } } - // If it's already a success, update the meta and headers + const headFnContent = route.options.head?.({ + matches, + match, + params: match.params, + loaderData: match.loaderData ?? undefined, + }) + + match.links = headFnContent?.links + match.scripts = headFnContent?.scripts + match.meta = headFnContent?.meta + + // If it's already a success, update the headers // These may get updated again if the match is refreshed // due to being stale if (match.status === 'success') { - match.meta = route.options.meta?.({ - matches, - match, - params: match.params, - loaderData: match.loaderData, - }) - match.headers = route.options.headers?.({ loaderData: match.loaderData, }) @@ -2516,12 +2522,13 @@ export class Router< await potentialPendingMinPromise() - const meta = route.options.meta?.({ + const headFnContent = route.options.head?.({ matches, match: this.getMatch(matchId)!, params: this.getMatch(matchId)!.params, loaderData, }) + const meta = headFnContent?.meta const headers = route.options.headers?.({ loaderData, @@ -2933,7 +2940,7 @@ export class Router< } injectedHtml: Array<() => string> = [] - injectHtml: (html: string) => void = (html) => { + injectHtml = (html: string) => { const cb = () => { this.injectedHtml = this.injectedHtml.filter((d) => d !== cb) return html @@ -2941,6 +2948,17 @@ export class Router< this.injectedHtml.push(cb) } + injectScript = (script: string, opts?: { logScript?: boolean }) => { + this.injectHtml( + ``, + ) + } + streamedKeys: Set = new Set() getStreamedValue = (key: string): T | undefined => { @@ -2968,15 +2986,8 @@ export class Router< ) this.streamedKeys.add(key) - const children = `__TSR__.streamedValues['${key}'] = { value: ${this.serializer?.(this.options.transformer.stringify(value))}}` - - this.injectHtml( - ``, + this.injectScript( + `__TSR__.streamedValues['${key}'] = { value: ${this.serializer?.(this.options.transformer.stringify(value))}}`, ) } diff --git a/packages/react-router/src/transformer.ts b/packages/react-router/src/transformer.ts index 2277a3dbb8..15a6af55e7 100644 --- a/packages/react-router/src/transformer.ts +++ b/packages/react-router/src/transformer.ts @@ -47,3 +47,22 @@ const transformers = [ parse: () => undefined, }, ] as const + +export type TransformerStringify = T extends TSerializable + ? T + : T extends (...args: Array) => any + ? 'Function is not serializable' + : { [K in keyof T]: TransformerStringify } + +export type TransformerParse = T extends TSerializable + ? T + : T extends JSX.Element + ? ReadableStream + : { [K in keyof T]: TransformerParse } + +export type DefaultTransformerStringify = TransformerStringify< + T, + Date | undefined +> + +export type DefaultTransformerParse = TransformerParse diff --git a/packages/react-router/src/validators.ts b/packages/react-router/src/validators.ts index 8a78da7395..9173080077 100644 --- a/packages/react-router/src/validators.ts +++ b/packages/react-router/src/validators.ts @@ -72,7 +72,7 @@ export type AnySchema = {} export type DefaultValidator = Validator, AnySchema> -export type ResolveValidatorInputFn = TValidator extends ( +export type ResolveSearchValidatorInputFn = TValidator extends ( input: infer TSchemaInput, ) => any ? TSchemaInput extends SearchSchemaInput @@ -80,6 +80,21 @@ export type ResolveValidatorInputFn = TValidator extends ( : ResolveValidatorOutputFn : AnySchema +export type ResolveSearchValidatorInput = + TValidator extends AnyStandardSchemaValidator + ? NonNullable['input'] + : TValidator extends AnyValidatorAdapter + ? TValidator['types']['input'] + : TValidator extends AnyValidatorObj + ? ResolveSearchValidatorInputFn + : ResolveSearchValidatorInputFn + +export type ResolveValidatorInputFn = TValidator extends ( + input: infer TInput, +) => any + ? TInput + : undefined + export type ResolveValidatorInput = TValidator extends AnyStandardSchemaValidator ? NonNullable['input'] diff --git a/packages/router-cli/package.json b/packages/router-cli/package.json index 975dbbc69f..6415b21a08 100644 --- a/packages/router-cli/package.json +++ b/packages/router-cli/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-cli", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools/package.json b/packages/router-devtools/package.json index 31d6e9c507..69940f8632 100644 --- a/packages/router-devtools/package.json +++ b/packages/router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-generator/package.json b/packages/router-generator/package.json index 29c5df7f26..b68051bf6b 100644 --- a/packages/router-generator/package.json +++ b/packages/router-generator/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-generator", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-generator/src/config.ts b/packages/router-generator/src/config.ts index ec7ddeb9b8..85e8ab89a7 100644 --- a/packages/router-generator/src/config.ts +++ b/packages/router-generator/src/config.ts @@ -9,7 +9,7 @@ const defaultTemplate = { '%%tsrImports%%', '\n\n', '%%tsrExportStart%%{\n component: RouteComponent\n }%%tsrExportEnd%%\n\n', - 'function RouteComponent() { return "Hello %%tsrPath%%!" };\n', + 'function RouteComponent() { return
      Hello "%%tsrPath%%"!
      };\n', ].join(''), apiTemplate: [ 'import { json } from "@tanstack/start";\n', diff --git a/packages/router-plugin/package.json b/packages/router-plugin/package.json index 6ce9e14871..2b955eb936 100644 --- a/packages/router-plugin/package.json +++ b/packages/router-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-plugin", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-vite-plugin/package.json b/packages/router-vite-plugin/package.json index c1068fb895..59c92218de 100644 --- a/packages/router-vite-plugin/package.json +++ b/packages/router-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-vite-plugin", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-vite-plugin/package.json b/packages/start-vite-plugin/package.json index ff57b780eb..d18c2d0677 100644 --- a/packages/start-vite-plugin/package.json +++ b/packages/start-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-vite-plugin", - "version": "1.81.9", + "version": "1.82.5", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", @@ -65,7 +65,7 @@ }, "dependencies": { "@babel/core": "^7.26.0", - "@babel/code-frame": "7.25.7", + "@babel/code-frame": "7.26.2", "@babel/generator": "^7.26.2", "@babel/parser": "^7.26.2", "@babel/plugin-syntax-jsx": "^7.25.9", diff --git a/packages/start-vite-plugin/src/compilers.ts b/packages/start-vite-plugin/src/compilers.ts index 1df53170cd..a3b7d617e3 100644 --- a/packages/start-vite-plugin/src/compilers.ts +++ b/packages/start-vite-plugin/src/compilers.ts @@ -95,14 +95,14 @@ export function compileStartOutput(opts: ParseAstOptions) { // handle a destructured imports being renamed like "import { createServerFn as myCreateServerFn } from '@tanstack/start';" path.node.specifiers.forEach((specifier) => { - identifierKeys.forEach((indentifierKey) => { - const identifier = identifiers[indentifierKey] + identifierKeys.forEach((identifierKey) => { + const identifier = identifiers[identifierKey] if ( specifier.type === 'ImportSpecifier' && specifier.imported.type === 'Identifier' ) { - if (specifier.imported.name === indentifierKey) { + if (specifier.imported.name === identifierKey) { identifier.name = specifier.local.name identifier.type = 'ImportSpecifier' } @@ -112,7 +112,7 @@ export function compileStartOutput(opts: ParseAstOptions) { if (specifier.type === 'ImportNamespaceSpecifier') { identifier.type = 'ImportNamespaceSpecifier' identifier.namespaceId = specifier.local.name - identifier.name = `${identifier.namespaceId}.${indentifierKey}` + identifier.name = `${identifier.namespaceId}.${identifierKey}` } }) }) diff --git a/packages/start-vite-plugin/src/index.ts b/packages/start-vite-plugin/src/index.ts index 86325f45ff..2298e2ab91 100644 --- a/packages/start-vite-plugin/src/index.ts +++ b/packages/start-vite-plugin/src/index.ts @@ -10,13 +10,7 @@ export type TanStackStartViteOptions = { env: 'server' | 'client' } -export function TanStackStartVite( - opts: TanStackStartViteOptions, -): Array { - return [TanStackStartViteCreateServerFn(opts)] -} - -export function TanStackStartViteCreateServerFn( +export function TanStackStartViteServerFn( opts: TanStackStartViteOptions, ): Plugin { let ROOT: string = process.cwd() @@ -97,7 +91,10 @@ export function TanStackStartViteDeadCodeElimination( url.searchParams.delete('v') id = fileURLToPath(url).replace(/\\/g, '/') - if (code.includes('createServerFn')) { + if ( + code.includes('createServerFn') || + code.includes('createMiddleware') + ) { const compiled = compileEliminateDeadCode({ code, root: ROOT, diff --git a/packages/start-vite-plugin/tests/createMiddleware/createMiddleware.test.ts b/packages/start-vite-plugin/tests/createMiddleware/createMiddleware.test.ts index f78d59c8ef..ae4ee2c221 100644 --- a/packages/start-vite-plugin/tests/createMiddleware/createMiddleware.test.ts +++ b/packages/start-vite-plugin/tests/createMiddleware/createMiddleware.test.ts @@ -21,7 +21,7 @@ describe('createMiddleware compiles correctly', async () => { `should compile for ${filename} %s`, async (env) => { const compiledResult = compileStartOutput({ - env: env, + env, code, root: './test-files', filename, diff --git a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareDestructured.tsx b/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareDestructured.tsx deleted file mode 100644 index f0ed6717e4..0000000000 --- a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareDestructured.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { createMiddleware } from '@tanstack/start'; -import { z } from 'zod'; -export const withUseServer = createMiddleware({ - id: 'test' -}); -export const withoutUseServer = createMiddleware({ - id: 'test' -}); -export const withVariable = createMiddleware({ - id: 'test' -}); -async function abstractedFunction() { - console.info('Fetching posts...'); - await new Promise(r => setTimeout(r, 500)); - return axios.get>('https://jsonplaceholder.typicode.com/posts').then(r => r.data.slice(0, 10)); -} -function zodValidator(schema: TSchema, fn: (input: z.output) => TResult) { - return async (input: unknown) => { - return fn(schema.parse(input)); - }; -} -export const withZodValidator = createMiddleware({ - id: 'test' -}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareDestructuredRename.tsx b/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareDestructuredRename.tsx deleted file mode 100644 index c13c45a86c..0000000000 --- a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareDestructuredRename.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { createMiddleware as middlewareFn } from '@tanstack/start'; -import { z } from 'zod'; -export const withUseServer = middlewareFn({ - id: 'test' -}); -export const withoutUseServer = middlewareFn({ - id: 'test' -}); -export const withVariable = middlewareFn({ - id: 'test' -}); -async function abstractedFunction() { - console.info('Fetching posts...'); - await new Promise(r => setTimeout(r, 500)); - return axios.get>('https://jsonplaceholder.typicode.com/posts').then(r => r.data.slice(0, 10)); -} -function zodValidator(schema: TSchema, fn: (input: z.output) => TResult) { - return async (input: unknown) => { - return fn(schema.parse(input)); - }; -} -export const withZodValidator = middlewareFn({ - id: 'test' -}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareStarImport.tsx b/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareStarImport.tsx deleted file mode 100644 index 0af363017d..0000000000 --- a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareStarImport.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import * as TanStackStart from '@tanstack/start'; -import { z } from 'zod'; -export const withUseServer = TanStackStart.createMiddleware({ - id: 'test' -}); -export const withoutUseServer = TanStackStart.createMiddleware({ - id: 'test' -}); -export const withVariable = TanStackStart.createMiddleware({ - id: 'test' -}); -async function abstractedFunction() { - console.info('Fetching posts...'); - await new Promise(r => setTimeout(r, 500)); - return axios.get>('https://jsonplaceholder.typicode.com/posts').then(r => r.data.slice(0, 10)); -} -function zodValidator(schema: TSchema, fn: (input: z.output) => TResult) { - return async (input: unknown) => { - return fn(schema.parse(input)); - }; -} -export const withZodValidator = TanStackStart.createMiddleware({ - id: 'test' -}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareValidator.tsx b/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareValidator.tsx deleted file mode 100644 index e13946f2d8..0000000000 --- a/packages/start-vite-plugin/tests/createMiddleware/snapshots/client/createServerMiddlewareValidator.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { createMiddleware } from '@tanstack/start'; -import { z } from 'zod'; -export const withUseServer = createMiddleware({ - id: 'test' -}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createServerFn/createServerFn.test.ts b/packages/start-vite-plugin/tests/createServerFn/createServerFn.test.ts index 96876c319a..19b86a0c01 100644 --- a/packages/start-vite-plugin/tests/createServerFn/createServerFn.test.ts +++ b/packages/start-vite-plugin/tests/createServerFn/createServerFn.test.ts @@ -11,21 +11,26 @@ async function getFilenames() { describe('createServerFn compiles correctly', async () => { const filenames = await getFilenames() - test.each(filenames)('should handle "%s"', async (filename) => { + describe.each(filenames)('should handle "%s"', async (filename) => { const file = await readFile( path.resolve(import.meta.dirname, `./test-files/${filename}`), ) const code = file.toString() - const compiledResult = compileStartOutput({ - code, - root: './test-files', - filename, - env: 'server', - }) - - await expect(compiledResult.code).toMatchFileSnapshot( - `./snapshots/${filename}`, + test.each(['client', 'server'] as const)( + `should compile for ${filename} %s`, + async (env) => { + const compiledResult = compileStartOutput({ + env, + code, + root: './test-files', + filename, + }) + + await expect(compiledResult.code).toMatchFileSnapshot( + `./snapshots/${env}/${filename}`, + ) + }, ) }) diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnDestructured.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnDestructured.tsx new file mode 100644 index 0000000000..be1b58b186 --- /dev/null +++ b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnDestructured.tsx @@ -0,0 +1,61 @@ +import { createServerFn } from '@tanstack/start'; +import { z } from 'zod'; +export const withUseServer = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withUseServer.__executeServer(opts); +}); +export const withArrowFunction = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withArrowFunction.__executeServer(opts); +}); +export const withArrowFunctionAndFunction = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withArrowFunctionAndFunction.__executeServer(opts); +}); +export const withoutUseServer = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withoutUseServer.__executeServer(opts); +}); +export const withVariable = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withVariable.__executeServer(opts); +}); +async function abstractedFunction() { + console.info('Fetching posts...'); + await new Promise(r => setTimeout(r, 500)); + return axios.get>('https://jsonplaceholder.typicode.com/posts').then(r => r.data.slice(0, 10)); +} +function zodValidator(schema: TSchema, fn: (input: z.output) => TResult) { + return async (input: unknown) => { + return fn(schema.parse(input)); + }; +} +export const withZodValidator = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withZodValidator.__executeServer(opts); +}); +export const withValidatorFn = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withValidatorFn.__executeServer(opts); +}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnDestructuredRename.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnDestructuredRename.tsx new file mode 100644 index 0000000000..f51f0ade21 --- /dev/null +++ b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnDestructuredRename.tsx @@ -0,0 +1,40 @@ +import { createServerFn as serverFn } from '@tanstack/start'; +import { z } from 'zod'; +export const withUseServer = serverFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withUseServer.__executeServer(opts); +}); +export const withoutUseServer = serverFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withoutUseServer.__executeServer(opts); +}); +export const withVariable = serverFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withVariable.__executeServer(opts); +}); +async function abstractedFunction() { + console.info('Fetching posts...'); + await new Promise(r => setTimeout(r, 500)); + return axios.get>('https://jsonplaceholder.typicode.com/posts').then(r => r.data.slice(0, 10)); +} +function zodValidator(schema: TSchema, fn: (input: z.output) => TResult) { + return async (input: unknown) => { + return fn(schema.parse(input)); + }; +} +export const withZodValidator = serverFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withZodValidator.__executeServer(opts); +}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnStarImport.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnStarImport.tsx new file mode 100644 index 0000000000..750a52532a --- /dev/null +++ b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnStarImport.tsx @@ -0,0 +1,40 @@ +import * as TanStackStart from '@tanstack/start'; +import { z } from 'zod'; +export const withUseServer = TanStackStart.createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withUseServer.__executeServer(opts); +}); +export const withoutUseServer = TanStackStart.createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withoutUseServer.__executeServer(opts); +}); +export const withVariable = TanStackStart.createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withVariable.__executeServer(opts); +}); +async function abstractedFunction() { + console.info('Fetching posts...'); + await new Promise(r => setTimeout(r, 500)); + return axios.get>('https://jsonplaceholder.typicode.com/posts').then(r => r.data.slice(0, 10)); +} +function zodValidator(schema: TSchema, fn: (input: z.output) => TResult) { + return async (input: unknown) => { + return fn(schema.parse(input)); + }; +} +export const withZodValidator = TanStackStart.createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withZodValidator.__executeServer(opts); +}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnValidator.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnValidator.tsx new file mode 100644 index 0000000000..4e40b54a24 --- /dev/null +++ b/packages/start-vite-plugin/tests/createServerFn/snapshots/client/createServerFnValidator.tsx @@ -0,0 +1,9 @@ +import { createServerFn } from '@tanstack/start'; +import { z } from 'zod'; +export const withUseServer = createServerFn({ + method: 'GET' +}).handler(opts => { + "use server"; + + return withUseServer.__executeServer(opts); +}); \ No newline at end of file diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnDestructured.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnDestructured.tsx similarity index 100% rename from packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnDestructured.tsx rename to packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnDestructured.tsx diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnDestructuredRename.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnDestructuredRename.tsx similarity index 100% rename from packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnDestructuredRename.tsx rename to packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnDestructuredRename.tsx diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnStarImport.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnStarImport.tsx similarity index 100% rename from packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnStarImport.tsx rename to packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnStarImport.tsx diff --git a/packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnValidator.tsx b/packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnValidator.tsx similarity index 100% rename from packages/start-vite-plugin/tests/createServerFn/snapshots/createServerFnValidator.tsx rename to packages/start-vite-plugin/tests/createServerFn/snapshots/server/createServerFnValidator.tsx diff --git a/packages/start/package.json b/packages/start/package.json index 23ed85f85c..26a0ed40cd 100644 --- a/packages/start/package.json +++ b/packages/start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start/src/client-runtime/fetcher.tsx b/packages/start/src/client-runtime/fetcher.tsx index e7c0773564..70eea4b9ae 100644 --- a/packages/start/src/client-runtime/fetcher.tsx +++ b/packages/start/src/client-runtime/fetcher.tsx @@ -50,14 +50,7 @@ export async function fetcher( const request = new Request(base, { method: first.method, headers, - ...(first.method === 'POST' - ? { - body: - type === 'formData' - ? first.data - : (defaultTransformer.stringify(first.data ?? null) as any), - } - : {}), + ...getFetcherRequestOptions(first), }) const handlerResponse = await handler(request) @@ -108,6 +101,26 @@ export async function fetcher( } } +function getFetcherRequestOptions(opts: MiddlewareOptions) { + if (opts.method === 'POST') { + if (opts.data instanceof FormData) { + opts.data.set('__TSR_CONTEXT', defaultTransformer.stringify(opts.context)) + return { + body: opts.data, + } + } + + return { + body: defaultTransformer.stringify({ + data: opts.data ?? null, + context: opts.context, + }), + } + } + + return {} +} + async function handleResponseErrors(response: Response) { if (!response.ok) { const contentType = response.headers.get('content-type') diff --git a/packages/start/src/client/Meta.tsx b/packages/start/src/client/Meta.tsx index 27cce6ea2a..86464b591b 100644 --- a/packages/start/src/client/Meta.tsx +++ b/packages/start/src/client/Meta.tsx @@ -1,6 +1,5 @@ import { ScriptOnce, useRouter, useRouterState } from '@tanstack/react-router' import * as React from 'react' -import { createPortal } from 'react-dom' import jsesc from 'jsesc' import { Context } from '@tanstack/react-cross-context' import { Asset } from './Asset' @@ -17,10 +16,12 @@ export const useMeta = () => { const meta: Array = React.useMemo(() => { const resultMeta: Array = [] - const metaByName: Record = {} + const metaByAttribute: Record = {} let title: RouterManagedTag | undefined ;[...routeMeta].reverse().forEach((metas) => { ;[...metas].reverse().forEach((m) => { + if (!m) return + if (m.title) { if (!title) { title = { @@ -29,11 +30,12 @@ export const useMeta = () => { } } } else { - if (m.name) { - if (metaByName[m.name]) { + const attribute = m.name ?? m.property + if (attribute) { + if (metaByAttribute[attribute]) { return } else { - metaByName[m.name] = true + metaByAttribute[attribute] = true } } @@ -114,38 +116,86 @@ export const useMetaElements = () => { return ( <> - {meta.map((asset, i) => ( ))} <> { - Object.entries(__TSR__.matches[index].extracted).forEach(([id, ex]) => { - if (ex.type === 'stream') { - let controller; - ex.value = new ReadableStream({ - start(c) { controller = c; } - }) - ex.value.controller = controller - } else if (ex.type === 'promise') { - let r, j - ex.value = new Promise((r_, j_) => { r = r_, j = j_ }) - ex.resolve = r; ex.reject = j - } - }) - }, - cleanScripts: () => { - document.querySelectorAll('.tsr-once').forEach((el) => { - el.remove() - }) - }, -}`} + // This is the raw version of the minified script below + // children={` + // __TSR__ = { + // matches: [], + // streamedValues: {}, + // queue: [], + // runQueue: () => { + // let changed = false + // __TSR__.queue = __TSR__.queue.filter((fn) => { + // if (fn()) { + // changed = true + // return false + // } + // return true + // }) + // if (changed) { + // __TSR__.runQueue() + // } + // }, + // initMatch: (match) => { + // __TSR__.queue.push(() => { + // if (!__TSR__.matches[match.index]) { + // __TSR__.matches[match.index] = match + // Object.entries(match.extracted).forEach(([id, ex]) => { + // if (ex.type === 'stream') { + // let controller + // ex.value = new ReadableStream({ + // start(c) { + // controller = c + // }, + // }) + // ex.value.controller = controller + // } else if (ex.type === 'promise') { + // let r, j + // ex.value = new Promise((r_, j_) => { + // ;(r = r_), (j = j_) + // }) + // ex.resolve = r + // ex.reject = j + // } + // }) + // } + + // return true + // }) + + // __TSR__.runQueue() + // }, + // resolvePromise: (entry) => { + // __TSR__.queue.push(() => { + // const match = __TSR__.matches[entry.matchIndex] + // if (match) { + // const ex = match.extracted[entry.id] + // if (ex) { + // ex.resolve(entry.value.data) + // return true + // } + // } + // return false + // }) + + // __TSR__.runQueue() + // }, + // cleanScripts: () => { + // document.querySelectorAll('.tsr-once').forEach((el) => { + // el.remove() + // }) + // }, + // } + // `} + // This is the minified version of the script above, using https://try.terser.org/ + // Is this archaic? Probably. But we're not going to edit this much, so it's fine. + // In a future world, like bun, we could use a more modern approach, like a compile-time macro minifier. + children={`__TSR__={matches:[],streamedValues:{},queue:[],runQueue:()=>{let e=!1;__TSR__.queue=__TSR__.queue.filter((_=>!_()||(e=!0,!1))),e&&__TSR__.runQueue()},initMatch:e=>{__TSR__.queue.push((()=>(__TSR__.matches[e.index]||(__TSR__.matches[e.index]=e,Object.entries(e.extracted).forEach((([e,_])=>{if("stream"===_.type){let e;_.value=new ReadableStream({start(_){e=_}}),_.value.controller=e}else if("promise"===_.type){let e,t;_.value=new Promise(((_,u)=>{e=_,t=u})),_.resolve=e,_.reject=t}}))),!0))),__TSR__.runQueue()},resolvePromise:e=>{__TSR__.queue.push((()=>{const _=__TSR__.matches[e.matchIndex];if(_){const t=_.extracted[e.id];if(t)return t.resolve(e.value.data),!0}return!1})),__TSR__.runQueue()},cleanScripts:()=>{document.querySelectorAll(".tsr-once").forEach((e=>{e.remove()}))}};`} /> - ) } @@ -167,53 +216,8 @@ __TSR__ = { * @description The `Meta` component is used to render meta tags and links for the current route. * It should be rendered in the `` of your document. */ -export const Meta = ({ children }: { children?: React.ReactNode }) => { - const router = useRouter() - const metaElements = useMetaElements() - const [mounted, setMounted] = React.useState(false) - - React[ - typeof document !== 'undefined' ? 'useLayoutEffect' : 'useEffect' - ](() => { - if (typeof document === 'undefined') { - return - } - - // Remove all meta between the tsr meta tags - const start = document.head.querySelector('meta[name="tsr-meta"]') - const end = document.head.querySelector('meta[name="/tsr-meta"]') - - // Iterate over all head children and remove them until we reach the end - let current = start?.nextElementSibling - while (current && current !== end) { - const next = current.nextElementSibling - current.remove() - current = next - } - - // Remove the markers - start?.remove() - end?.remove() - - setMounted(true) - }, []) - - const all = ( - <> - {metaElements} - {children} - - ) - - if (router.isServer) { - return all - } - - if (!mounted) { - return null - } - - return createPortal(all, document.head) +export const Meta = () => { + return <>{useMetaElements()} } function uniqBy(arr: Array, fn: (item: T) => string) { diff --git a/packages/start/src/client/Scripts.tsx b/packages/start/src/client/Scripts.tsx index aedd37a67c..3070caac46 100644 --- a/packages/start/src/client/Scripts.tsx +++ b/packages/start/src/client/Scripts.tsx @@ -30,18 +30,19 @@ export const Scripts = () => { const { scripts } = useRouterState({ select: (state) => ({ - scripts: state.matches - .map((match) => match.scripts!) - .filter(Boolean) - .flat(1) - .map(({ children, ...script }) => ({ - tag: 'script', - attrs: { - ...script, - suppressHydrationWarning: true, - }, - children, - })), + scripts: ( + state.matches + .map((match) => match.scripts!) + .filter(Boolean) + .flat(1) as Array + ).map(({ children, ...script }) => ({ + tag: 'script', + attrs: { + ...script, + suppressHydrationWarning: true, + }, + children, + })), }), }) diff --git a/packages/start/src/client/createMiddleware.ts b/packages/start/src/client/createMiddleware.ts index 300b68a740..52e352282a 100644 --- a/packages/start/src/client/createMiddleware.ts +++ b/packages/start/src/client/createMiddleware.ts @@ -1,7 +1,7 @@ -import type { Method } from './createServerFn' +import type { ConstrainValidator, Method } from './createServerFn' import type { - AnyValidator, Constrain, + DefaultTransformerStringify, Expand, MergeAll, ResolveValidatorInput, @@ -129,7 +129,7 @@ export interface MiddlewareOptions< > { validateClient?: boolean middleware?: TMiddlewares - validator?: Constrain + validator?: ConstrainValidator client?: MiddlewareClientFn< TMiddlewares, TValidator, @@ -166,7 +166,7 @@ export type MiddlewareServerFn< TNewClientAfterContext = undefined, >(ctx?: { context?: TNewServerContext - sendContext?: TNewClientAfterContext + sendContext?: DefaultTransformerStringify }) => Promise< ServerResultWithContext > @@ -186,7 +186,7 @@ export type MiddlewareClientFn< method: Method next: (ctx?: { context?: TNewClientContext - sendContext?: TNewServerContext + sendContext?: DefaultTransformerStringify headers?: HeadersInit }) => Promise> }) => @@ -235,19 +235,12 @@ export type ClientResultWithContext = { headers: HeadersInit } -export type AnyMiddleware = MiddlewareTypes< - any, - any, - AnyValidator, - any, - any, - any -> +export type AnyMiddleware = MiddlewareTypes export interface MiddlewareTypes< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -273,13 +266,13 @@ export interface MiddlewareTypes< export interface MiddlewareValidator< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, > { - validator: ( - input: TNewValidator, + validator: ( + input: ConstrainValidator, ) => MiddlewareAfterMiddleware< TId, TMiddlewares, @@ -293,7 +286,7 @@ export interface MiddlewareValidator< export interface MiddlewareClientAfter< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -319,7 +312,7 @@ export interface MiddlewareClientAfter< export interface MiddlewareAfterServer< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -343,7 +336,7 @@ export interface MiddlewareAfterServer< export interface MiddlewareServer< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -369,7 +362,7 @@ export interface MiddlewareServer< export interface MiddlewareAfterClient< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -393,7 +386,7 @@ export interface MiddlewareAfterClient< export interface MiddlewareClient< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -418,7 +411,7 @@ export interface MiddlewareClient< export interface MiddlewareAfterMiddleware< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -458,7 +451,7 @@ export interface MiddlewareAfterMiddleware< export interface Middleware< TId, TMiddlewares, - TValidator extends AnyValidator, + TValidator, TServerContext, TClientContext, TClientAfterContext, @@ -485,7 +478,7 @@ export interface Middleware< export function createMiddleware< const TId, const TMiddlewares, - TValidator extends AnyValidator = undefined, + TValidator = undefined, TServerContext = undefined, TClientContext = undefined, TClientAfterContext = undefined, diff --git a/packages/start/src/client/createServerFn.ts b/packages/start/src/client/createServerFn.ts index 4cb9a99bdc..297de8a230 100644 --- a/packages/start/src/client/createServerFn.ts +++ b/packages/start/src/client/createServerFn.ts @@ -1,6 +1,15 @@ import invariant from 'tiny-invariant' +import { defaultTransformer } from '@tanstack/react-router' import { mergeHeaders } from './headers' -import type { AnyValidator, Constrain } from '@tanstack/react-router' +import type { + AnyValidator, + Constrain, + DefaultTransformerParse, + DefaultTransformerStringify, + ResolveValidatorInput, + TransformerStringify, + Validator, +} from '@tanstack/react-router' import type { AnyMiddleware, MergeAllServerContext, @@ -9,8 +18,6 @@ import type { ResolveAllValidators, } from './createMiddleware' -// - export interface JsonResponse extends Response { json: () => Promise } @@ -60,20 +67,10 @@ export interface OptionalFetcherDataOptions extends FetcherBaseOptions { data?: TInput } -export type FetcherData = WrapRSCs< +export type FetcherData = DefaultTransformerParse< TResponse extends JsonResponse ? TData : TResponse > -export type WrapRSCs = T extends JSX.Element - ? ReadableStream - : T extends Record - ? { - [K in keyof T]: WrapRSCs - } - : T extends Array - ? Array> - : T - export type RscStream = { __cacheState: T } @@ -82,7 +79,9 @@ export type Method = 'GET' | 'POST' export type ServerFn = ( ctx: ServerFnCtx, -) => Promise | TResponse +) => + | Promise> + | DefaultTransformerStringify export type ServerFnCtx = { method: TMethod @@ -104,13 +103,26 @@ type ServerFnBaseOptions< method: TMethod validateClient?: boolean middleware?: Constrain> - validator?: Constrain + validator?: ConstrainValidator extractedFn?: CompiledFetcherFn serverFn?: ServerFn filename: string functionId: string } +export type ConstrainValidator = unknown extends TValidator + ? TValidator + : Constrain< + TValidator, + Validator< + TransformerStringify< + ResolveValidatorInput, + Date | undefined | FormData + >, + any + > + > + type ServerFnBase< TMethod extends Method = 'GET', TResponse = unknown, @@ -125,7 +137,7 @@ type ServerFnBase< 'validator' | 'handler' > validator: ( - validator: Constrain, + validator: ConstrainValidator, ) => Pick< ServerFnBase, 'handler' | 'middleware' @@ -136,7 +148,7 @@ type ServerFnBase< } export function createServerFn< - TMethod extends Method = 'GET', + TMethod extends Method, TResponse = unknown, TMiddlewares = undefined, TValidator = undefined, @@ -153,6 +165,10 @@ export function createServerFn< TValidator > + if (typeof resolvedOptions.method === 'undefined') { + resolvedOptions.method = 'GET' as TMethod + } + return { options: resolvedOptions as any, middleware: (middleware) => { @@ -212,21 +228,49 @@ export function createServerFn< ...extractedFn, // The extracted function on the server-side calls // this function - __executeServer: (opts: any) => - executeMiddleware(resolvedMiddleware, 'server', { + __executeServer: (opts: any) => { + const parsedOpts = + opts instanceof FormData ? extractFormDataContext(opts) : opts + + return executeMiddleware(resolvedMiddleware, 'server', { ...extractedFn, - ...opts, + ...parsedOpts, }).then((d) => ({ // Only send the result and sendContext back to the client result: d.result, context: d.sendContext, - })), + })) + }, }, ) as any }, } } +function extractFormDataContext(formData: FormData) { + const serializedContext = formData.get('__TSR_CONTEXT') + formData.delete('__TSR_CONTEXT') + + if (typeof serializedContext !== 'string') { + return { + context: {}, + data: formData, + } + } + + try { + const context = defaultTransformer.parse(serializedContext) + return { + context, + data: formData, + } + } catch (e) { + return { + data: formData, + } + } +} + function flattenMiddlewares( middlewares: Array, ): Array { @@ -311,12 +355,13 @@ function execValidator(validator: AnyValidator, input: unknown): unknown { if ('~standard' in validator) { const result = validator['~standard'].validate(input) - if ('value' in result) return result.value - if (result instanceof Promise) throw new Error('Async validation not supported') - throw new Error(JSON.stringify(result.issues, undefined, 2)) + if (result.issues) + throw new Error(JSON.stringify(result.issues, undefined, 2)) + + return result.value } if ('parse' in validator) { diff --git a/packages/start/src/client/index.tsx b/packages/start/src/client/index.tsx index bdedb47f08..5a2361e8e6 100644 --- a/packages/start/src/client/index.tsx +++ b/packages/start/src/client/index.tsx @@ -9,7 +9,6 @@ export { type CompiledFetcherFn, type Fetcher, type RscStream, - type WrapRSCs, type FetcherImpl, type FetcherData, type FetcherBaseOptions, diff --git a/packages/start/src/client/serialization.tsx b/packages/start/src/client/serialization.tsx index fc1ce0b40d..067c18a20f 100644 --- a/packages/start/src/client/serialization.tsx +++ b/packages/start/src/client/serialization.tsx @@ -111,20 +111,17 @@ export function afterHydrate({ router }: { router: AnyRouter }) { } } - const meta = - match.status === 'success' - ? route.options.meta?.({ - matches: router.state.matches, - match, - params: match.params, - loaderData: match.loaderData, - }) - : undefined + const headFnContent = route.options.head?.({ + matches: router.state.matches, + match, + params: match.params, + loaderData: match.loaderData, + }) Object.assign(match, { - meta, - links: route.options.links?.(), - scripts: route.options.scripts?.(), + meta: headFnContent?.meta, + links: headFnContent?.links, + scripts: headFnContent?.scripts, }) }) } @@ -162,46 +159,50 @@ export function AfterEachMatch(props: { match: any; matchIndex: number }) { : fullMatch[dataType] }) - return ( - <> - {serializedBeforeLoadData !== undefined || - serializedLoaderData !== undefined || - extracted?.length ? ( - { - return [entry.id, pick(entry, ['type', 'path'])] - }), - ) - : {}, - }, - { - isScriptContext: true, - wrap: true, - json: true, - }, - )}; __TSR__.initMatch(${props.matchIndex})`} - /> - ) : null} - {extracted - ? extracted.map((d, i) => { - if (d.type === 'stream') { - return - } + if ( + serializedBeforeLoadData !== undefined || + serializedLoaderData !== undefined || + extracted?.length + ) { + const initCode = `__TSR__.initMatch(${jsesc( + { + index: props.matchIndex, + __beforeLoadContext: router.options.transformer.stringify( + serializedBeforeLoadData, + ), + loaderData: router.options.transformer.stringify(serializedLoaderData), + extracted: extracted + ? Object.fromEntries( + extracted.map((entry) => { + return [entry.id, pick(entry, ['type', 'path'])] + }), + ) + : {}, + }, + { + isScriptContext: true, + wrap: true, + json: true, + }, + )})` + + return ( + <> + + {extracted + ? extracted.map((d) => { + if (d.type === 'stream') { + return + } + + return + }) + : null} + + ) + } - return - }) - : null} - - ) + return null } export function replaceBy( @@ -256,46 +257,45 @@ function DehydratePromise({ entry }: { entry: ExtractedEntry }) { } function InnerDehydratePromise({ entry }: { entry: ExtractedEntry }) { + const router = useRouter() if (entry.value.status === 'pending') { throw entry.value } - return ( - - ) + const code = `__TSR__.resolvePromise(${jsesc(entry, { + isScriptContext: true, + wrap: true, + json: true, + })})` + + router.injectScript(code) + + return <> } function DehydrateStream({ entry }: { entry: ExtractedEntry }) { invariant(entry.streamState, 'StreamState should be defined') + const router = useRouter() return ( ( - - )} + children={(chunk) => { + const code = chunk + ? `__TSR__.matches[${entry.matchIndex}].extracted[${entry.id}].value.controller.enqueue(new TextEncoder().encode(${jsesc( + chunk.toString(), + { + isScriptContext: true, + wrap: true, + json: true, + }, + )}))` + : `__TSR__.matches[${entry.matchIndex}].extracted[${entry.id}].value.controller.close()` + + router.injectScript(code) + + return <> + }} /> ) } diff --git a/packages/start/src/client/tests/createServerFn.test-d.ts b/packages/start/src/client/tests/createServerFn.test-d.tsx similarity index 55% rename from packages/start/src/client/tests/createServerFn.test-d.ts rename to packages/start/src/client/tests/createServerFn.test-d.tsx index 3ef1f89305..88b1f6e02f 100644 --- a/packages/start/src/client/tests/createServerFn.test-d.ts +++ b/packages/start/src/client/tests/createServerFn.test-d.tsx @@ -1,6 +1,13 @@ import { expectTypeOf, test } from 'vitest' import { createServerFn } from '../createServerFn' import { createMiddleware } from '../createMiddleware' +import type { Constrain, Validator } from '@tanstack/react-router' + +test('createServerFn method with autocomplete', () => { + createServerFn().handler((options) => { + expectTypeOf(options.method).toEqualTypeOf<'GET' | 'POST'>() + }) +}) test('createServerFn without middleware', () => { createServerFn({ method: 'GET' }).handler((options) => { @@ -13,9 +20,9 @@ test('createServerFn without middleware', () => { }) test('createServerFn with validator', () => { - createServerFn({ method: 'GET' }) - .validator(() => ({ - a: 'a', + const fn = createServerFn({ method: 'GET' }) + .validator((input: { input: string }) => ({ + a: input.input, })) .handler((options) => { expectTypeOf(options).toEqualTypeOf<{ @@ -26,6 +33,11 @@ test('createServerFn with validator', () => { } }>() }) + + expectTypeOf(fn).parameter(0).toEqualTypeOf<{ + data: { input: string } + headers?: HeadersInit + }>() }) test('createServerFn with middleware and context', () => { @@ -75,16 +87,16 @@ test('createServerFn with middleware and context', () => { test('createServerFn with middleware and validator', () => { const middleware1 = createMiddleware().validator( - () => + (input: { readonly inputA: 'inputA' }) => ({ - a: 'a', + outputA: 'outputA', }) as const, ) const middleware2 = createMiddleware().validator( - () => + (input: { readonly inputB: 'inputB' }) => ({ - b: 'b', + outputB: 'outputB', }) as const, ) @@ -93,9 +105,9 @@ test('createServerFn with middleware and validator', () => { const fn = createServerFn({ method: 'GET' }) .middleware([middleware3]) .validator( - () => + (input: { readonly inputC: 'inputC' }) => ({ - c: 'c', + outputC: 'outputC', }) as const, ) .handler((options) => { @@ -103,9 +115,9 @@ test('createServerFn with middleware and validator', () => { method: 'GET' context: undefined data: { - readonly a: 'a' - readonly b: 'b' - readonly c: 'c' + readonly outputA: 'outputA' + readonly outputB: 'outputB' + readonly outputC: 'outputC' } }>() @@ -114,9 +126,9 @@ test('createServerFn with middleware and validator', () => { expectTypeOf(fn).parameter(0).toEqualTypeOf<{ data: { - readonly a: 'a' - readonly b: 'b' - readonly c: 'c' + readonly inputA: 'inputA' + readonly inputB: 'inputB' + readonly inputC: 'inputC' } headers?: HeadersInit }>() @@ -138,7 +150,7 @@ test('createServerFn where validator is a primitive', () => { test('createServerFn where validator is optional if object is optional', () => { const fn = createServerFn({ method: 'GET' }) - .validator(() => 'c' as 'c' | undefined) + .validator((input: 'c' | undefined) => input) .handler((options) => { expectTypeOf(options).toEqualTypeOf<{ method: 'GET' @@ -173,3 +185,83 @@ test('createServerFn where data is optional if there is no validator', () => { | undefined >() }) + +test('createServerFn returns Date', () => { + const fn = createServerFn().handler(() => ({ + dates: [new Date(), new Date()] as const, + })) + + expectTypeOf(fn()).toEqualTypeOf>() +}) + +test('createServerFn returns RSC', () => { + const fn = createServerFn().handler(() => ({ + rscs: [ +
      I'm an RSC
      , +
      I'm an RSC
      , + ] as const, + })) + + expectTypeOf(fn()).toEqualTypeOf< + Promise<{ rscs: readonly [ReadableStream, ReadableStream] }> + >() +}) + +test('createServerFn returns undefined', () => { + const fn = createServerFn().handler(() => ({ + nothing: undefined, + })) + + expectTypeOf(fn()).toEqualTypeOf>() +}) + +test('createServerFn cannot return function', () => { + expectTypeOf(createServerFn().handler<{ func: () => 'func' }>) + .parameter(0) + .returns.toEqualTypeOf< + | { func: 'Function is not serializable' } + | Promise<{ func: 'Function is not serializable' }> + >() +}) + +test('createServerFn cannot validate function', () => { + const validator = createServerFn().validator< + (input: { func: () => 'string' }) => { output: 'string' } + > + + expectTypeOf(validator) + .parameter(0) + .toEqualTypeOf< + Constrain< + (input: { func: () => 'string' }) => { output: 'string' }, + Validator<{ func: 'Function is not serializable' }, any> + > + >() +}) + +test('createServerFn can validate Date', () => { + const validator = createServerFn().validator< + (input: Date) => { output: 'string' } + > + + expectTypeOf(validator) + .parameter(0) + .toEqualTypeOf< + Constrain<(input: Date) => { output: 'string' }, Validator> + >() +}) + +test('createServerFn can validate FormData', () => { + const validator = createServerFn().validator< + (input: FormData) => { output: 'string' } + > + + expectTypeOf(validator) + .parameter(0) + .toEqualTypeOf< + Constrain< + (input: FormData) => { output: 'string' }, + Validator + > + >() +}) diff --git a/packages/start/src/client/tests/createServerMiddleware.test-d.ts b/packages/start/src/client/tests/createServerMiddleware.test-d.ts index d3f464e995..2633615680 100644 --- a/packages/start/src/client/tests/createServerMiddleware.test-d.ts +++ b/packages/start/src/client/tests/createServerMiddleware.test-d.ts @@ -1,5 +1,6 @@ import { expectTypeOf, test } from 'vitest' import { createMiddleware } from '../createMiddleware' +import type { Constrain, Validator } from '@tanstack/react-router' test('createServeMiddleware removes middleware after middleware,', () => { const middleware = createMiddleware() @@ -228,7 +229,7 @@ test('createMiddleware merges server context and client context, sends server co fromServer1: string fromServer2: string fromServer3: string - toServer1: string + toServer1: 'toServer1' }>() return next({ context: { fromServer4: 'fromServer4' }, @@ -244,8 +245,72 @@ test('createMiddleware merges server context and client context, sends server co fromClient3: string clientAfter3: string fromClient4: string - toClient1: string + toClient1: 'toClient1' }> return next({ context: { clientAfter4: 'clientAfter4' } }) }) }) + +test('createMiddleware sendContext cannot send a function', () => { + createMiddleware() + .client(({ next }) => { + expectTypeOf(next<{ func: () => 'func' }>) + .parameter(0) + .exclude() + .toHaveProperty('sendContext') + .toEqualTypeOf<{ func: 'Function is not serializable' } | undefined>() + + return next() + }) + .server(({ next }) => { + expectTypeOf(next 'func' }>) + .parameter(0) + .exclude() + .toHaveProperty('sendContext') + .toEqualTypeOf<{ func: 'Function is not serializable' } | undefined>() + + return next() + }) +}) + +test('createMiddleware cannot validate function', () => { + const validator = createMiddleware().validator< + (input: { func: () => 'string' }) => { output: 'string' } + > + + expectTypeOf(validator) + .parameter(0) + .toEqualTypeOf< + Constrain< + (input: { func: () => 'string' }) => { output: 'string' }, + Validator<{ func: 'Function is not serializable' }, any> + > + >() +}) + +test('createMiddleware can validate Date', () => { + const validator = createMiddleware().validator< + (input: Date) => { output: 'string' } + > + + expectTypeOf(validator) + .parameter(0) + .toEqualTypeOf< + Constrain<(input: Date) => { output: 'string' }, Validator> + >() +}) + +test('createMiddleware can validate FormData', () => { + const validator = createMiddleware().validator< + (input: FormData) => { output: 'string' } + > + + expectTypeOf(validator) + .parameter(0) + .toEqualTypeOf< + Constrain< + (input: FormData) => { output: 'string' }, + Validator + > + >() +}) diff --git a/packages/start/src/client/tests/index.test.tsx b/packages/start/src/client/tests/index.test.tsx index b973d55cc5..9b64e1f92e 100644 --- a/packages/start/src/client/tests/index.test.tsx +++ b/packages/start/src/client/tests/index.test.tsx @@ -17,14 +17,18 @@ describe('ssr scripts', () => { test('it works', async () => { const rootRoute = createRootRoute({ // loader: () => new Promise((r) => setTimeout(r, 1)), - scripts: () => [ - { - src: 'script.js', - }, - { - src: 'script2.js', - }, - ], + head: () => { + return { + scripts: [ + { + src: 'script.js', + }, + { + src: 'script2.js', + }, + ], + } + }, component: () => { return }, @@ -34,11 +38,15 @@ describe('ssr scripts', () => { path: '/', getParentRoute: () => rootRoute, // loader: () => new Promise((r) => setTimeout(r, 2)), - scripts: () => [ - { - src: 'script3.js', - }, - ], + head: () => { + return { + scripts: [ + { + src: 'script3.js', + }, + ], + } + }, }) const router = createRouter({ @@ -77,19 +85,35 @@ describe('ssr meta', () => { new Promise((r) => setTimeout(r, 1)).then(() => ({ description: 'Root', })), - meta: ({ loaderData }) => [ - { - title: 'Root', - }, - { - name: 'description', - content: loaderData.description, - }, - { - name: 'image', - content: 'image.jpg', - }, - ], + head: ({ loaderData }) => { + if (!loaderData) { + return {} + } + + return { + meta: [ + { + title: 'Root', + }, + { + name: 'description', + content: loaderData.description, + }, + { + name: 'image', + content: 'image.jpg', + }, + { + property: 'og:image', + content: 'root-image.jpg', + }, + { + property: 'og:description', + content: 'Root description', + }, + ], + } + }, component: () => { return }, @@ -102,19 +126,31 @@ describe('ssr meta', () => { new Promise((r) => setTimeout(r, 2)).then(() => ({ description: 'Index', })), - meta: ({ loaderData }) => [ - { - title: 'Index', - }, - { - name: 'description', - content: loaderData.description, - }, - { - name: 'last-modified', - content: '2021-10-10', - }, - ], + head: ({ loaderData }) => { + if (!loaderData) { + return {} + } + + return { + meta: [ + { + title: 'Index', + }, + { + name: 'description', + content: loaderData.description, + }, + { + name: 'last-modified', + content: '2021-10-10', + }, + { + property: 'og:image', + content: 'index-image.jpg', + }, + ], + } + }, }) const router = createRouter({ @@ -132,15 +168,18 @@ describe('ssr meta', () => { { title: 'Root' }, { name: 'description', content: 'Root' }, { name: 'image', content: 'image.jpg' }, + { property: 'og:image', content: 'root-image.jpg' }, + { property: 'og:description', content: 'Root description' }, { title: 'Index' }, { name: 'description', content: 'Index' }, { name: 'last-modified', content: '2021-10-10' }, + { property: 'og:image', content: 'index-image.jpg' }, ]) const { container } = render() expect(container.innerHTML).toEqual( - `Index`, + `Index`, ) }) }) diff --git a/packages/start/src/config/index.ts b/packages/start/src/config/index.ts index edd6ac5f72..94bfe2e29f 100644 --- a/packages/start/src/config/index.ts +++ b/packages/start/src/config/index.ts @@ -6,8 +6,8 @@ import reactRefresh from '@vitejs/plugin-react' import { resolve } from 'import-meta-resolve' import { TanStackRouterVite } from '@tanstack/router-plugin/vite' import { - TanStackStartVite, TanStackStartViteDeadCodeElimination, + TanStackStartViteServerFn, } from '@tanstack/start-vite-plugin' import { configSchema, @@ -520,7 +520,7 @@ function withStartPlugins(opts: TanStackStartOutputConfig, router: RouterType) { ...tsrConfig.experimental, }, }), - TanStackStartVite({ + TanStackStartViteServerFn({ env: router === 'client' ? 'client' : 'server', }), ], @@ -606,6 +606,7 @@ function tsrRoutesManifest(opts: { try { routeTreeContent = readFileSync(routeTreePath, 'utf-8') } catch (err) { + console.error(err) throw new Error( `Could not find the generated route tree at '${routeTreePath}'!`, ) diff --git a/packages/start/src/server-handler/index.tsx b/packages/start/src/server-handler/index.tsx index 732b3ad789..8e8dea0baf 100644 --- a/packages/start/src/server-handler/index.tsx +++ b/packages/start/src/server-handler/index.tsx @@ -1,6 +1,5 @@ /// import { - decode, defaultTransformer, isNotFound, isRedirect, @@ -24,9 +23,7 @@ async function handleServerAction(event: H3Event) { export async function handleServerRequest(request: Request, _event?: H3Event) { const method = request.method const url = new URL(request.url, 'http://localhost:3000') - const search = Object.fromEntries( - new URLSearchParams(url.search).entries(), - ) as { + const search = Object.fromEntries(url.searchParams.entries()) as { _serverFnId?: string _serverFnName?: string payload?: any @@ -58,7 +55,7 @@ export async function handleServerRequest(request: Request, _event?: H3Event) { ) { // We don't support GET requests with FormData payloads... that seems impossible invariant( - method.toLowerCase() === 'get', + method.toLowerCase() !== 'get', 'GET requests with FormData payloads are not supported', ) @@ -68,18 +65,17 @@ export async function handleServerRequest(request: Request, _event?: H3Event) { // Get requests use the query string if (method.toLowerCase() === 'get') { // First we need to get the ?payload query string - const payload = decode(url.search)?.payload - - if (!payload) { + if (!search.payload) { return undefined } // If there's a payload, we need to parse it - return defaultTransformer.parse(payload) + return defaultTransformer.parse(search.payload) } // For non-form, non-get - return await request.json() + const jsonPayloadAsString = await request.text() + return defaultTransformer.parse(jsonPayloadAsString) })() const result = await action(arg) diff --git a/packages/start/src/server-runtime/index.tsx b/packages/start/src/server-runtime/index.tsx index 78fe2caea5..eda1e96e91 100644 --- a/packages/start/src/server-runtime/index.tsx +++ b/packages/start/src/server-runtime/index.tsx @@ -78,8 +78,10 @@ export function createIncomingMessage( // } as const // } +const fakeHost = 'http://localhost:3000' + export function createServerReference(_fn: any, id: string, name: string) { - const functionUrl = getBaseUrl('http://localhost:3000', id, name) + const functionUrl = getBaseUrl(fakeHost, id, name) const proxyFn = (...args: Array) => { invariant( @@ -150,7 +152,7 @@ export function createServerReference(_fn: any, id: string, name: string) { } return Object.assign(proxyFn, { - url: functionUrl, + url: functionUrl.replace(fakeHost, ''), filename: id, functionId: name, }) diff --git a/packages/valibot-adapter/package.json b/packages/valibot-adapter/package.json index da9a4b44a4..1046db7add 100644 --- a/packages/valibot-adapter/package.json +++ b/packages/valibot-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/valibot-adapter", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", @@ -67,7 +67,7 @@ "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1", "@tanstack/react-router": "workspace:*", - "valibot": "1.0.0-beta.5", + "valibot": "1.0.0-beta.7", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/packages/zod-adapter/package.json b/packages/zod-adapter/package.json index 9c0ebf63fd..7c5df91fbd 100644 --- a/packages/zod-adapter/package.json +++ b/packages/zod-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/zod-adapter", - "version": "1.81.9", + "version": "1.82.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29a4a6b036..e61e116662 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: overrides: use-sync-external-store: 1.2.2 - eslint: ^9.14.0 + eslint: ^9.15.0 '@tanstack/history': workspace:* '@tanstack/react-cross-context': workspace:* '@tanstack/react-router': workspace:* @@ -34,17 +34,17 @@ importers: specifier: ^0.17.0 version: 0.17.0 '@eslint-react/eslint-plugin': - specifier: ^1.16.1 - version: 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + specifier: ^1.17.0 + version: 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@tanstack/config': specifier: ^0.14.0 - version: 0.14.0(@types/node@22.9.0)(esbuild@0.24.0)(eslint@9.14.0(jiti@2.4.0))(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 0.14.0(@types/node@22.9.3)(esbuild@0.24.0)(eslint@9.15.0(jiti@2.4.0))(rollup@4.27.4)(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) '@types/node': specifier: ^22.7.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.3.11 version: 18.3.12 @@ -52,14 +52,14 @@ importers: specifier: ^18.3.0 version: 18.3.1 eslint: - specifier: ^9.14.0 - version: 9.14.0(jiti@2.4.0) + specifier: ^9.15.0 + version: 9.15.0(jiti@2.4.0) eslint-plugin-react-hooks: specifier: ^5.1.0-rc-fb9a90fa48-20240614 - version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.14.0(jiti@2.4.0)) + version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.15.0(jiti@2.4.0)) eslint-plugin-unused-imports: specifier: ^4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0)) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0)) glob: specifier: ^11.0.0 version: 11.0.0 @@ -67,8 +67,8 @@ importers: specifier: ^25.0.1 version: 25.0.1 nx: - specifier: ^19.8.10 - version: 19.8.10(@swc/core@1.9.2(@swc/helpers@0.5.15)) + specifier: ^20.1.3 + version: 20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15)) prettier: specifier: ^3.3.3 version: 3.3.3 @@ -89,7 +89,7 @@ importers: version: 6.0.1 typescript: specifier: ^5.6.3 - version: 5.6.3 + version: 5.7.2 typescript51: specifier: npm:typescript@5.1 version: typescript@5.1.6 @@ -107,10 +107,10 @@ importers: version: typescript@5.5.4 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vitest: - specifier: ^2.1.4 - version: 2.1.5(@types/node@22.9.0)(jsdom@25.0.1)(msw@2.6.4(@types/node@22.9.0)(typescript@5.6.3))(terser@5.36.0) + specifier: ^2.1.5 + version: 2.1.5(@types/node@22.9.3)(jsdom@25.0.1)(msw@2.6.6(@types/node@22.9.3)(typescript@5.7.2))(terser@5.36.0) e2e/react-router/basic: dependencies: @@ -131,8 +131,8 @@ importers: version: 0.5.1 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -141,10 +141,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) e2e/react-router/basic-esbuild-file-based: dependencies: @@ -174,8 +174,8 @@ importers: version: 3.23.8 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -214,8 +214,8 @@ importers: version: 3.23.8 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -224,10 +224,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) e2e/react-router/basic-file-based-code-splitting: dependencies: @@ -251,8 +251,8 @@ importers: version: 3.23.8 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -261,19 +261,19 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) e2e/react-router/basic-react-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -291,8 +291,8 @@ importers: version: 0.5.1 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -301,19 +301,19 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) e2e/react-router/basic-react-query-file-based: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -337,8 +337,8 @@ importers: version: 3.23.8 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -347,10 +347,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) e2e/react-router/basic-scroll-restoration: dependencies: @@ -374,8 +374,8 @@ importers: version: 0.5.1 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -384,10 +384,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) e2e/react-router/basic-virtual-file-based: dependencies: @@ -417,8 +417,8 @@ importers: version: 3.23.8 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -427,10 +427,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) e2e/start/basic: dependencies: @@ -457,17 +457,17 @@ importers: version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -476,7 +476,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -484,14 +484,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) e2e/start/basic-auth: dependencies: @@ -524,20 +524,20 @@ importers: version: 0.5.1 remix-auth-form: specifier: ^1.5.0 - version: 1.5.0(@remix-run/server-runtime@2.14.0(typescript@5.6.3))(remix-auth@3.7.0(@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/server-runtime@2.14.0(typescript@5.6.3))) + version: 1.5.0(@remix-run/server-runtime@2.15.0(typescript@5.7.2))(remix-auth@3.7.0(@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@remix-run/server-runtime@2.15.0(typescript@5.7.2))) tailwind-merge: specifier: ^2.5.4 version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -546,7 +546,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -554,23 +554,23 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) e2e/start/basic-react-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -597,14 +597,14 @@ importers: version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -613,7 +613,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -621,14 +621,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) e2e/start/basic-rsc: dependencies: @@ -652,7 +652,7 @@ importers: version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/react': specifier: ^18.2.65 @@ -662,7 +662,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -670,14 +670,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) e2e/start/basic-tsr-config: dependencies: @@ -695,11 +695,11 @@ importers: version: 18.3.1(react@18.3.1) vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -708,13 +708,13 @@ importers: version: 18.3.1 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 e2e/start/clerk-basic: dependencies: '@clerk/tanstack-start': - specifier: 0.4.25 - version: 0.4.25(@tanstack/react-router@packages+react-router)(@tanstack/start@packages+start)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 0.5.1 + version: 0.5.1(@tanstack/react-router@packages+react-router)(@tanstack/start@packages+start)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -738,20 +738,20 @@ importers: version: 0.5.1 remix-auth-form: specifier: ^1.5.0 - version: 1.5.0(@remix-run/server-runtime@2.14.0(typescript@5.6.3))(remix-auth@3.7.0(@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/server-runtime@2.14.0(typescript@5.6.3))) + version: 1.5.0(@remix-run/server-runtime@2.15.0(typescript@5.7.2))(remix-auth@3.7.0(@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@remix-run/server-runtime@2.15.0(typescript@5.7.2))) tailwind-merge: specifier: ^2.5.4 version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -760,7 +760,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -768,14 +768,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) e2e/start/website: dependencies: @@ -802,17 +802,17 @@ importers: version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 devDependencies: '@playwright/test': - specifier: ^1.48.2 - version: 1.48.2 + specifier: ^1.49.0 + version: 1.49.0 '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -821,7 +821,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -829,14 +829,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/authenticated-routes: dependencies: @@ -870,10 +870,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic: dependencies: @@ -901,16 +904,19 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic-default-search-params: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -938,10 +944,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic-file-based: dependencies: @@ -975,10 +984,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic-file-based-codesplitting: dependencies: @@ -1012,19 +1024,22 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic-react-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1049,19 +1064,22 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic-react-query-file-based: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1092,10 +1110,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic-ssr-file-based: dependencies: @@ -1132,13 +1153,13 @@ importers: version: 7.26.2 '@rollup/plugin-babel': specifier: ^6.0.4 - version: 6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.26.0) + version: 6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.27.4) '@types/express': specifier: ^4.17.21 version: 4.17.21 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) compression: specifier: ^1.7.5 version: 1.7.5 @@ -1154,12 +1175,15 @@ importers: serve-static: specifier: ^1.16.2 version: 1.16.2 + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-babel: specifier: ^1.2.0 - version: 1.2.0(@babel/core@7.26.0)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 1.2.0(@babel/core@7.26.0)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/basic-ssr-streaming-file-based: dependencies: @@ -1199,13 +1223,13 @@ importers: version: 7.26.2 '@rollup/plugin-babel': specifier: ^6.0.4 - version: 6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.26.0) + version: 6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.27.4) '@types/express': specifier: ^4.17.21 version: 4.17.21 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) compression: specifier: ^1.7.5 version: 1.7.5 @@ -1221,12 +1245,15 @@ importers: serve-static: specifier: ^1.16.2 version: 1.16.2 + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-babel: specifier: ^1.2.0 - version: 1.2.0(@babel/core@7.26.0)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 1.2.0(@babel/core@7.26.0)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/basic-virtual-file-based: dependencies: @@ -1263,10 +1290,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/basic-virtual-inside-file-based: dependencies: @@ -1303,10 +1333,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/deferred-data: dependencies: @@ -1337,10 +1370,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/kitchen-sink: dependencies: @@ -1374,10 +1410,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/kitchen-sink-file-based: dependencies: @@ -1414,19 +1453,22 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/kitchen-sink-react-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1457,19 +1499,22 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/kitchen-sink-react-query-file-based: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1503,16 +1548,19 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/large-file-based: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1543,10 +1591,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/location-masking: dependencies: @@ -1554,8 +1605,8 @@ importers: specifier: ^1.1.2 version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1580,16 +1631,19 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/navigation-blocking: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1614,10 +1668,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/quickstart: dependencies: @@ -1642,10 +1699,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/quickstart-esbuild-file-based: dependencies: @@ -1713,10 +1773,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/quickstart-rspack-file-based: dependencies: @@ -1734,11 +1797,11 @@ importers: version: 18.3.1(react@18.3.1) devDependencies: '@rsbuild/core': - specifier: 1.1.0 - version: 1.1.0 + specifier: 1.1.4 + version: 1.1.4 '@rsbuild/plugin-react': specifier: 1.0.7 - version: 1.0.7(@rsbuild/core@1.1.0) + version: 1.0.7(@rsbuild/core@1.1.4) '@tanstack/router-plugin': specifier: workspace:* version: link:../../../packages/router-plugin @@ -1750,7 +1813,7 @@ importers: version: 18.3.1 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 examples/react/quickstart-webpack-file-based: dependencies: @@ -1769,7 +1832,7 @@ importers: devDependencies: '@swc/core': specifier: ^1.9.2 - version: 1.9.2(@swc/helpers@0.5.15) + version: 1.9.3(@swc/helpers@0.5.15) '@tanstack/router-plugin': specifier: workspace:* version: link:../../../packages/router-plugin @@ -1781,16 +1844,16 @@ importers: version: 18.3.1 html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.1.1(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) + version: 5.6.3(@rspack/core@1.1.3(@swc/helpers@0.5.15))(webpack@5.96.1) swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.9.2(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) + version: 0.2.6(@swc/core@1.9.3(@swc/helpers@0.5.15))(webpack@5.96.1) typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 webpack: specifier: ^5.96.1 - version: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + version: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1) @@ -1801,11 +1864,11 @@ importers: examples/react/router-monorepo-react-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -1827,7 +1890,7 @@ importers: devDependencies: '@types/node': specifier: ^22.7.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -1836,16 +1899,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/router-monorepo-react-query/packages/app: dependencies: @@ -1856,8 +1919,8 @@ importers: specifier: workspace:* version: link:../router '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -1876,16 +1939,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/router-monorepo-react-query/packages/post-feature: dependencies: @@ -1896,8 +1959,8 @@ importers: specifier: workspace:* version: link:../router '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -1913,22 +1976,22 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/router-monorepo-react-query/packages/post-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) redaxios: specifier: ^0.5.1 version: 0.5.1 @@ -1938,10 +2001,13 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/router-monorepo-react-query/packages/router: dependencies: @@ -1949,8 +2015,8 @@ importers: specifier: workspace:* version: link:../post-query '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../../../packages/react-router @@ -1978,16 +2044,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/router-monorepo-simple: dependencies: @@ -2012,7 +2078,7 @@ importers: devDependencies: '@types/node': specifier: ^22.7.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.47 version: 18.3.12 @@ -2021,16 +2087,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/router-monorepo-simple/packages/app: dependencies: @@ -2058,16 +2124,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/router-monorepo-simple/packages/post-feature: dependencies: @@ -2075,8 +2141,8 @@ importers: specifier: workspace:* version: link:../router '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -2092,16 +2158,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/router-monorepo-simple/packages/router: dependencies: @@ -2132,16 +2198,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) typescript: specifier: 5.6.2 version: 5.6.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/scroll-restoration: dependencies: @@ -2169,10 +2235,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/search-validator-adapters: dependencies: @@ -2180,8 +2249,8 @@ importers: specifier: workspace:* version: link:../../../packages/arktype-adapter '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -2198,8 +2267,8 @@ importers: specifier: workspace:* version: link:../../../packages/zod-adapter arktype: - specifier: 2.0.0-rc.23 - version: 2.0.0-rc.23 + specifier: 2.0.0-rc.24 + version: 2.0.0-rc.24 react: specifier: ^18.2.0 version: 18.3.1 @@ -2207,8 +2276,8 @@ importers: specifier: ^18.2.0 version: 18.3.1(react@18.3.1) valibot: - specifier: 1.0.0-beta.5 - version: 1.0.0-beta.5(typescript@5.6.3) + specifier: 1.0.0-beta.7 + version: 1.0.0-beta.7(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -2227,10 +2296,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/start-basic: dependencies: @@ -2257,11 +2329,11 @@ importers: version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -2275,14 +2347,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/start-basic-auth: dependencies: @@ -2315,17 +2387,17 @@ importers: version: 0.5.1 remix-auth-form: specifier: ^1.5.0 - version: 1.5.0(@remix-run/server-runtime@2.14.0(typescript@5.6.3))(remix-auth@3.7.0(@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/server-runtime@2.14.0(typescript@5.6.3))) + version: 1.5.0(@remix-run/server-runtime@2.15.0(typescript@5.7.2))(remix-auth@3.7.0(@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@remix-run/server-runtime@2.15.0(typescript@5.7.2))) tailwind-merge: specifier: ^2.5.4 version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -2339,23 +2411,23 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/start-basic-react-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -2382,11 +2454,11 @@ importers: version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -2400,14 +2472,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/start-basic-rsc: dependencies: @@ -2431,7 +2503,7 @@ importers: version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/react': specifier: ^18.2.65 @@ -2446,20 +2518,20 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/start-clerk-basic: dependencies: '@clerk/tanstack-start': - specifier: 0.4.25 - version: 0.4.25(@tanstack/react-router@packages+react-router)(@tanstack/start@packages+start)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 0.5.1 + version: 0.5.1(@tanstack/react-router@packages+react-router)(@tanstack/start@packages+start)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -2483,17 +2555,17 @@ importers: version: 0.5.1 remix-auth-form: specifier: ^1.5.0 - version: 1.5.0(@remix-run/server-runtime@2.14.0(typescript@5.6.3))(remix-auth@3.7.0(@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/server-runtime@2.14.0(typescript@5.6.3))) + version: 1.5.0(@remix-run/server-runtime@2.15.0(typescript@5.7.2))(remix-auth@3.7.0(@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@remix-run/server-runtime@2.15.0(typescript@5.7.2))) tailwind-merge: specifier: ^2.5.4 version: 2.5.4 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -2507,26 +2579,26 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/start-convex-trellaux: dependencies: '@convex-dev/react-query': specifier: 0.0.0-alpha.8 - version: 0.0.0-alpha.8(@tanstack/react-query@5.59.20(react@18.3.1))(convex@1.17.0(@clerk/clerk-react@5.15.3(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)) + version: 0.0.0-alpha.8(@tanstack/react-query@5.61.3(react@18.3.1))(convex@1.17.2(@clerk/clerk-react@5.16.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)) '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -2544,13 +2616,13 @@ importers: version: 8.2.2 convex: specifier: ^1.17.0 - version: 1.17.0(@clerk/clerk-react@5.15.3(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) + version: 1.17.2(@clerk/clerk-react@5.16.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) ky: specifier: ^1.7.2 version: 1.7.2 msw: - specifier: ^2.6.4 - version: 2.6.4(@types/node@22.9.0)(typescript@5.6.3) + specifier: ^2.6.5 + version: 2.6.6(@types/node@22.9.3)(typescript@5.7.2) react: specifier: ^18.3.1 version: 18.3.1 @@ -2571,7 +2643,7 @@ importers: version: 1.3.3 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -2589,14 +2661,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/start-counter: dependencies: @@ -2614,11 +2686,11 @@ importers: version: 18.3.1(react@18.3.1) vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.9.0 + version: 22.9.3 '@types/react': specifier: ^18.2.65 version: 18.3.12 @@ -2627,7 +2699,7 @@ importers: version: 18.3.1 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 examples/react/start-supabase-basic: dependencies: @@ -2654,7 +2726,7 @@ importers: version: 18.3.1(react@18.3.1) vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) devDependencies: '@types/react': specifier: ^18.3.5 @@ -2669,20 +2741,23 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 + vite-tsconfig-paths: + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/start-trellaux: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -2699,8 +2774,8 @@ importers: specifier: ^1.7.2 version: 1.7.2 msw: - specifier: ^2.6.4 - version: 2.6.4(@types/node@22.9.0)(typescript@5.6.3) + specifier: ^2.6.5 + version: 2.6.6(@types/node@22.9.3)(typescript@5.7.2) react: specifier: ^18.3.1 version: 18.3.1 @@ -2721,7 +2796,7 @@ importers: version: 1.3.3 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -2739,14 +2814,14 @@ importers: specifier: ^8.4.49 version: 8.4.49 tailwindcss: - specifier: ^3.4.14 - version: 3.4.14 + specifier: ^3.4.15 + version: 3.4.15 typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite-tsconfig-paths: - specifier: ^5.1.2 - version: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + specifier: ^5.1.3 + version: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/with-framer-motion: dependencies: @@ -2757,8 +2832,8 @@ importers: specifier: workspace:* version: link:../../../packages/router-devtools framer-motion: - specifier: ^11.11.11 - version: 11.11.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^11.11.17 + version: 11.11.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -2780,10 +2855,13 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + typescript: + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) examples/react/with-trpc: dependencies: @@ -2797,11 +2875,11 @@ importers: specifier: workspace:* version: link:../../../packages/router-plugin '@trpc/client': - specifier: 11.0.0-rc.630 - version: 11.0.0-rc.630(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 11.0.0-rc.638 + version: 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@trpc/server': - specifier: 11.0.0-rc.630 - version: 11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 11.0.0-rc.638 + version: 11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -2813,7 +2891,7 @@ importers: version: 0.5.1 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -2826,16 +2904,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) examples/react/with-trpc-react-query: dependencies: '@tanstack/react-query': - specifier: ^5.59.20 - version: 5.59.20(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(react@18.3.1) '@tanstack/react-query-devtools': - specifier: ^5.59.20 - version: 5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1) + specifier: ^5.61.0 + version: 5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../../../packages/react-router @@ -2846,14 +2924,14 @@ importers: specifier: workspace:* version: link:../../../packages/router-plugin '@trpc/client': - specifier: 11.0.0-rc.630 - version: 11.0.0-rc.630(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 11.0.0-rc.638 + version: 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@trpc/react-query': - specifier: 11.0.0-rc.630 - version: 11.0.0-rc.630(@tanstack/react-query@5.59.20(react@18.3.1))(@trpc/client@11.0.0-rc.630(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(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.638 + version: 11.0.0-rc.638(@tanstack/react-query@5.61.3(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(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/server': - specifier: 11.0.0-rc.630 - version: 11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 11.0.0-rc.638 + version: 11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -2865,7 +2943,7 @@ importers: version: 0.5.1 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -2878,7 +2956,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) packages/arktype-adapter: devDependencies: @@ -2892,8 +2970,8 @@ importers: specifier: ^16.0.1 version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) arktype: - specifier: ^2.0.0-rc.21 - version: 2.0.0-rc.23 + specifier: ^2.0.0-rc.24 + version: 2.0.0-rc.24 react: specifier: ^18.3.1 version: 18.3.1 @@ -2905,13 +2983,13 @@ importers: dependencies: '@rsbuild/core': specifier: ^1.0.2 - version: 1.1.0 + version: 1.1.4 '@rsbuild/plugin-react': specifier: ^1.0.1 - version: 1.0.7(@rsbuild/core@1.1.0) + version: 1.0.7(@rsbuild/core@1.1.4) '@swc/core': specifier: ^1.7.25 - version: 1.9.2(@swc/helpers@0.5.15) + version: 1.9.3(@swc/helpers@0.5.15) '@tanstack/react-router': specifier: workspace:* version: link:../react-router @@ -2929,10 +3007,10 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.3.2 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) html-webpack-plugin: specifier: ^5.6.0 - version: 5.6.3(@rspack/core@1.1.1(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) + version: 5.6.3(@rspack/core@1.1.3(@swc/helpers@0.5.15))(webpack@5.96.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -2941,16 +3019,16 @@ importers: version: 18.3.1(react@18.3.1) swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.9.2(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) + version: 0.2.6(@swc/core@1.9.3(@swc/helpers@0.5.15))(webpack@5.96.1) typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 vite: specifier: ^5.4.8 - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) webpack: specifier: ^5.94.0 - version: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + version: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1) @@ -2977,8 +3055,8 @@ importers: specifier: ^12.1.0 version: 12.1.0 cross-spawn: - specifier: ^7.0.5 - version: 7.0.5 + specifier: ^7.0.6 + version: 7.0.6 fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -2987,7 +3065,7 @@ importers: version: 1.1.1 unbuild: specifier: ^2.0.0 - version: 2.0.0(typescript@5.6.3)(vue-tsc@2.0.29(typescript@5.6.3)) + version: 2.0.0(typescript@5.7.2)(vue-tsc@2.0.29(typescript@5.7.2)) validate-npm-package-name: specifier: ^5.0.1 version: 5.0.1 @@ -2998,18 +3076,18 @@ importers: packages/eslint-plugin-router: dependencies: '@typescript-eslint/utils': - specifier: ^8.14.0 - version: 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + specifier: ^8.15.0 + version: 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) devDependencies: '@typescript-eslint/rule-tester': - specifier: ^8.14.0 - version: 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + specifier: ^8.15.0 + version: 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) combinate: specifier: ^1.1.11 version: 1.1.11 eslint: - specifier: ^9.14.0 - version: 9.14.0(jiti@2.4.0) + specifier: ^9.15.0 + version: 9.15.0(jiti@2.4.0) packages/history: {} @@ -3017,7 +3095,7 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) react: specifier: ^18.2.0 version: 18.3.1 @@ -3057,7 +3135,7 @@ importers: version: 3.0.3 '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) combinate: specifier: ^1.1.11 version: 1.1.11 @@ -3074,14 +3152,14 @@ importers: packages/react-router-with-query: devDependencies: '@tanstack/react-query': - specifier: '>=5.59.20' - version: 5.59.20(react@18.3.1) + specifier: '>=5.61.0' + version: 5.61.3(react@18.3.1) '@tanstack/react-router': specifier: workspace:* version: link:../react-router '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) react: specifier: '>=18' version: 18.3.1 @@ -3119,7 +3197,7 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) react: specifier: ^18.2.0 version: 18.3.1 @@ -3170,7 +3248,7 @@ importers: version: 7.26.0 '@rsbuild/core': specifier: '>=1.0.2' - version: 1.1.0 + version: 1.1.4 '@tanstack/router-generator': specifier: workspace:* version: link:../router-generator @@ -3200,10 +3278,10 @@ importers: version: 1.16.0 vite: specifier: '>=5.0.0' - version: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + version: 5.4.11(@types/node@22.9.3)(terser@5.36.0) webpack: specifier: '>=5.92.0' - version: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0) + version: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0) zod: specifier: ^3.23.8 version: 3.23.8 @@ -3236,16 +3314,16 @@ importers: version: 0.2.5 '@vinxi/react-server-dom': specifier: ^0.0.3 - version: 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) '@vinxi/server-components': specifier: ^0.4.3 - version: 0.4.3(vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3)) + version: 0.4.3(vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2)) '@vinxi/server-functions': specifier: ^0.4.3 - version: 0.4.3(vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3)) + version: 0.4.3(vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2)) '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) import-meta-resolve: specifier: ^4.1.0 version: 4.1.0 @@ -3260,7 +3338,7 @@ importers: version: 1.3.3 vinxi: specifier: 0.4.3 - version: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + version: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -3273,7 +3351,7 @@ importers: version: 3.0.3 nitropack: specifier: ^2.10.4 - version: 2.10.4(typescript@5.6.3) + version: 2.10.4(typescript@5.7.2) react: specifier: ^18.2.0 version: 18.3.1 @@ -3282,13 +3360,13 @@ importers: version: 18.3.1(react@18.3.1) typescript: specifier: ^5.6.2 - version: 5.6.3 + version: 5.7.2 packages/start-vite-plugin: dependencies: '@babel/code-frame': - specifier: 7.25.7 - version: 7.25.7 + specifier: 7.26.2 + version: 7.26.2 '@babel/core': specifier: ^7.26.0 version: 7.26.0 @@ -3353,8 +3431,8 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) valibot: - specifier: 1.0.0-beta.5 - version: 1.0.0-beta.5(typescript@5.6.3) + specifier: 1.0.0-beta.7 + version: 1.0.0-beta.7(typescript@5.7.2) packages/virtual-file-routes: {} @@ -3381,8 +3459,8 @@ importers: packages: - '@adobe/css-tools@4.4.0': - resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} + '@adobe/css-tools@4.4.1': + resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==} '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} @@ -3404,15 +3482,11 @@ packages: resolution: {integrity: sha512-FHyhFizXNetigTVsIhqXKGYLpazPS5YNojEPpZEUcBPt9wVvoEbNIvG+hybuBR+pjlRcbyuqhukHZm1fr+bDgA==} engines: {node: '>=18'} - '@ark/schema@0.23.0': - resolution: {integrity: sha512-406Zx0te3ICd7PkGise4XIxOfmjFzK64tEuiN5rmJDg14AqhySXygMk8QcHqHORDJ7VXhel7J41iduw8eyiFPg==} - - '@ark/util@0.23.0': - resolution: {integrity: sha512-2mb24N2leQENRh+zPqnlRJzFFf8Xr7BT+/4MJN46/G8C45davpqFfcqvOw0ZlXrjQpBi8H+ZqDQsi95lN/9oVg==} + '@ark/schema@0.24.0': + resolution: {integrity: sha512-L9aHo485uunP8WhQHH1ofd/DiwyAOo2WS3FMF8AebmIVMjqHOKCXnNBUV1rBnzVZXaVslPlTcgAKjCDmCGoHZg==} - '@babel/code-frame@7.25.7': - resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} - engines: {node: '>=6.9.0'} + '@ark/util@0.24.0': + resolution: {integrity: sha512-YfXWkSinlhKdzoXAYxGVPvv2WMHzSN2Rrw5+Aoj79ksj8aPQdQagsMdnDTobaaynnlLxWz46hP/7JmVTo5QQ/A==} '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} @@ -3464,10 +3538,6 @@ packages: resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.25.9': - resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} - engines: {node: '>=6.9.0'} - '@babel/parser@7.26.2': resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} engines: {node: '>=6.0.0'} @@ -3526,19 +3596,19 @@ packages: '@bundled-es-modules/tough-cookie@0.1.6': resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} - '@clerk/backend@1.16.1': - resolution: {integrity: sha512-Rrw8LLHk5L1gHhWT/nr5zuWvPapvgdTZ4O35v22D8eLaTdYLJOptHquBwaJ9R9WMmYxDi35lm9a4oVk0t5h7BQ==} + '@clerk/backend@1.17.1': + resolution: {integrity: sha512-gfjdLILCVdt0wOuFlv0QwYcdNR1dR7VkwhzZV8y4zhcF95AalzIQaBH3vUsOzlOxieBsuuB+dS1ZauHAwGFdgg==} engines: {node: '>=18.17.0'} - '@clerk/clerk-react@5.15.3': - resolution: {integrity: sha512-Ha7Cjiffk3GT0+lJgrtJfeTC9P1kIdmErjQc0t6+lcx12qZwnO1fsf5fp6GND6+P+VtjbgGOPrQmPoJoEcI3cA==} + '@clerk/clerk-react@5.16.1': + resolution: {integrity: sha512-CTXn4RlNLxZxrohtbmkpsZFwmE51J10ErcLXCnwNjyN0gBz0xX9fJapysGhSR3osrZASaIzmrP8/bCTnNvs7Sg==} engines: {node: '>=18.17.0'} peerDependencies: react: ^18 || ^19.0.0-0 react-dom: ^18 || ^19.0.0-0 - '@clerk/shared@2.12.1': - resolution: {integrity: sha512-ezX/BXnMJ1rH7vX4H3nXpZ3WW8m1lbyri5dHOoDlREUOe/zr9lawUgVx+75aTxrVPtK7u8XwzMj/rT2cMfMmqw==} + '@clerk/shared@2.16.0': + resolution: {integrity: sha512-JM5GZcrnvppV+06v5ebsjTI5vGQFGI6TlrLiAHAfcOo/numCDR3EN5MWQW27kD09bsrRtgBNsPiejTpMqXGWjA==} engines: {node: '>=18.17.0'} peerDependencies: react: ^18 || ^19.0.0-0 @@ -3549,8 +3619,8 @@ packages: react-dom: optional: true - '@clerk/tanstack-start@0.4.25': - resolution: {integrity: sha512-2Z9/yuDVcx+Y43oTwi7rqzU98V2DX5hFax03Mhpv8qP9Tmwtd4ZtdtTMdsnMoAJuaYlYNycwyGWFotWa4RfqDQ==} + '@clerk/tanstack-start@0.5.1': + resolution: {integrity: sha512-vGhvo3z8xOjuSZ295Jghdk63uX8phRnWHRI8VE9+exk9o/rx49oGOVoNugzAiB/pY8JtTL2QJmMDvM8Rc/xpRQ==} engines: {node: '>=18.17.0'} peerDependencies: '@tanstack/react-router': workspace:* @@ -3558,8 +3628,8 @@ packages: react: '>=18 || >=19.0.0-beta' react-dom: '>=18 || >=19.0.0-beta' - '@clerk/types@4.32.0': - resolution: {integrity: sha512-6oqRJsQE8GIThVyPBAO0kJP0pZJ1c11Hz0qabDk9lStoxjHy7fRIcIm/JX5xlA6rjilWBMEgJr4C0a36mJvVXg==} + '@clerk/types@4.34.1': + resolution: {integrity: sha512-FaeHmmoZkIrPrU6AOJ8FUke+LM8ZH072w0Aog6kbQGL3bCBZgUGFy7faTzozxbd+TWTbzVDoTAbDeZCq21UOFg==} engines: {node: '>=18.17.0'} '@cloudflare/kv-asset-handler@0.3.4': @@ -4453,65 +4523,65 @@ packages: resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-react/ast@1.16.1': - resolution: {integrity: sha512-IzJnMy+70w8k1ek06vqdk8g/vxVffOII3c65ggtlQwj2ZBZB/cgUABzNkDV7Hi3VtE0kChZSVSDV6MR76gt5Sg==} + '@eslint-react/ast@1.17.1': + resolution: {integrity: sha512-cPW05RlZtgNwR/99U6YFrNqCCdGurP/dIgN3SWQtPrX91JtP2OmlEyKlTZ3E3lXB6ijS6oZcmp6NljL7M8V+ig==} - '@eslint-react/core@1.16.1': - resolution: {integrity: sha512-QTuROazb1gILdV1h4iON38HbxQpOUMpEPg3etoFrLeH1a9yJIfnsb2t1ryrJh2pqQ+Rw5Lz6za+sJknbuDYxOg==} + '@eslint-react/core@1.17.1': + resolution: {integrity: sha512-4jE0oQnkf2B7BaGkp5cbe9wPmOK2978gaqDJ6sqwvcL1cIkWY0Z1c8Wbq8rWztlVRiPYNpmbmJ+COAYDxzvhhQ==} - '@eslint-react/eslint-plugin@1.16.1': - resolution: {integrity: sha512-QTpBKDbe6DZCsczFkFjqVFRuwbUlMV+FF0XdZLrMRuHEvmcs/6G70wHL/hCe2CruARnGiAQRWnA+IenFw+gAuw==} + '@eslint-react/eslint-plugin@1.17.1': + resolution: {integrity: sha512-/ctfKryjIAJuIsGIjp354g8PZB6AIU61ZXSysEwJhj2lfZt/QHGPBMSE2XlIvwxK6wWqiN+9aSbXHrIvfvAKhg==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: ^4.9.5 || ^5.3.3 peerDependenciesMeta: typescript: optional: true - '@eslint-react/jsx@1.16.1': - resolution: {integrity: sha512-VrlCeVpRkAK5t8tpJRa+IOIdQQ9qTCnS1UOZOSV/SDcgBdsyGFkYzzY1EHUCR9MSxpsS/NPaXBfvrgMJ+llMow==} + '@eslint-react/jsx@1.17.1': + resolution: {integrity: sha512-L6Zdh8zTAMO9LUmXlL/YX/gU4ja9vCkov834LYmSf7k5wbc17fniSqXYVfqQrWl+T11mdyN+alx4IjQti3lHgA==} - '@eslint-react/shared@1.16.1': - resolution: {integrity: sha512-A+R590q0UQuHVlz9YHs+g6HQZ/cyKK/bWw0ykyEAoTNXCDz8lpbxW02dH4iC/9eMEnYs2dQn4as1qkwm9GhrfQ==} + '@eslint-react/shared@1.17.1': + resolution: {integrity: sha512-wB/mBIfuc36Hn2GShHsSO91uqL9lI3VVVwTzJ3YhAN4hJMeZn8fWMuARtwaVeFpmLNYI7hG5wGxo4bHn9yKjsw==} - '@eslint-react/tools@1.16.1': - resolution: {integrity: sha512-X/VbkpltsfLLM14SqAThFEEsvQOCopyFXRwnAJp6HU9SdZEy7CkqRdPz/EQl8w7SEl70/DVFI2kvx0FN8YP3bw==} + '@eslint-react/tools@1.17.1': + resolution: {integrity: sha512-0ZUw3PF70qeBMJLrntmojQLGzy5S05fwor5CxrHIp1MwQoPTphX11WiuCuq5ohHZ+xopqLHASkRrvAPthAalUQ==} - '@eslint-react/types@1.16.1': - resolution: {integrity: sha512-0vNdbVtebCtlGZBFWmZaYvXYhgakKrvQz1WYeSmEMKLSebIgReSrvjqVOhQOvoz41lGIuNYUKfYVSWwj41lyDg==} + '@eslint-react/types@1.17.1': + resolution: {integrity: sha512-jf9kkRRnV65wCQPdVIGBa81VH4CbN/qULSg6YnErKd4Kgbq6l8Sh54lY8Qlo1jj2LHtzo/nACdyWx1aOgkyuDg==} - '@eslint-react/var@1.16.1': - resolution: {integrity: sha512-CZ1fMQPkr60pwx8PLHsn75cl1Ovw/GHo2v6nhdWyhW8VhbBwJ1d1VdjSxPZjHJ4KCZFTuVVunWn7W9gDZmK+ow==} + '@eslint-react/var@1.17.1': + resolution: {integrity: sha512-hsHzVjfj+FmAkk6VRqwYJtEBI+k5fUkw2YgMezTx2HkuWP6BWYprLzD+tRU1IS5jMrvIw1FkcBLfcu0EU5FfLQ==} - '@eslint/config-array@0.18.0': - resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + '@eslint/config-array@0.19.0': + resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.7.0': - resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} + '@eslint/core@0.9.0': + resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.1.0': - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.14.0': - resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==} + '@eslint/js@9.15.0': + resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.2': - resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} + '@eslint/plugin-kit@0.2.3': + resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/ajv-compiler@4.0.1': @@ -4793,22 +4863,22 @@ packages: '@microsoft/api-extractor-model@7.29.4': resolution: {integrity: sha512-LHOMxmT8/tU1IiiiHOdHFF83Qsi+V8d0kLfscG4EvQE9cafiR8blOYr8SfkQKWB1wgEilQgXJX3MIA4vetDLZw==} - '@microsoft/api-extractor-model@7.29.8': - resolution: {integrity: sha512-t3Z/xcO6TRbMcnKGVMs4uMzv/gd5j0NhMiJIGjD4cJMeFJ1Hf8wnLSx37vxlRlL0GWlGJhnFgxvnaL6JlS+73g==} - - '@microsoft/api-extractor@7.47.11': - resolution: {integrity: sha512-lrudfbPub5wzBhymfFtgZKuBvXxoSIAdrvS2UbHjoMT2TjIEddq6Z13pcve7A03BAouw0x8sW8G4txdgfiSwpQ==} - hasBin: true + '@microsoft/api-extractor-model@7.30.0': + resolution: {integrity: sha512-26/LJZBrsWDKAkOWRiQbdVgcfd1F3nyJnAiJzsAgpouPk7LtOIj7PK9aJtBaw/pUXrkotEg27RrT+Jm/q0bbug==} '@microsoft/api-extractor@7.47.4': resolution: {integrity: sha512-HKm+P4VNzWwvq1Ey+Jfhhj/3MjsD+ka2hbt8L5AcRM95lu1MFOYnz3XlU7Gr79Q/ZhOb7W/imAKeYrOI0bFydg==} hasBin: true - '@microsoft/tsdoc-config@0.17.0': - resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} + '@microsoft/api-extractor@7.48.0': + resolution: {integrity: sha512-FMFgPjoilMUWeZXqYRlJ3gCVRhB7WU/HN88n8OLqEsmsG4zBdX/KQdtJfhq95LQTQ++zfu0Em1LLb73NqRCLYQ==} + hasBin: true + + '@microsoft/tsdoc-config@0.17.1': + resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==} - '@microsoft/tsdoc@0.15.0': - resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} + '@microsoft/tsdoc@0.15.1': + resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} '@module-federation/runtime-tools@0.5.1': resolution: {integrity: sha512-nfBedkoZ3/SWyO0hnmaxuz0R0iGPSikHZOAZ0N/dVSQaIzlffUo35B5nlC2wgWIc0JdMZfkwkjZRrnuuDIJbzg==} @@ -4822,8 +4892,8 @@ packages: '@module-federation/webpack-bundler-runtime@0.5.1': resolution: {integrity: sha512-mMhRFH0k2VjwHt3Jol9JkUsmI/4XlrAoBG3E0o7HoyoPYv1UFOWyqAflfANcUPgbYpvqmyLzDcO+3IT36LXnrA==} - '@mswjs/interceptors@0.36.10': - resolution: {integrity: sha512-GXrJgakgJW3DWKueebkvtYgGKkxA7s0u5B0P5syJM5rvQUnrpLPigvci8Hukl7yEM+sU06l+er2Fgvx/gmiRgg==} + '@mswjs/interceptors@0.37.1': + resolution: {integrity: sha512-SvE+tSpcX884RJrPCskXxoS965Ky/pYABDEhWW6oeSRhpUDLrS5nTvT5n1LLSDVDYvty4imVmXsy+3/ROVuknA==} engines: {node: '>=18'} '@napi-rs/wasm-runtime@0.2.4': @@ -4904,66 +4974,62 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nrwl/tao@19.8.10': - resolution: {integrity: sha512-fY/g5r4mqDrxcyHeg2ggi1U4B+24y8JZISmn4l6pXDXr13hdTuBv6nNxJhogrb/RW24IkweqYtAsHjh1d5CoYw==} - hasBin: true - - '@nx/nx-darwin-arm64@19.8.10': - resolution: {integrity: sha512-zZ0EI1DjFLb5aebjZZuR89irSWZMse9E13QymZLsC8+WE2PMvcwkwUfbMEIhIze88zsThcF1R5U1qZKmrgcD9w==} + '@nx/nx-darwin-arm64@20.1.3': + resolution: {integrity: sha512-m0Rwawht7Jwq6u2QPmAtsv+khFsTUIZUfiO1kXGcKOX3nQdJ7i82zLRd5yGbrDTAyRbAsgWO3v8zWQyhC1oGjw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@19.8.10': - resolution: {integrity: sha512-8vypmuiwIe3t0aaE1b3G34tx6mIUW6a4nbbhMOISWO2ehaX/bnMMbIbrkp/sAP1fYhydbXIqcgixWsN/h3qu1A==} + '@nx/nx-darwin-x64@20.1.3': + resolution: {integrity: sha512-WsQK1sxOJFzD0vOtFqSHpLzWuFO4vG7G1PUyJ1Y5mPo4vbRslqoAUTqF7n42bBRPY/lE2aT7BqAAj8hm4PgcnQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@19.8.10': - resolution: {integrity: sha512-onwAPBoK6nMqniDuHMb4loGuXazodiql23VOlFxe4oIKZKa1A1/l8Z7BW12rW7dpIuL44T+Z83ZTSYZOR84cag==} + '@nx/nx-freebsd-x64@20.1.3': + resolution: {integrity: sha512-HV57XMtCVPy/0LZtifcEHbOpVNKLTOBFUoUXkmGYBmAKfw7lccfF600/tunTCZ4aijsD6+opEeGHzlDUK0Ir1w==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@19.8.10': - resolution: {integrity: sha512-DqDIxe+i8y34srvI5tO09aSai71a620bQvv3dJTfon2Vbr4i4wUsqA99hXFEwEeI2Sjva3vM2eGnEIMEhLAiXQ==} + '@nx/nx-linux-arm-gnueabihf@20.1.3': + resolution: {integrity: sha512-RzP0vc4yhXktKxz7iiwVYFkgpyb5TN/lLGcKLMM4kjuyYJ0IUX58Kk5FDoqCy+HMKiMfGyTOT4fP+/UEsgW6qQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@19.8.10': - resolution: {integrity: sha512-JEFOtH6vIJB8f2aOg7ZxbPLjLdh04jpVbycE8F4l3W0DjaW7j+sb0vFlsRNsZPq9ZlP9aLXsx/o8ebyEZqCzmQ==} + '@nx/nx-linux-arm64-gnu@20.1.3': + resolution: {integrity: sha512-WCaU5AiGx21C3t3v4+d7nrA1r5Xc5Wk7yVxZFWh+mKHdcqk1JebDIr1qj/7yoKHD2R9k2Vp5x5Kd0pzAGS8AyA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@19.8.10': - resolution: {integrity: sha512-KWj7Z/dtwwbQDQi/zA3jBCd1UJ9o8BUGzsLZn0+6fG1ztHw+wy6hzBNvjW6IAabAfMZSozFb3pTFr6gr2UdfZQ==} + '@nx/nx-linux-arm64-musl@20.1.3': + resolution: {integrity: sha512-lKAvR9jNyx/qvk3UZGYNJAoK5mkZc+rDD4gA23tOGYPjNrWHJEgbWycCk5A9tQ4QX4CskCNmkgQx0lOMdLeXsw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@19.8.10': - resolution: {integrity: sha512-Soxogm5eql+bj4SIY8uFQGJAh/ODsFhiztaA+NxkYnRJOrLIWw+gprHDpyTUi2y4erSj1lHu+DiIZQ43cHq2fw==} + '@nx/nx-linux-x64-gnu@20.1.3': + resolution: {integrity: sha512-RKNm7RnTgCSl2HstDb/qMKO9r8o81EUe+UZB5fgjNR89PB757iHUX30kM0xbkiRZui1vIkMAvWcNsidxBnGGfg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@19.8.10': - resolution: {integrity: sha512-IDEgKqlY0XMNkiZIcKmvhClRRi/6z2fFHvjsLDOmghqzUS8vyRSeEaHiTiKAh5yzNL2gkK96Mcx6OLi4Lrrc4Q==} + '@nx/nx-linux-x64-musl@20.1.3': + resolution: {integrity: sha512-aCXEWt1WQDPLzgp5I+NfqaP0y4ZKi2aauZMnSO6KE54MnZmvB+B4HQMZvqHM3dfU0jluvLRBmVIPLeTHiCccrw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@19.8.10': - resolution: {integrity: sha512-o9YhREK0ogXxKDwE4ci6HtWJX3DGigpvQFK9U8VxzHZQb/sOOVgAU8lNpneH50o1BsPsfPFZFmpt9oYw61ps3Q==} + '@nx/nx-win32-arm64-msvc@20.1.3': + resolution: {integrity: sha512-625rRYFfoCTu73bjDZ+jOLU0lvEN2heiiUGlErc6GchfcWuIcZy16oyYQzZX69UQqryGkkZVTaoyMXhGS5p7Tg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@19.8.10': - resolution: {integrity: sha512-gayjQyHU18Jglt+95f4DsnTOETW8+pX6zNbd9wPFyf6PQCmoc62kl07/NxJMzRNkzwK7p3CzS7aQlCe4wJf+Xg==} + '@nx/nx-win32-x64-msvc@20.1.3': + resolution: {integrity: sha512-XUbxSB6vUWoixNyCXkaXGkeUy/syqFOBXVh5Wbi6bqwTJ5o6EFUxCnzK/JsK55dfOz+I/jMXJzDWYEDAsikTSA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -5075,8 +5141,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.48.2': - resolution: {integrity: sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==} + '@playwright/test@1.49.0': + resolution: {integrity: sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==} engines: {node: '>=18'} hasBin: true @@ -5272,12 +5338,12 @@ packages: '@redocly/config@0.16.0': resolution: {integrity: sha512-t9jnODbUcuANRSl/K4L9nb12V+U5acIHnVSl26NWrtSdDZVtoqUXk2yGFPZzohYf62cCfEQUT8ouJ3bhPfpnJg==} - '@redocly/openapi-core@1.25.11': - resolution: {integrity: sha512-bH+a8izQz4fnKROKoX3bEU8sQ9rjvEIZOqU6qTmxlhOJ0NsKa5e+LmU18SV0oFeg5YhWQhhEDihXkvKJ1wMMNQ==} + '@redocly/openapi-core@1.25.13': + resolution: {integrity: sha512-8O2IdHCHU1EaGc74/Z5nTItfPrakvPEwZ6sf16c/u5ZJJBo3SKbqM2vOLk4spY4Tn0eaAwUxw2b0kXueemp+iw==} engines: {node: '>=14.19.0', npm: '>=7.0.0'} - '@remix-run/react@2.14.0': - resolution: {integrity: sha512-uQcy5gxazHtpislgonx2dwRuR/CbvYUeguQxDgawd+dAyoglK2rFx58+F6Kj0Vjw6v/iuvxibA/lEAiAaB4ZmQ==} + '@remix-run/react@2.15.0': + resolution: {integrity: sha512-puqDbi9N/WfaUhzDnw2pACXtCB7ukrtFJ9ILwpEuhlaTBpjefifJ89igokW+tt1ePphIFMivAm/YspcbZdCQsA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0.0 @@ -5291,8 +5357,8 @@ packages: resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==} engines: {node: '>=14.0.0'} - '@remix-run/server-runtime@2.14.0': - resolution: {integrity: sha512-9Th9UzDaoFFBD7zA5mRI1KT8JktFLN4ij9jPygrKBhG/kYmNIvhcMtq9VyjcbMvFK5natTyhOhrrKRIHtijD4w==} + '@remix-run/server-runtime@2.15.0': + resolution: {integrity: sha512-FuM8vAg1sPskf4wn0ivbuj/7s9Qdh2wnKu+sVXqYz0a95gH5b73TuMzk6n3NMSkFVKKc6+UmlG1WLYre7L2LTg==} engines: {node: '>=18.0.0'} peerDependencies: typescript: ^5.1.0 @@ -5407,98 +5473,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.26.0': - resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} + '@rollup/rollup-android-arm-eabi@4.27.4': + resolution: {integrity: sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.26.0': - resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} + '@rollup/rollup-android-arm64@4.27.4': + resolution: {integrity: sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.26.0': - resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} + '@rollup/rollup-darwin-arm64@4.27.4': + resolution: {integrity: sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.26.0': - resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} + '@rollup/rollup-darwin-x64@4.27.4': + resolution: {integrity: sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.26.0': - resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} + '@rollup/rollup-freebsd-arm64@4.27.4': + resolution: {integrity: sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.26.0': - resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} + '@rollup/rollup-freebsd-x64@4.27.4': + resolution: {integrity: sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': - resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} + '@rollup/rollup-linux-arm-gnueabihf@4.27.4': + resolution: {integrity: sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.26.0': - resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} + '@rollup/rollup-linux-arm-musleabihf@4.27.4': + resolution: {integrity: sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.26.0': - resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} + '@rollup/rollup-linux-arm64-gnu@4.27.4': + resolution: {integrity: sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.26.0': - resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} + '@rollup/rollup-linux-arm64-musl@4.27.4': + resolution: {integrity: sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': - resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': + resolution: {integrity: sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.26.0': - resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} + '@rollup/rollup-linux-riscv64-gnu@4.27.4': + resolution: {integrity: sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.26.0': - resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} + '@rollup/rollup-linux-s390x-gnu@4.27.4': + resolution: {integrity: sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.26.0': - resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} + '@rollup/rollup-linux-x64-gnu@4.27.4': + resolution: {integrity: sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.26.0': - resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} + '@rollup/rollup-linux-x64-musl@4.27.4': + resolution: {integrity: sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.26.0': - resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} + '@rollup/rollup-win32-arm64-msvc@4.27.4': + resolution: {integrity: sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.26.0': - resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} + '@rollup/rollup-win32-ia32-msvc@4.27.4': + resolution: {integrity: sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.26.0': - resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} + '@rollup/rollup-win32-x64-msvc@4.27.4': + resolution: {integrity: sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==} cpu: [x64] os: [win32] - '@rsbuild/core@1.1.0': - resolution: {integrity: sha512-SyQlJjWgR1VwLt4nuiY0g6L9INv2koH232TeDZuopvNgbRytskD3kJ8bbGWBBXsQjZjtqBEh5ishqf8CIfF8dQ==} + '@rsbuild/core@1.1.4': + resolution: {integrity: sha512-fN13hH6Ag0WgCCDUJErNvGs39hSePr8MTaJu1TjUZbFAY3DtOsUHhEb2V5zCUiaeMLMz7ef+krj7+duAJkizog==} engines: {node: '>=16.7.0'} hasBin: true @@ -5507,56 +5573,56 @@ packages: peerDependencies: '@rsbuild/core': 1.x - '@rspack/binding-darwin-arm64@1.1.1': - resolution: {integrity: sha512-BnvGPWObGZ2ZVnxe4K3NKwAWxYubOJvfwporXWD3NgkzeV5xJqGBFWRDnr/nfsFpgCTI8goxK5db/wb7NVzLqg==} + '@rspack/binding-darwin-arm64@1.1.3': + resolution: {integrity: sha512-gpLUBMDAS/uEcnE+ODy1ILTeyp1oM4QCq8rRhKHuOfsIe1AZ9Mct59v2omIE/r+R4dnbJ0ikIpto9qJZ6P2u1A==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.1.1': - resolution: {integrity: sha512-aiwJRkPGAg99vCrG/C9I87Fh9TShOAkzpf2yeJEZL4gwTj9A8wrc/xlrCFn1BDkbPnGYz62oCR7z6JLIDgYLuA==} + '@rspack/binding-darwin-x64@1.1.3': + resolution: {integrity: sha512-m1G7SzkRfr1oLgghbAxUwj1J7hSKhtskQZiVeqe5tewKimFr6xLpKSTLTnEtlW0gdGNf1+dRMX/4kLMwhOdY7g==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@1.1.1': - resolution: {integrity: sha512-2Z8YxH4+V0MiNhVQ2IFELDIFtykIdKgmOmGr/PuRQMHMxSn8AKo5uqBD30sZqe0+gryplZwK3hyrBETHOmSltQ==} + '@rspack/binding-linux-arm64-gnu@1.1.3': + resolution: {integrity: sha512-MpOrO1oppxAm8J1ztNz6G5DG/oL9ZLHmIz9vYNV6PKnk+MPhCXqfhFmQ2hZm5VIVKuOobfYEJiDUqKg2MLg8gA==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-musl@1.1.1': - resolution: {integrity: sha512-l+cJd3wAxBt523Min7qN+G5s3SU0rif9Yq2AFWWl+R6IvmnMlMq6sAAyiyogUidFmJ5XIKSJJBTBnvLF3g4ezg==} + '@rspack/binding-linux-arm64-musl@1.1.3': + resolution: {integrity: sha512-PnUDC1JxT6a5hJW0hhJ9ubWk3R+nk7eLXyNaORHyQH4k8o89Zm5GYoKnDgO4eRy41NB9/aBJQJRGSRn0iAsZgw==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-x64-gnu@1.1.1': - resolution: {integrity: sha512-goaDDrXNulR7FcvUfj8AjhF3g7IXUttjQ4QsfY2xz7s20tDETlq5HpcM2A8GEI6lqkPAv/ITU0AynLK7bfyr4A==} + '@rspack/binding-linux-x64-gnu@1.1.3': + resolution: {integrity: sha512-+6JgyKXOp2QrHzlru95mge70tDkYlaY4NNE9xyrdj6PgTnM9cVPx4sLVhHC9+tWXaTFnccfEe9Tt6LjKnjHGaA==} cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-musl@1.1.1': - resolution: {integrity: sha512-T4RRn9ycxUHAfZJpfNRy+DdfevTXIZqox+NNg/N3d+Pqj5QS3zqpHBfPLC2mIIN1dw55BoshRIP2C1hUG0Fk6g==} + '@rspack/binding-linux-x64-musl@1.1.3': + resolution: {integrity: sha512-X0TJTVL1Roqq/tvN26QO4u62x2xp5tE0dlhwhbeCHrBdgBzc+PHvcv/8lclRcq6lDPzceAgcnNX/+RbWg0DzKg==} cpu: [x64] os: [linux] - '@rspack/binding-win32-arm64-msvc@1.1.1': - resolution: {integrity: sha512-FHIPpueFc/+vWdZeVWRYWW0Z0IsDIHy+WhWxITeLjOVGsUN4rhaztYOausD7WsOlOhmR0SddeOYtRs/BR35wig==} + '@rspack/binding-win32-arm64-msvc@1.1.3': + resolution: {integrity: sha512-Lvpp5Q30YiPNkuOFPawp2al2CTWElPeG3X0E9LFIfPdVkLc/e2nkf5a6zSYtnbD2oaskzQIYN/k27fWqWWcVHA==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.1.1': - resolution: {integrity: sha512-pgXE45ATK/Iil/oXlqaGoWZ0x3SoQk4dAjJGK7TzQuek6UEoJbLQL+W1ufe/iUxz67ICAmUvq5NH2ftOhEE2SA==} + '@rspack/binding-win32-ia32-msvc@1.1.3': + resolution: {integrity: sha512-tC+xXcbTRX7l+NFnlGK8UhDIJrKma7S/MA1KDol23/I3Vw67EcaHDwG+q2v7uiJsxn9XooIOSCJhPKmUUfZNXg==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@1.1.1': - resolution: {integrity: sha512-z/kdbB+uhMi+H4podjTE7bfUpahACUuPOZPUtAAA6PMgRyiigBTK5UFYN35D30MONwZP4yNiLvPjurwiLw7EpA==} + '@rspack/binding-win32-x64-msvc@1.1.3': + resolution: {integrity: sha512-jeRaPJtsD/+m1QINgoDMA6D3kOcTwSHVmGSxR6fznLA5BKa76m8lewuALYxHHq9/qcgwJ4e6UtiwrO2JL3vxVQ==} cpu: [x64] os: [win32] - '@rspack/binding@1.1.1': - resolution: {integrity: sha512-BRFliHbErqWrUo9X9bdik9WTRi6EgrJSQbbUiVeIYgW4gzYdfHUohgTkWo2Byu36LZolKrEjq/Uq2A8q/tc0YA==} + '@rspack/binding@1.1.3': + resolution: {integrity: sha512-fB1ziJ1UXO2P4ZDO+dviSNuxknUqrz6QQ6QGfpC+S1ClUy1HOhHXss/Yn78B/R9py6dlqZzmhmhz2d+XzFVApA==} - '@rspack/core@1.1.1': - resolution: {integrity: sha512-khYNAho2evyc7N5mYk4K6B587ou/dN1CDCqWrSDeZZNFFQHtuEp5T3kL1ntsKY7agObQhI60osCYaxFUPs0yww==} + '@rspack/core@1.1.3': + resolution: {integrity: sha512-LdM1mAlBtEh9ozbpyWVW5uuL+aJMjYqd531pH5/i/EPDKNrOLrQWVNMa2dh07qLwJZXoTFMf7LWA7QNsmBUPJg==} engines: {node: '>=16.0.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -5576,16 +5642,16 @@ packages: react-refresh: optional: true - '@rushstack/node-core-library@5.5.1': - resolution: {integrity: sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g==} + '@rushstack/node-core-library@5.10.0': + resolution: {integrity: sha512-2pPLCuS/3x7DCd7liZkqOewGM0OzLyCacdvOe8j6Yrx9LkETGnxul1t7603bIaB8nUAooORcct9fFDOQMbWAgw==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/node-core-library@5.9.0': - resolution: {integrity: sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==} + '@rushstack/node-core-library@5.5.1': + resolution: {integrity: sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -5603,8 +5669,8 @@ packages: '@types/node': optional: true - '@rushstack/terminal@0.14.2': - resolution: {integrity: sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==} + '@rushstack/terminal@0.14.3': + resolution: {integrity: sha512-csXbZsAdab/v8DbU1sz7WC2aNaKArcdS/FPmXMOXEj/JBBZMvDK0+1b4Qao0kkG0ciB1Qe86/Mb68GjH6/TnMw==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -5614,20 +5680,20 @@ packages: '@rushstack/ts-command-line@4.22.3': resolution: {integrity: sha512-edMpWB3QhFFZ4KtSzS8WNjBgR4PXPPOVrOHMbb7kNpmQ1UFS9HdVtjCXg1H5fG+xYAbeE+TMPcVPUyX2p84STA==} - '@rushstack/ts-command-line@4.23.0': - resolution: {integrity: sha512-jYREBtsxduPV6ptNq8jOKp9+yx0ld1Tb/Tkdnlj8gTjazl1sF3DwX2VbluyYrNd0meWIL0bNeer7WDf5tKFjaQ==} + '@rushstack/ts-command-line@4.23.1': + resolution: {integrity: sha512-40jTmYoiu/xlIpkkRsVfENtBq4CW3R4azbL0Vmda+fMwHWqss6wwf/Cy/UJmMqIzpfYc2OTnjYP1ZLD3CmyeCA==} - '@shikijs/core@1.22.2': - resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==} + '@shikijs/core@1.23.1': + resolution: {integrity: sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==} - '@shikijs/engine-javascript@1.22.2': - resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==} + '@shikijs/engine-javascript@1.23.1': + resolution: {integrity: sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==} - '@shikijs/engine-oniguruma@1.22.2': - resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==} + '@shikijs/engine-oniguruma@1.23.1': + resolution: {integrity: sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==} - '@shikijs/types@1.22.2': - resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==} + '@shikijs/types@1.23.1': + resolution: {integrity: sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==} '@shikijs/vscode-textmate@9.3.0': resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} @@ -5643,11 +5709,11 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} - '@stylistic/eslint-plugin-js@2.10.1': - resolution: {integrity: sha512-IikL/RKy9Sk2UMDUUpqrEcwDeYzUEt6SaL2/UVCFuVQxKACHSgStT0NxXkxZmBOUforaU52FPf2Su07FYH5s5g==} + '@stylistic/eslint-plugin-js@2.11.0': + resolution: {integrity: sha512-btchD0P3iij6cIk5RR5QMdEhtCCV0+L6cNheGhGCd//jaHILZMTi/EOqgEDAf1s4ZoViyExoToM+S2Iwa3U9DA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 '@supabase/auth-js@2.65.1': resolution: {integrity: sha512-IA7i2Xq2SWNCNMKxwmPlHafBQda0qtnFr8QnyyBr+KaSxoXXqEzFCnQ1dGTy6bsZjVBgXu++o3qrDypTspaAPw==} @@ -5676,68 +5742,68 @@ packages: '@supabase/supabase-js@2.46.1': resolution: {integrity: sha512-HiBpd8stf7M6+tlr+/82L8b2QmCjAD8ex9YdSAKU+whB/SHXXJdus1dGlqiH9Umy9ePUuxaYmVkGd9BcvBnNvg==} - '@swc/core-darwin-arm64@1.9.2': - resolution: {integrity: sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==} + '@swc/core-darwin-arm64@1.9.3': + resolution: {integrity: sha512-hGfl/KTic/QY4tB9DkTbNuxy5cV4IeejpPD4zo+Lzt4iLlDWIeANL4Fkg67FiVceNJboqg48CUX+APhDHO5G1w==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.9.2': - resolution: {integrity: sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==} + '@swc/core-darwin-x64@1.9.3': + resolution: {integrity: sha512-IaRq05ZLdtgF5h9CzlcgaNHyg4VXuiStnOFpfNEMuI5fm5afP2S0FHq8WdakUz5WppsbddTdplL+vpeApt/WCQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.9.2': - resolution: {integrity: sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==} + '@swc/core-linux-arm-gnueabihf@1.9.3': + resolution: {integrity: sha512-Pbwe7xYprj/nEnZrNBvZfjnTxlBIcfApAGdz2EROhjpPj+FBqBa3wOogqbsuGGBdCphf8S+KPprL1z+oDWkmSQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.9.2': - resolution: {integrity: sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==} + '@swc/core-linux-arm64-gnu@1.9.3': + resolution: {integrity: sha512-AQ5JZiwNGVV/2K2TVulg0mw/3LYfqpjZO6jDPtR2evNbk9Yt57YsVzS+3vHSlUBQDRV9/jqMuZYVU3P13xrk+g==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.9.2': - resolution: {integrity: sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==} + '@swc/core-linux-arm64-musl@1.9.3': + resolution: {integrity: sha512-tzVH480RY6RbMl/QRgh5HK3zn1ZTFsThuxDGo6Iuk1MdwIbdFYUY034heWUTI4u3Db97ArKh0hNL0xhO3+PZdg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.9.2': - resolution: {integrity: sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==} + '@swc/core-linux-x64-gnu@1.9.3': + resolution: {integrity: sha512-ivXXBRDXDc9k4cdv10R21ccBmGebVOwKXT/UdH1PhxUn9m/h8erAWjz5pcELwjiMf27WokqPgaWVfaclDbgE+w==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.9.2': - resolution: {integrity: sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==} + '@swc/core-linux-x64-musl@1.9.3': + resolution: {integrity: sha512-ILsGMgfnOz1HwdDz+ZgEuomIwkP1PHT6maigZxaCIuC6OPEhKE8uYna22uU63XvYcLQvZYDzpR3ms47WQPuNEg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.9.2': - resolution: {integrity: sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==} + '@swc/core-win32-arm64-msvc@1.9.3': + resolution: {integrity: sha512-e+XmltDVIHieUnNJHtspn6B+PCcFOMYXNJB1GqoCcyinkEIQNwC8KtWgMqUucUbEWJkPc35NHy9k8aCXRmw9Kg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.9.2': - resolution: {integrity: sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==} + '@swc/core-win32-ia32-msvc@1.9.3': + resolution: {integrity: sha512-rqpzNfpAooSL4UfQnHhkW8aL+oyjqJniDP0qwZfGnjDoJSbtPysHg2LpcOBEdSnEH+uIZq6J96qf0ZFD8AGfXA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.9.2': - resolution: {integrity: sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==} + '@swc/core-win32-x64-msvc@1.9.3': + resolution: {integrity: sha512-3YJJLQ5suIEHEKc1GHtqVq475guiyqisKSoUnoaRtxkDaW5g1yvPt9IoSLOe2mRs7+FFhGGU693RsBUSwOXSdQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.9.2': - resolution: {integrity: sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==} + '@swc/core@1.9.3': + resolution: {integrity: sha512-oRj0AFePUhtatX+BscVhnzaAmWjpfAeySpM1TCbxA1rtBDeH/JDhi5yYzAKneDYtVtBvA7ApfeuzhMC9ye4xSg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -5754,28 +5820,28 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/types@0.1.15': - resolution: {integrity: sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==} + '@swc/types@0.1.17': + resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} '@tanstack/config@0.14.0': resolution: {integrity: sha512-l4c6eeowRzZ3kQ7j6o3VLpATFuvJYa9uRoq0A2J0iGYfEdF2uVRYnm53WXyGM1/XQKHHKZlr2WG3Z2675eAgeA==} engines: {node: '>=18'} hasBin: true - '@tanstack/query-core@5.59.20': - resolution: {integrity: sha512-e8vw0lf7KwfGe1if4uPFhvZRWULqHjFcz3K8AebtieXvnMOz5FSzlZe3mTLlPuUBcydCnBRqYs2YJ5ys68wwLg==} + '@tanstack/query-core@5.60.6': + resolution: {integrity: sha512-tI+k0KyCo1EBJ54vxK1kY24LWj673ujTydCZmzEZKAew4NqZzTaVQJEuaG1qKj2M03kUHN46rchLRd+TxVq/zQ==} - '@tanstack/query-devtools@5.59.20': - resolution: {integrity: sha512-vxhuQ+8VV4YWQSFxQLsuM+dnEKRY7VeRzpNabFXdhEwsBYLrjXlF1pM38A8WyKNLqZy8JjyRO8oP4Wd/oKHwuQ==} + '@tanstack/query-devtools@5.61.3': + resolution: {integrity: sha512-AoRco+DMw7Xy9fFs+5BxBop82YPKs1/tWpTPoO1iYVwPLmAU+znnLfWyZ8Qr5OiEqoS0dCyEe6F5V11/JkCK/A==} - '@tanstack/react-query-devtools@5.59.20': - resolution: {integrity: sha512-AL/eQS1NFZhwwzq2Bq9Gd8wTTH+XhPNOJlDFpzPMu9NC5CQVgA0J8lWrte/sXpdWNo5KA4hgHnEdImZsF4h6Lw==} + '@tanstack/react-query-devtools@5.61.3': + resolution: {integrity: sha512-bR/TaiOSqTq0M5dmYY+pJeSnl5QAuCaRRmJg+Q5hEqt6uTHgKz5WO4jdi8BywRJiZhpXLirlUAIOXJsZ8ukqSA==} peerDependencies: - '@tanstack/react-query': ^5.59.20 + '@tanstack/react-query': ^5.61.3 react: ^18 || ^19 - '@tanstack/react-query@5.59.20': - resolution: {integrity: sha512-Zly0egsK0tFdfSbh5/mapSa+Zfc3Et0Zkar7Wo5sQkFzWyB3p3uZWOHR2wrlAEEV2L953eLuDBtbgFvMYiLvUw==} + '@tanstack/react-query@5.61.3': + resolution: {integrity: sha512-c3Oz9KaCBapGkRewu7AJLhxE9BVqpMcHsd3KtFxSd7FSCu2qGwqfIN37zbSGoyk6Ix9LGZBNHQDPI6GpWABnmA==} peerDependencies: react: ^18 || ^19 @@ -5820,22 +5886,22 @@ packages: '@types/react-dom': optional: true - '@trpc/client@11.0.0-rc.630': - resolution: {integrity: sha512-kHs2pa6oGiHRgF+hzLerGP4Vqm16t9KUrjunijIXPVco6oiYQ6IYy2vWOEgZk21/KjrwxBIv3Q7bqAZCQ7T3PA==} + '@trpc/client@11.0.0-rc.638': + resolution: {integrity: sha512-zKOZZwUMcF4cvm04aawG7dP6M9dCs7FEWHuiBy7xmU+RIonsgpolLMRXm7bFie5EhQOGizhLRGnhneGwjNzWMA==} peerDependencies: - '@trpc/server': 11.0.0-rc.630+73639524c + '@trpc/server': 11.0.0-rc.638+09a76869e - '@trpc/react-query@11.0.0-rc.630': - resolution: {integrity: sha512-V/1xSfxznRaS+hSKk/B92+WfBqzdjJ4czoQxtlNS3ny+hsMPhhYNZVGa1laQDHTIeJUOBlUf7k+HKj0McK6L9g==} + '@trpc/react-query@11.0.0-rc.638': + resolution: {integrity: sha512-DiNfWXQ6FEedUbn9YzxSlIeAv17mYHUwUMPdQBgcvfWBviNQZoeyXWAsjq9LD+DVsfNfmcS6aSD+Y4KG4P4lcA==} peerDependencies: '@tanstack/react-query': ^5.59.15 - '@trpc/client': 11.0.0-rc.630+73639524c - '@trpc/server': 11.0.0-rc.630+73639524c + '@trpc/client': 11.0.0-rc.638+09a76869e + '@trpc/server': 11.0.0-rc.638+09a76869e react: '>=18.2.0' react-dom: '>=18.2.0' - '@trpc/server@11.0.0-rc.630': - resolution: {integrity: sha512-4zmlqbLscjJNIsj8VuY38vdaDFxukdmqOOO4y3CoXQBNSLLtcpeecoRUHISpEcImtfvqEAW+gikxAxpoicUNkQ==} + '@trpc/server@11.0.0-rc.638': + resolution: {integrity: sha512-ho3sRx66UuncKTtuy7UKbYP8IB4qaPj2gmdDIIdQOftta1oYzEsQuYiBozQAIAmX9TbV5FaqAdBUl2alFBSbdg==} '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} @@ -5943,8 +6009,8 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@22.9.0': - resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} + '@types/node@22.9.3': + resolution: {integrity: sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==} '@types/phoenix@1.6.5': resolution: {integrity: sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==} @@ -6009,52 +6075,53 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@typescript-eslint/eslint-plugin@8.14.0': - resolution: {integrity: sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==} + '@typescript-eslint/eslint-plugin@8.15.0': + resolution: {integrity: sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@8.14.0': - resolution: {integrity: sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==} + '@typescript-eslint/parser@8.15.0': + resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/rule-tester@8.14.0': - resolution: {integrity: sha512-q5Gi0CMFLojXZMvdWTIjOcBtV3qUg2xtUJocBxkd6PZ5YfHw9bd/Q+P5vtBu1Mrjs8OhId5WpOaMqjbUXLLBYA==} + '@typescript-eslint/rule-tester@8.15.0': + resolution: {integrity: sha512-G9lQX5jX64wrP5nI1nAEBj48dgyYFH8f0pjruQD9byK0Ln2cOyZPMt51rnzsm5ru8Nc7exV5SYyRppEhzaqSfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 - '@typescript-eslint/scope-manager@8.14.0': - resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} + '@typescript-eslint/scope-manager@8.15.0': + resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.14.0': - resolution: {integrity: sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==} + '@typescript-eslint/type-utils@8.15.0': + resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^9.15.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@8.14.0': - resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} + '@typescript-eslint/types@8.15.0': + resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.14.0': - resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} + '@typescript-eslint/typescript-estree@8.15.0': + resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -6062,14 +6129,18 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.14.0': - resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} + '@typescript-eslint/utils@8.15.0': + resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/visitor-keys@8.14.0': - resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} + '@typescript-eslint/visitor-keys@8.15.0': + resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -6154,11 +6225,11 @@ packages: '@volar/typescript@2.4.10': resolution: {integrity: sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==} - '@vue/compiler-core@3.5.12': - resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@vue/compiler-dom@3.5.12': - resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -6179,8 +6250,8 @@ packages: typescript: optional: true - '@vue/shared@3.5.12': - resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} '@web3-storage/multipart-parser@1.0.0': resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} @@ -6264,9 +6335,9 @@ packages: '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - '@yarnpkg/parsers@3.0.0-rc.46': - resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} - engines: {node: '>=14.15.0'} + '@yarnpkg/parsers@3.0.2': + resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} + engines: {node: '>=18.12.0'} '@zkochan/js-yaml@0.0.7': resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} @@ -6396,10 +6467,6 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -6455,8 +6522,8 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} - arktype@2.0.0-rc.23: - resolution: {integrity: sha512-P0e40t3J4rc3xRHzPjzyOK1CgdgKswQJOFBgFLuehSiGcjAuRx6p/9lDVPzXZ62m7q5yRUqFiX8ovN5FjWQjMQ==} + arktype@2.0.0-rc.24: + resolution: {integrity: sha512-uZB2XXDMzkM613MqhDMjB/y4RPSqS55W9Xn+GoVLgdat/Dr6MC/E90YqFsDCon9zusl3NB/A59MzXeR6PcTo4A==} array-each@1.0.1: resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} @@ -6548,8 +6615,8 @@ packages: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - bonjour-service@1.2.1: - resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + bonjour-service@1.3.0: + resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -6632,8 +6699,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001680: - resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} + caniuse-lite@1.0.30001684: + resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -6642,10 +6709,6 @@ packages: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} @@ -6759,16 +6822,10 @@ packages: resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} engines: {node: '>=0.10.0'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -6894,15 +6951,15 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - convex@1.17.0: - resolution: {integrity: sha512-fNv5GYvkGYIUYbn8ANnJWabjVqbFoUfm8ExDxlWxeDZAuafPJmatVaQWHZ1k+oYD0pmnchrhmtmMV8mX7T0s9A==} + convex@1.17.2: + resolution: {integrity: sha512-h12LChRZLGSGTIiqtBMyM7BT+zHxpUjtA1YI2vhFza7x+9E1CYzP8c2En6wKnZ9Dr2PYE4vWqUg8EHkBr0hI5A==} engines: {node: '>=18.0.0', npm: '>=7.0.0'} hasBin: true peerDependencies: '@auth0/auth0-react': ^2.0.1 '@clerk/clerk-react': ^4.12.8 || ^5.0.0 - react: ^17.0.2 || ^18.0.0 - react-dom: ^17.0.2 || ^18.0.0 + react: ^17.0.2 || ^18.0.0 || ^19.0.0-0 + react-dom: ^17.0.2 || ^18.0.0 || ^19.0.0-0 peerDependenciesMeta: '@auth0/auth0-react': optional: true @@ -6935,8 +6992,8 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - cookie@1.0.1: - resolution: {integrity: sha512-Xd8lFX4LM9QEEwxQpF9J9NTUh8pmdJO0cyRJhFiDoLTk2eH8FXlRv2IFGYVadZpqI3j8fhNrSdKCeYPxiAhLXw==} + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} engines: {node: '>=18'} copy-anything@3.0.5: @@ -6965,8 +7022,8 @@ packages: cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.5: - resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} crossws@0.2.4: @@ -7284,8 +7341,11 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.58: - resolution: {integrity: sha512-al2l4r+24ZFL7WzyPTlyD0fC33LLzvxqLCwurtBibVPghRGO9hSTl+tis8t1kD7biPiH/en4U0I7o/nQbYeoVA==} + electron-to-chromium@1.5.64: + resolution: {integrity: sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -7403,7 +7463,7 @@ packages: resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} engines: {node: '>=12'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -7412,45 +7472,45 @@ packages: resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 - eslint-plugin-import-x@4.4.2: - resolution: {integrity: sha512-mDRXPSLQ0UQZQw91QdG4/qZT6hgeW2MJTczAbgPseUZuPEtIjjdPOolXroRkulnOn3fzj6gNgvk+wchMJiHElg==} + eslint-plugin-import-x@4.4.3: + resolution: {integrity: sha512-QBprHvhLsfDhP++2T1NnjsOUt6bLDX3NMHaYwAB1FD3xmYTkdFH+HS1OamGhz28jLkRyIZa6UNAzTxbHnJwz5w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 - eslint-plugin-n@17.13.1: - resolution: {integrity: sha512-97qzhk1z3DdSJNCqT45EslwCu5+LB9GDadSyBItgKUfGsXAmN/aa7LRQ0ZxHffUxUzvgbTPJL27/pE9ZQWHy7A==} + eslint-plugin-n@17.14.0: + resolution: {integrity: sha512-maxPLMEA0rPmRpoOlxEclKng4UpDe+N5BJS4t24I3UKnN109Qcivnfs37KMy84G0af3bxjog5lKctP5ObsvcTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 - eslint-plugin-react-debug@1.16.1: - resolution: {integrity: sha512-AijumibZ+3hBYCGBEeD3GQse5TPnq9z6bX0qfsFwCwWjkW+siL2EEGvaxT7UZp2mcFMvoRJT3E4Jsemn6g0AGw==} + eslint-plugin-react-debug@1.17.1: + resolution: {integrity: sha512-CFcm/sxqzfIsLmQjg364x0FiiTmgEhZZT3ekP4QfSsm1vLWUWlbwopBQQvFDPMNlfhuwXRzYrggbkllGT3B17A==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: ^4.9.5 || ^5.3.3 peerDependenciesMeta: typescript: optional: true - eslint-plugin-react-dom@1.16.1: - resolution: {integrity: sha512-qJFfCR2Rofd5/V9/8EE4sg6a829HcI07DeK7qqTosYRPBYkwbfUUjvizzlTxneMAcPQuFfPZa1UMDTaejKStyg==} + eslint-plugin-react-dom@1.17.1: + resolution: {integrity: sha512-aXV11FswyCDGJYCg3pj5kaxNmM5RYGMvuL+KhaqcX+GKdCIpC9SqiImeLSiWOxVLWYS9kH5Ltz4xU3T3eqOgOA==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: ^4.9.5 || ^5.3.3 peerDependenciesMeta: typescript: optional: true - eslint-plugin-react-hooks-extra@1.16.1: - resolution: {integrity: sha512-OJ4RJZ7n25XnF6+NaFC9dzrec2C+/o4zb4Brs+v6fVVbvQQZirgWamKZMOJo+I1HsHdOULtBo1uwopLfnVBihQ==} + eslint-plugin-react-hooks-extra@1.17.1: + resolution: {integrity: sha512-REPsDs8pn+QUSS+iDY7hOfUiCd4TIM9XNusDM+Nu51mBXezQ0k2f7X0wtlxaAHnt+YX1vzoy6BSylJaUlFMJaA==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: ^4.9.5 || ^5.3.3 peerDependenciesMeta: typescript: @@ -7460,33 +7520,33 @@ packages: resolution: {integrity: sha512-xsiRwaDNF5wWNC4ZHLut+x/YcAxksUd9Rizt7LaEn3bV8VyYRpXnRJQlLOfYaVy9esk4DFP4zPPnoNVjq5Gc0w==} engines: {node: '>=10'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 - eslint-plugin-react-naming-convention@1.16.1: - resolution: {integrity: sha512-qyZ6YW82vLHHQEboc0LhE+9Uga2koCtwEV0XYEWxq3DI3Wg1SlwsfchPYQc7skRh2c/Jh9YG2gzRmNXG4Ul2Ww==} + eslint-plugin-react-naming-convention@1.17.1: + resolution: {integrity: sha512-tVbmeLJK2jC/j8IwtkvpiKnk496hhOD2j+nGEZeYjI9r5oGR/mmTpQx/0/+0HnRJ7a/ctUiuTSDzesQuU3Eu/A==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: ^4.9.5 || ^5.3.3 peerDependenciesMeta: typescript: optional: true - eslint-plugin-react-web-api@1.16.1: - resolution: {integrity: sha512-kQp8NlJESf87tVPyQnzyziVUwbqYhn0Xsrwj8joA8Bxnkt2bsylmDuMoBV0VntNYnfgoUvBj8D/OuZgb1IfLVQ==} + eslint-plugin-react-web-api@1.17.1: + resolution: {integrity: sha512-c02sPQXM+7z5w0JZkgdPltPzdLlDrDxwitbGXmhePyhZYZfDCOa69ROltQPI9b2ClRmMWYgxoPlJsnGaYln6Wg==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: ^4.9.5 || ^5.3.3 peerDependenciesMeta: typescript: optional: true - eslint-plugin-react-x@1.16.1: - resolution: {integrity: sha512-Oqu3DMLHXEisvXrAzk7lyZ57W6MlP8nOo3/PkcKtxImB5fCGYILKJY22Jz6hfWZ3MhTzEuVZru8x26Mev+9thQ==} + eslint-plugin-react-x@1.17.1: + resolution: {integrity: sha512-Iq9Eaye/+LpdOcU/qRbib4cC6EAL9bfIBH2+IDWQXLyY/HAXnmBFDJgotEPOLymIIOKhgjzfX03nkdfBIqZ3zA==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: ^4.9.5 || ^5.3.3 peerDependenciesMeta: typescript: @@ -7496,7 +7556,7 @@ packages: resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} peerDependencies: '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 - eslint: ^9.14.0 + eslint: ^9.15.0 peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true @@ -7517,8 +7577,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.14.0: - resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==} + eslint@9.15.0: + resolution: {integrity: sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -7719,8 +7779,8 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} @@ -7758,8 +7818,8 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@11.11.15: - resolution: {integrity: sha512-fib+OpUe4nap4W1vhaDohnPU+42B5s1q+jNkNkb6TfzmDYtRhDyvn4mkRCAD5a2cQKOI3nJZP7yqGYtxnlmleg==} + framer-motion@11.11.17: + resolution: {integrity: sha512-O8QzvoKiuzI5HSAHbcYuL6xU+ZLXbrH7C8Akaato4JzQbX2ULNeniqC2Vo5eiCtFktX9XsJ+7nUhxcl2E2IjpA==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 @@ -7944,10 +8004,6 @@ packages: handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -8208,7 +8264,7 @@ packages: is-immutable-type@5.0.0: resolution: {integrity: sha512-mcvHasqbRBWJznuPqqHRKiJgYAz60sZ0mvO3bN70JbkuK7ksfmgc489aKZYxMEjIbRvyOseaTjaRZLRF/xFeRA==} peerDependencies: - eslint: ^9.14.0 + eslint: ^9.15.0 typescript: '>=4.7.4' is-inside-container@1.0.0: @@ -8363,8 +8419,8 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -8492,8 +8548,8 @@ packages: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} - local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + local-pkg@0.5.1: + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} engines: {node: '>=14'} locate-path@5.0.0: @@ -8563,8 +8619,8 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - magic-string@0.30.12: - resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.13: + resolution: {integrity: sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g==} magicast@0.2.11: resolution: {integrity: sha512-6saXbRDA1HMkqbsvHOU6HBjCVgZT460qheRkLhJQHWAbhXoWESI3Kn/dGGXyKs15FFKR85jsUqFx2sMK0wy/5g==} @@ -8772,8 +8828,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.6.4: - resolution: {integrity: sha512-Pm4LmWQeytDsNCR+A7gt39XAdtH6zQb6jnIKRig0FlvYOn8eksn3s1nXxUfz5KYUjbckof7Z4p2ewzgffPoCbg==} + msw@2.6.6: + resolution: {integrity: sha512-npfIIVRHKQX3Lw4aLWX4wBh+lQwpqdZNyJYB5K/+ktK8NhtkdsTxGK7WDrgknozcVyRI7TOqY6yBS9j2FTR+YQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -8884,8 +8940,8 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - node-gyp-build@4.8.3: - resolution: {integrity: sha512-EMS95CMJzdoSKoIiXo8pxKoL8DYxwIZXYlLmgPb8KUv794abpnLK6ynsCAWNliOjREKruYKdzbh76HHYUHX7nw==} + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true node-machine-id@1.1.12: @@ -8942,8 +8998,8 @@ packages: nwsapi@2.2.13: resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} - nx@19.8.10: - resolution: {integrity: sha512-/QCJZ5jDDzYIKjFNseb3Ehi/PxO3KZdOnH37603doO6B7N/x1yyB7pVTtf4MKVogOcoltmUZbsq975Ery3QFEA==} + nx@20.1.3: + resolution: {integrity: sha512-mipsacEpn0gLd/4NSlOgyHW6Ozl++8ZIfuv42RtZEnS3BaGnnW+L2dkt85h4zffq+zBILoudd/VDFzaLY7Yrfw==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -9011,8 +9067,8 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - oniguruma-to-js@0.4.3: - resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} + oniguruma-to-es@0.4.1: + resolution: {integrity: sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==} open@10.1.0: resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} @@ -9063,8 +9119,8 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-retry@6.2.0: - resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==} + p-retry@6.2.1: + resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} engines: {node: '>=16.17'} p-try@2.2.0: @@ -9214,13 +9270,13 @@ packages: pkg-types@1.2.1: resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} - playwright-core@1.48.2: - resolution: {integrity: sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==} + playwright-core@1.49.0: + resolution: {integrity: sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==} engines: {node: '>=18'} hasBin: true - playwright@1.48.2: - resolution: {integrity: sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==} + playwright@1.49.0: + resolution: {integrity: sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==} engines: {node: '>=18'} hasBin: true @@ -9492,8 +9548,8 @@ packages: pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - psl@1.10.0: - resolution: {integrity: sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==} + psl@1.13.0: + resolution: {integrity: sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==} publint@0.2.12: resolution: {integrity: sha512-YNeUtCVeM4j9nDiTT2OPczmlyzOkIXNtdDZnSuajAxS/nZ6j3t7Vs9SUB4euQNddiltIwu7Tdd3s+hr08fAsMw==} @@ -9665,8 +9721,14 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex@4.4.0: - resolution: {integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==} + regex-recursion@4.2.1: + resolution: {integrity: sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.0.2: + resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} @@ -9777,8 +9839,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.26.0: - resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} + rollup@4.27.4: + resolution: {integrity: sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -9918,8 +9980,8 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - shiki@1.22.2: - resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==} + shiki@1.23.1: + resolution: {integrity: sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==} short-unique-id@5.2.0: resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} @@ -10093,13 +10155,8 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} - - strong-log-transformer@2.1.0: - resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} - engines: {node: '>=4'} - hasBin: true + strip-literal@2.1.1: + resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} styled-jsx@5.1.6: resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} @@ -10129,10 +10186,6 @@ packages: resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} engines: {node: '>=16'} - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -10179,8 +10232,8 @@ packages: tailwind-merge@2.5.4: resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} - tailwindcss@3.4.14: - resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} + tailwindcss@3.4.15: + resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==} engines: {node: '>=14.0.0'} hasBin: true @@ -10227,9 +10280,6 @@ packages: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -10268,8 +10318,8 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} - tinypool@1.0.1: - resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@1.2.0: @@ -10280,11 +10330,11 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tldts-core@6.1.61: - resolution: {integrity: sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==} + tldts-core@6.1.64: + resolution: {integrity: sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==} - tldts@6.1.61: - resolution: {integrity: sha512-rv8LUyez4Ygkopqn+M6OLItAOT9FF3REpPQDkdMx5ix8w4qkuE7Vo2o/vw1nxKQYmJDV8JpAMJQr1b+lTKf0FA==} + tldts@6.1.64: + resolution: {integrity: sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==} hasBin: true tmp@0.0.33: @@ -10392,8 +10442,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.26.1: - resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} + type-fest@4.28.0: + resolution: {integrity: sha512-jXMwges/FVbFRe5lTMJZVEZCrO9kI9c8k0PA/z7nF3bo0JSCCLysvokFjNPIUK/itEMas10MQM+AiHoHt/T/XA==} engines: {node: '>=16'} type-is@1.6.18: @@ -10418,10 +10468,11 @@ packages: peerDependencies: typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x - typescript-eslint@8.14.0: - resolution: {integrity: sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==} + typescript-eslint@8.15.0: + resolution: {integrity: sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^9.15.0 typescript: '*' peerDependenciesMeta: typescript: @@ -10467,8 +10518,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} hasBin: true @@ -10514,8 +10565,8 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} - unimport@3.13.2: - resolution: {integrity: sha512-VKAepeIb6BWLtBl4tmyHY1/7rJgz3ynmZrWf8cU1a+v5Uv/k1gyyAEeGBnYcrwy8bxG5sflxEx4a9VQUqOVHUA==} + unimport@3.13.3: + resolution: {integrity: sha512-dr7sjOoRFCSDlnARFPAMB8OmjIMc6j14qd749VmB1yiqFEYFbi+1jWPTuc22JoFs/t1kHJXT3vQNiwCy3ZvsTA==} unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -10671,8 +10722,8 @@ packages: resolution: {integrity: sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==} engines: {node: '>= 10.13.0'} - valibot@1.0.0-beta.5: - resolution: {integrity: sha512-YrU03cSLH8+UIMMAOnYCpD9+c6k/VDlxu13aVDokt/YwtROICC6kkbQeRbamcEuh/+CbFa4pbqOptiNNbHFSog==} + valibot@1.0.0-beta.7: + resolution: {integrity: sha512-8CsDu3tqyg7quEHMzCOYdQ/d9NlmVQKtd4AlFje6oJpvqo70EIZjSakKIeWltJyNAiUtdtLe0LAk4625gavoeQ==} peerDependencies: typescript: '>=5' peerDependenciesMeta: @@ -10733,8 +10784,8 @@ packages: peerDependencies: vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - vite-tsconfig-paths@5.1.2: - resolution: {integrity: sha512-gEIbKfJzSEv0yR3XS2QEocKetONoWkbROj6hGx0FHM18qKUojhvcokQsxQx5nMkelZq2n37zbSGCJn+FSODSjA==} + vite-tsconfig-paths@5.1.3: + resolution: {integrity: sha512-0bz+PDlLpGfP2CigeSKL9NFTF1KtXkeHGZSSaGQSuPZH77GhoiQaA8IjYgOaynSuwlDTolSUEU0ErVvju3NURg==} peerDependencies: vite: '*' peerDependenciesMeta: @@ -11002,8 +11053,8 @@ packages: yaml-ast-parser@0.0.43: resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - yaml@2.6.0: - resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} hasBin: true @@ -11051,7 +11102,7 @@ packages: snapshots: - '@adobe/css-tools@4.4.0': {} + '@adobe/css-tools@4.4.1': {} '@alloc/quick-lru@5.2.0': {} @@ -11082,16 +11133,11 @@ snapshots: typescript: 5.6.1-rc validate-npm-package-name: 5.0.1 - '@ark/schema@0.23.0': + '@ark/schema@0.24.0': dependencies: - '@ark/util': 0.23.0 + '@ark/util': 0.24.0 - '@ark/util@0.23.0': {} - - '@babel/code-frame@7.25.7': - dependencies: - '@babel/highlight': 7.25.9 - picocolors: 1.1.1 + '@ark/util@0.24.0': {} '@babel/code-frame@7.26.2': dependencies: @@ -11166,13 +11212,6 @@ snapshots: '@babel/template': 7.25.9 '@babel/types': 7.26.0 - '@babel/highlight@7.25.9': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.1 - '@babel/parser@7.26.2': dependencies: '@babel/types': 7.26.0 @@ -11239,10 +11278,10 @@ snapshots: '@types/tough-cookie': 4.0.5 tough-cookie: 4.1.4 - '@clerk/backend@1.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/backend@1.17.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@clerk/shared': 2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/types': 4.32.0 + '@clerk/shared': 2.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/types': 4.34.1 cookie: 0.7.0 snakecase-keys: 5.4.4 tslib: 2.4.1 @@ -11250,17 +11289,17 @@ snapshots: - react - react-dom - '@clerk/clerk-react@5.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/clerk-react@5.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@clerk/shared': 2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/types': 4.32.0 + '@clerk/shared': 2.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/types': 4.34.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.4.1 - '@clerk/shared@2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/shared@2.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@clerk/types': 4.32.0 + '@clerk/types': 4.34.1 dequal: 2.0.3 glob-to-regexp: 0.4.1 js-cookie: 3.0.5 @@ -11270,19 +11309,19 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@clerk/tanstack-start@0.4.25(@tanstack/react-router@packages+react-router)(@tanstack/start@packages+start)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/tanstack-start@0.5.1(@tanstack/react-router@packages+react-router)(@tanstack/start@packages+start)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@clerk/backend': 1.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/clerk-react': 5.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/shared': 2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/types': 4.32.0 + '@clerk/backend': 1.17.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/clerk-react': 5.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/shared': 2.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/types': 4.34.1 '@tanstack/react-router': link:packages/react-router '@tanstack/start': link:packages/start react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.4.1 - '@clerk/types@4.32.0': + '@clerk/types@4.34.1': dependencies: csstype: 3.1.1 @@ -11304,10 +11343,10 @@ snapshots: '@types/conventional-commits-parser': 5.0.0 chalk: 5.3.0 - '@convex-dev/react-query@0.0.0-alpha.8(@tanstack/react-query@5.59.20(react@18.3.1))(convex@1.17.0(@clerk/clerk-react@5.15.3(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))': + '@convex-dev/react-query@0.0.0-alpha.8(@tanstack/react-query@5.61.3(react@18.3.1))(convex@1.17.2(@clerk/clerk-react@5.16.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.59.20(react@18.3.1) - convex: 1.17.0(@clerk/clerk-react@5.15.3(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) + '@tanstack/react-query': 5.61.3(react@18.3.1) + convex: 1.17.2(@clerk/clerk-react@5.16.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) '@deno/shim-deno-test@0.5.0': {} @@ -11754,20 +11793,20 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.14.0(jiti@2.4.0))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.15.0(jiti@2.4.0))': dependencies: - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint-react/ast@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@eslint-react/ast@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) birecord: 0.1.1 string-ts: 2.2.0 ts-pattern: 5.5.0 @@ -11776,18 +11815,18 @@ snapshots: - supports-color - typescript - '@eslint-react/core@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': - dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/jsx': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/var': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@eslint-react/core@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': + dependencies: + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/jsx': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/var': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) birecord: 0.1.1 short-unique-id: 5.2.0 ts-pattern: 5.5.0 @@ -11796,79 +11835,82 @@ snapshots: - supports-color - typescript - '@eslint-react/eslint-plugin@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': - dependencies: - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) - eslint-plugin-react-debug: 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint-plugin-react-dom: 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint-plugin-react-hooks-extra: 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint-plugin-react-naming-convention: 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint-plugin-react-web-api: 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint-plugin-react-x: 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@eslint-react/eslint-plugin@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': + dependencies: + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.15.0(jiti@2.4.0) + eslint-plugin-react-debug: 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint-plugin-react-dom: 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint-plugin-react-hooks-extra: 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint-plugin-react-naming-convention: 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint-plugin-react-web-api: 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint-plugin-react-x: 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@eslint-react/jsx@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@eslint-react/jsx@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/var': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/var': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + birecord: 0.1.1 ts-pattern: 5.5.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/shared@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@eslint-react/shared@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@eslint-react/tools': 1.16.1 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@eslint-react/tools': 1.17.1 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + local-pkg: 0.5.1 picomatch: 4.0.2 + ts-pattern: 5.5.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/tools@1.16.1': {} + '@eslint-react/tools@1.17.1': {} - '@eslint-react/types@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@eslint-react/types@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@eslint-react/tools': 1.16.1 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@eslint-react/tools': 1.17.1 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/var@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@eslint-react/var@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) ts-pattern: 5.5.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint/config-array@0.18.0': + '@eslint/config-array@0.19.0': dependencies: '@eslint/object-schema': 2.1.4 debug: 4.3.7(supports-color@9.4.0) @@ -11876,9 +11918,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/core@0.7.0': {} + '@eslint/core@0.9.0': {} - '@eslint/eslintrc@3.1.0': + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@9.4.0) @@ -11892,11 +11934,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.14.0': {} + '@eslint/js@9.15.0': {} '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.2.2': + '@eslint/plugin-kit@0.2.3': dependencies: levn: 0.4.1 @@ -12021,16 +12063,16 @@ snapshots: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.0.2(@types/node@22.9.0)': + '@inquirer/confirm@5.0.2(@types/node@22.9.3)': dependencies: - '@inquirer/core': 10.1.0(@types/node@22.9.0) - '@inquirer/type': 3.0.1(@types/node@22.9.0) - '@types/node': 22.9.0 + '@inquirer/core': 10.1.0(@types/node@22.9.3) + '@inquirer/type': 3.0.1(@types/node@22.9.3) + '@types/node': 22.9.3 - '@inquirer/core@10.1.0(@types/node@22.9.0)': + '@inquirer/core@10.1.0(@types/node@22.9.3)': dependencies: '@inquirer/figures': 1.0.8 - '@inquirer/type': 3.0.1(@types/node@22.9.0) + '@inquirer/type': 3.0.1(@types/node@22.9.3) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -12046,7 +12088,7 @@ snapshots: '@inquirer/figures': 1.0.8 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -12128,9 +12170,9 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.1(@types/node@22.9.0)': + '@inquirer/type@3.0.1(@types/node@22.9.3)': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@ioredis/commands@1.2.0': {} @@ -12210,31 +12252,31 @@ snapshots: - encoding - supports-color - '@microsoft/api-extractor-model@7.29.4(@types/node@22.9.0)': + '@microsoft/api-extractor-model@7.29.4(@types/node@22.9.3)': dependencies: - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.5.1(@types/node@22.9.0) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.5.1(@types/node@22.9.3) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor-model@7.29.8(@types/node@22.9.0)': + '@microsoft/api-extractor-model@7.30.0(@types/node@22.9.3)': dependencies: - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.9.0(@types/node@22.9.0) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.10.0(@types/node@22.9.3) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.47.11(@types/node@22.9.0)': + '@microsoft/api-extractor@7.47.4(@types/node@22.9.3)': dependencies: - '@microsoft/api-extractor-model': 7.29.8(@types/node@22.9.0) - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.9.0(@types/node@22.9.0) + '@microsoft/api-extractor-model': 7.29.4(@types/node@22.9.3) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.5.1(@types/node@22.9.3) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.2(@types/node@22.9.0) - '@rushstack/ts-command-line': 4.23.0(@types/node@22.9.0) + '@rushstack/terminal': 0.13.3(@types/node@22.9.3) + '@rushstack/ts-command-line': 4.22.3(@types/node@22.9.3) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -12244,15 +12286,15 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.47.4(@types/node@22.9.0)': + '@microsoft/api-extractor@7.48.0(@types/node@22.9.3)': dependencies: - '@microsoft/api-extractor-model': 7.29.4(@types/node@22.9.0) - '@microsoft/tsdoc': 0.15.0 - '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.5.1(@types/node@22.9.0) + '@microsoft/api-extractor-model': 7.30.0(@types/node@22.9.3) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.10.0(@types/node@22.9.3) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.13.3(@types/node@22.9.0) - '@rushstack/ts-command-line': 4.22.3(@types/node@22.9.0) + '@rushstack/terminal': 0.14.3(@types/node@22.9.3) + '@rushstack/ts-command-line': 4.23.1(@types/node@22.9.3) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -12262,14 +12304,14 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@microsoft/tsdoc-config@0.17.0': + '@microsoft/tsdoc-config@0.17.1': dependencies: - '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc': 0.15.1 ajv: 8.12.0 jju: 1.4.0 resolve: 1.22.8 - '@microsoft/tsdoc@0.15.0': {} + '@microsoft/tsdoc@0.15.1': {} '@module-federation/runtime-tools@0.5.1': dependencies: @@ -12287,7 +12329,7 @@ snapshots: '@module-federation/runtime': 0.5.1 '@module-federation/sdk': 0.5.1 - '@mswjs/interceptors@0.36.10': + '@mswjs/interceptors@0.37.1': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -12352,43 +12394,34 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@nrwl/tao@19.8.10(@swc/core@1.9.2(@swc/helpers@0.5.15))': - dependencies: - nx: 19.8.10(@swc/core@1.9.2(@swc/helpers@0.5.15)) - tslib: 2.8.1 - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - - '@nx/nx-darwin-arm64@19.8.10': + '@nx/nx-darwin-arm64@20.1.3': optional: true - '@nx/nx-darwin-x64@19.8.10': + '@nx/nx-darwin-x64@20.1.3': optional: true - '@nx/nx-freebsd-x64@19.8.10': + '@nx/nx-freebsd-x64@20.1.3': optional: true - '@nx/nx-linux-arm-gnueabihf@19.8.10': + '@nx/nx-linux-arm-gnueabihf@20.1.3': optional: true - '@nx/nx-linux-arm64-gnu@19.8.10': + '@nx/nx-linux-arm64-gnu@20.1.3': optional: true - '@nx/nx-linux-arm64-musl@19.8.10': + '@nx/nx-linux-arm64-musl@20.1.3': optional: true - '@nx/nx-linux-x64-gnu@19.8.10': + '@nx/nx-linux-x64-gnu@20.1.3': optional: true - '@nx/nx-linux-x64-musl@19.8.10': + '@nx/nx-linux-x64-musl@20.1.3': optional: true - '@nx/nx-win32-arm64-msvc@19.8.10': + '@nx/nx-win32-arm64-msvc@20.1.3': optional: true - '@nx/nx-win32-x64-msvc@19.8.10': + '@nx/nx-win32-x64-msvc@20.1.3': optional: true '@open-draft/deferred-promise@2.2.0': {} @@ -12473,9 +12506,9 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.48.2': + '@playwright/test@1.49.0': dependencies: - playwright: 1.48.2 + playwright: 1.49.0 '@prisma/client@5.22.0(prisma@5.22.0)': optionalDependencies: @@ -12646,7 +12679,7 @@ snapshots: '@redocly/config@0.16.0': {} - '@redocly/openapi-core@1.25.11(supports-color@9.4.0)': + '@redocly/openapi-core@1.25.13(supports-color@9.4.0)': dependencies: '@redocly/ajv': 8.11.2 '@redocly/config': 0.16.0 @@ -12663,21 +12696,21 @@ snapshots: - encoding - supports-color - '@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': dependencies: '@remix-run/router': 1.21.0 - '@remix-run/server-runtime': 2.14.0(typescript@5.6.3) + '@remix-run/server-runtime': 2.15.0(typescript@5.7.2) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-router: 6.28.0(react@18.3.1) react-router-dom: 6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) turbo-stream: 2.4.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 '@remix-run/router@1.21.0': {} - '@remix-run/server-runtime@2.14.0(typescript@5.6.3)': + '@remix-run/server-runtime@2.15.0(typescript@5.7.2)': dependencies: '@remix-run/router': 1.21.0 '@types/cookie': 0.6.0 @@ -12687,24 +12720,24 @@ snapshots: source-map: 0.7.4 turbo-stream: 2.4.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 '@rollup/plugin-alias@5.1.1(rollup@3.29.5)': optionalDependencies: rollup: 3.29.5 - '@rollup/plugin-alias@5.1.1(rollup@4.26.0)': + '@rollup/plugin-alias@5.1.1(rollup@4.27.4)': optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 - '@rollup/plugin-babel@6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.26.0)': + '@rollup/plugin-babel@6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.27.4)': dependencies: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) optionalDependencies: '@types/babel__core': 7.20.5 - rollup: 4.26.0 + rollup: 4.27.4 transitivePeerDependencies: - supports-color @@ -12715,29 +12748,29 @@ snapshots: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.12 + magic-string: 0.30.13 optionalDependencies: rollup: 3.29.5 - '@rollup/plugin-commonjs@28.0.1(rollup@4.26.0)': + '@rollup/plugin-commonjs@28.0.1(rollup@4.27.4)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.2(picomatch@4.0.2) is-reference: 1.2.1 - magic-string: 0.30.12 + magic-string: 0.30.13 picomatch: 4.0.2 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 - '@rollup/plugin-inject@5.0.5(rollup@4.26.0)': + '@rollup/plugin-inject@5.0.5(rollup@4.27.4)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) estree-walker: 2.0.2 - magic-string: 0.30.12 + magic-string: 0.30.13 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 '@rollup/plugin-json@6.1.0(rollup@3.29.5)': dependencies: @@ -12745,11 +12778,11 @@ snapshots: optionalDependencies: rollup: 3.29.5 - '@rollup/plugin-json@6.1.0(rollup@4.26.0)': + '@rollup/plugin-json@6.1.0(rollup@4.27.4)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 '@rollup/plugin-node-resolve@15.3.0(rollup@3.29.5)': dependencies: @@ -12761,37 +12794,37 @@ snapshots: optionalDependencies: rollup: 3.29.5 - '@rollup/plugin-node-resolve@15.3.0(rollup@4.26.0)': + '@rollup/plugin-node-resolve@15.3.0(rollup@4.27.4)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 '@rollup/plugin-replace@5.0.7(rollup@3.29.5)': dependencies: '@rollup/pluginutils': 5.1.3(rollup@3.29.5) - magic-string: 0.30.12 + magic-string: 0.30.13 optionalDependencies: rollup: 3.29.5 - '@rollup/plugin-replace@6.0.1(rollup@4.26.0)': + '@rollup/plugin-replace@6.0.1(rollup@4.27.4)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) - magic-string: 0.30.12 + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + magic-string: 0.30.13 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 - '@rollup/plugin-terser@0.4.4(rollup@4.26.0)': + '@rollup/plugin-terser@0.4.4(rollup@4.27.4)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.36.0 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 '@rollup/pluginutils@4.2.1': dependencies: @@ -12806,128 +12839,126 @@ snapshots: optionalDependencies: rollup: 3.29.5 - '@rollup/pluginutils@5.1.3(rollup@4.26.0)': + '@rollup/pluginutils@5.1.3(rollup@4.27.4)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 - '@rollup/rollup-android-arm-eabi@4.26.0': + '@rollup/rollup-android-arm-eabi@4.27.4': optional: true - '@rollup/rollup-android-arm64@4.26.0': + '@rollup/rollup-android-arm64@4.27.4': optional: true - '@rollup/rollup-darwin-arm64@4.26.0': + '@rollup/rollup-darwin-arm64@4.27.4': optional: true - '@rollup/rollup-darwin-x64@4.26.0': + '@rollup/rollup-darwin-x64@4.27.4': optional: true - '@rollup/rollup-freebsd-arm64@4.26.0': + '@rollup/rollup-freebsd-arm64@4.27.4': optional: true - '@rollup/rollup-freebsd-x64@4.26.0': + '@rollup/rollup-freebsd-x64@4.27.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': + '@rollup/rollup-linux-arm-gnueabihf@4.27.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.26.0': + '@rollup/rollup-linux-arm-musleabihf@4.27.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.26.0': + '@rollup/rollup-linux-arm64-gnu@4.27.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.26.0': + '@rollup/rollup-linux-arm64-musl@4.27.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.26.0': + '@rollup/rollup-linux-riscv64-gnu@4.27.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.26.0': + '@rollup/rollup-linux-s390x-gnu@4.27.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.26.0': + '@rollup/rollup-linux-x64-gnu@4.27.4': optional: true - '@rollup/rollup-linux-x64-musl@4.26.0': + '@rollup/rollup-linux-x64-musl@4.27.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.26.0': + '@rollup/rollup-win32-arm64-msvc@4.27.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.26.0': + '@rollup/rollup-win32-ia32-msvc@4.27.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.26.0': + '@rollup/rollup-win32-x64-msvc@4.27.4': optional: true - '@rsbuild/core@1.1.0': + '@rsbuild/core@1.1.4': dependencies: - '@rspack/core': 1.1.1(@swc/helpers@0.5.15) + '@rspack/core': 1.1.3(@swc/helpers@0.5.15) '@rspack/lite-tapable': 1.0.1 '@swc/helpers': 0.5.15 core-js: 3.39.0 - optionalDependencies: - fsevents: 2.3.3 - '@rsbuild/plugin-react@1.0.7(@rsbuild/core@1.1.0)': + '@rsbuild/plugin-react@1.0.7(@rsbuild/core@1.1.4)': dependencies: - '@rsbuild/core': 1.1.0 + '@rsbuild/core': 1.1.4 '@rspack/plugin-react-refresh': 1.0.0(react-refresh@0.14.2) react-refresh: 0.14.2 - '@rspack/binding-darwin-arm64@1.1.1': + '@rspack/binding-darwin-arm64@1.1.3': optional: true - '@rspack/binding-darwin-x64@1.1.1': + '@rspack/binding-darwin-x64@1.1.3': optional: true - '@rspack/binding-linux-arm64-gnu@1.1.1': + '@rspack/binding-linux-arm64-gnu@1.1.3': optional: true - '@rspack/binding-linux-arm64-musl@1.1.1': + '@rspack/binding-linux-arm64-musl@1.1.3': optional: true - '@rspack/binding-linux-x64-gnu@1.1.1': + '@rspack/binding-linux-x64-gnu@1.1.3': optional: true - '@rspack/binding-linux-x64-musl@1.1.1': + '@rspack/binding-linux-x64-musl@1.1.3': optional: true - '@rspack/binding-win32-arm64-msvc@1.1.1': + '@rspack/binding-win32-arm64-msvc@1.1.3': optional: true - '@rspack/binding-win32-ia32-msvc@1.1.1': + '@rspack/binding-win32-ia32-msvc@1.1.3': optional: true - '@rspack/binding-win32-x64-msvc@1.1.1': + '@rspack/binding-win32-x64-msvc@1.1.3': optional: true - '@rspack/binding@1.1.1': + '@rspack/binding@1.1.3': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.1.1 - '@rspack/binding-darwin-x64': 1.1.1 - '@rspack/binding-linux-arm64-gnu': 1.1.1 - '@rspack/binding-linux-arm64-musl': 1.1.1 - '@rspack/binding-linux-x64-gnu': 1.1.1 - '@rspack/binding-linux-x64-musl': 1.1.1 - '@rspack/binding-win32-arm64-msvc': 1.1.1 - '@rspack/binding-win32-ia32-msvc': 1.1.1 - '@rspack/binding-win32-x64-msvc': 1.1.1 - - '@rspack/core@1.1.1(@swc/helpers@0.5.15)': + '@rspack/binding-darwin-arm64': 1.1.3 + '@rspack/binding-darwin-x64': 1.1.3 + '@rspack/binding-linux-arm64-gnu': 1.1.3 + '@rspack/binding-linux-arm64-musl': 1.1.3 + '@rspack/binding-linux-x64-gnu': 1.1.3 + '@rspack/binding-linux-x64-musl': 1.1.3 + '@rspack/binding-win32-arm64-msvc': 1.1.3 + '@rspack/binding-win32-ia32-msvc': 1.1.3 + '@rspack/binding-win32-x64-msvc': 1.1.3 + + '@rspack/core@1.1.3(@swc/helpers@0.5.15)': dependencies: '@module-federation/runtime-tools': 0.5.1 - '@rspack/binding': 1.1.1 + '@rspack/binding': 1.1.3 '@rspack/lite-tapable': 1.0.1 - caniuse-lite: 1.0.30001680 + caniuse-lite: 1.0.30001684 optionalDependencies: '@swc/helpers': 0.5.15 @@ -12940,7 +12971,7 @@ snapshots: optionalDependencies: react-refresh: 0.14.2 - '@rushstack/node-core-library@5.5.1(@types/node@22.9.0)': + '@rushstack/node-core-library@5.10.0(@types/node@22.9.3)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -12951,9 +12982,9 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 - '@rushstack/node-core-library@5.9.0(@types/node@22.9.0)': + '@rushstack/node-core-library@5.5.1(@types/node@22.9.3)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -12964,66 +12995,66 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.13.3(@types/node@22.9.0)': + '@rushstack/terminal@0.13.3(@types/node@22.9.3)': dependencies: - '@rushstack/node-core-library': 5.5.1(@types/node@22.9.0) + '@rushstack/node-core-library': 5.5.1(@types/node@22.9.3) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 - '@rushstack/terminal@0.14.2(@types/node@22.9.0)': + '@rushstack/terminal@0.14.3(@types/node@22.9.3)': dependencies: - '@rushstack/node-core-library': 5.9.0(@types/node@22.9.0) + '@rushstack/node-core-library': 5.10.0(@types/node@22.9.3) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 - '@rushstack/ts-command-line@4.22.3(@types/node@22.9.0)': + '@rushstack/ts-command-line@4.22.3(@types/node@22.9.3)': dependencies: - '@rushstack/terminal': 0.13.3(@types/node@22.9.0) + '@rushstack/terminal': 0.13.3(@types/node@22.9.3) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' - '@rushstack/ts-command-line@4.23.0(@types/node@22.9.0)': + '@rushstack/ts-command-line@4.23.1(@types/node@22.9.3)': dependencies: - '@rushstack/terminal': 0.14.2(@types/node@22.9.0) + '@rushstack/terminal': 0.14.3(@types/node@22.9.3) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' - '@shikijs/core@1.22.2': + '@shikijs/core@1.23.1': dependencies: - '@shikijs/engine-javascript': 1.22.2 - '@shikijs/engine-oniguruma': 1.22.2 - '@shikijs/types': 1.22.2 + '@shikijs/engine-javascript': 1.23.1 + '@shikijs/engine-oniguruma': 1.23.1 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.22.2': + '@shikijs/engine-javascript@1.23.1': dependencies: - '@shikijs/types': 1.22.2 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 - oniguruma-to-js: 0.4.3 + oniguruma-to-es: 0.4.1 - '@shikijs/engine-oniguruma@1.22.2': + '@shikijs/engine-oniguruma@1.23.1': dependencies: - '@shikijs/types': 1.22.2 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/types@1.22.2': + '@shikijs/types@1.23.1': dependencies: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -13036,9 +13067,9 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} - '@stylistic/eslint-plugin-js@2.10.1(eslint@9.14.0(jiti@2.4.0))': + '@stylistic/eslint-plugin-js@2.11.0(eslint@9.15.0(jiti@2.4.0))': dependencies: - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -13090,51 +13121,51 @@ snapshots: - bufferutil - utf-8-validate - '@swc/core-darwin-arm64@1.9.2': + '@swc/core-darwin-arm64@1.9.3': optional: true - '@swc/core-darwin-x64@1.9.2': + '@swc/core-darwin-x64@1.9.3': optional: true - '@swc/core-linux-arm-gnueabihf@1.9.2': + '@swc/core-linux-arm-gnueabihf@1.9.3': optional: true - '@swc/core-linux-arm64-gnu@1.9.2': + '@swc/core-linux-arm64-gnu@1.9.3': optional: true - '@swc/core-linux-arm64-musl@1.9.2': + '@swc/core-linux-arm64-musl@1.9.3': optional: true - '@swc/core-linux-x64-gnu@1.9.2': + '@swc/core-linux-x64-gnu@1.9.3': optional: true - '@swc/core-linux-x64-musl@1.9.2': + '@swc/core-linux-x64-musl@1.9.3': optional: true - '@swc/core-win32-arm64-msvc@1.9.2': + '@swc/core-win32-arm64-msvc@1.9.3': optional: true - '@swc/core-win32-ia32-msvc@1.9.2': + '@swc/core-win32-ia32-msvc@1.9.3': optional: true - '@swc/core-win32-x64-msvc@1.9.2': + '@swc/core-win32-x64-msvc@1.9.3': optional: true - '@swc/core@1.9.2(@swc/helpers@0.5.15)': + '@swc/core@1.9.3(@swc/helpers@0.5.15)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.15 + '@swc/types': 0.1.17 optionalDependencies: - '@swc/core-darwin-arm64': 1.9.2 - '@swc/core-darwin-x64': 1.9.2 - '@swc/core-linux-arm-gnueabihf': 1.9.2 - '@swc/core-linux-arm64-gnu': 1.9.2 - '@swc/core-linux-arm64-musl': 1.9.2 - '@swc/core-linux-x64-gnu': 1.9.2 - '@swc/core-linux-x64-musl': 1.9.2 - '@swc/core-win32-arm64-msvc': 1.9.2 - '@swc/core-win32-ia32-msvc': 1.9.2 - '@swc/core-win32-x64-msvc': 1.9.2 + '@swc/core-darwin-arm64': 1.9.3 + '@swc/core-darwin-x64': 1.9.3 + '@swc/core-linux-arm-gnueabihf': 1.9.3 + '@swc/core-linux-arm64-gnu': 1.9.3 + '@swc/core-linux-arm64-musl': 1.9.3 + '@swc/core-linux-x64-gnu': 1.9.3 + '@swc/core-linux-x64-musl': 1.9.3 + '@swc/core-win32-arm64-msvc': 1.9.3 + '@swc/core-win32-ia32-msvc': 1.9.3 + '@swc/core-win32-x64-msvc': 1.9.3 '@swc/helpers': 0.5.15 '@swc/counter@0.1.3': {} @@ -13148,36 +13179,36 @@ snapshots: dependencies: tslib: 2.8.1 - '@swc/types@0.1.15': + '@swc/types@0.1.17': dependencies: '@swc/counter': 0.1.3 - '@tanstack/config@0.14.0(@types/node@22.9.0)(esbuild@0.24.0)(eslint@9.14.0(jiti@2.4.0))(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0))': + '@tanstack/config@0.14.0(@types/node@22.9.3)(esbuild@0.24.0)(eslint@9.15.0(jiti@2.4.0))(rollup@4.27.4)(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0))': dependencies: '@commitlint/parse': 19.5.0 - '@eslint/js': 9.14.0 - '@stylistic/eslint-plugin-js': 2.10.1(eslint@9.14.0(jiti@2.4.0)) + '@eslint/js': 9.15.0 + '@stylistic/eslint-plugin-js': 2.11.0(eslint@9.15.0(jiti@2.4.0)) commander: 12.1.0 current-git-branch: 1.1.0 esbuild-register: 3.6.0(esbuild@0.24.0) - eslint-plugin-import-x: 4.4.2(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint-plugin-n: 17.13.1(eslint@9.14.0(jiti@2.4.0)) + eslint-plugin-import-x: 4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint-plugin-n: 17.14.0(eslint@9.15.0(jiti@2.4.0)) globals: 15.12.0 interpret: 3.1.1 jsonfile: 6.1.0 liftoff: 5.0.0 minimist: 1.2.8 - rollup-plugin-preserve-directives: 0.4.0(rollup@4.26.0) + rollup-plugin-preserve-directives: 0.4.0(rollup@4.27.4) semver: 7.6.3 simple-git: 3.27.0 - typedoc: 0.26.11(typescript@5.6.3) - typedoc-plugin-frontmatter: 1.0.0(typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.6.3))) - typedoc-plugin-markdown: 4.2.10(typedoc@0.26.11(typescript@5.6.3)) - typescript-eslint: 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + typedoc: 0.26.11(typescript@5.7.2) + typedoc-plugin-frontmatter: 1.0.0(typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.7.2))) + typedoc-plugin-markdown: 4.2.10(typedoc@0.26.11(typescript@5.7.2)) + typescript-eslint: 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) v8flags: 4.0.1 - vite-plugin-dts: 4.0.3(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) - vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) - vite-tsconfig-paths: 5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + vite-plugin-dts: 4.0.3(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) + vite-tsconfig-paths: 5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) transitivePeerDependencies: - '@types/node' - esbuild @@ -13187,19 +13218,19 @@ snapshots: - typescript - vite - '@tanstack/query-core@5.59.20': {} + '@tanstack/query-core@5.60.6': {} - '@tanstack/query-devtools@5.59.20': {} + '@tanstack/query-devtools@5.61.3': {} - '@tanstack/react-query-devtools@5.59.20(@tanstack/react-query@5.59.20(react@18.3.1))(react@18.3.1)': + '@tanstack/react-query-devtools@5.61.3(@tanstack/react-query@5.61.3(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/query-devtools': 5.59.20 - '@tanstack/react-query': 5.59.20(react@18.3.1) + '@tanstack/query-devtools': 5.61.3 + '@tanstack/react-query': 5.61.3(react@18.3.1) react: 18.3.1 - '@tanstack/react-query@5.59.20(react@18.3.1)': + '@tanstack/react-query@5.61.3(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.59.20 + '@tanstack/query-core': 5.60.6 react: 18.3.1 '@tanstack/react-store@0.5.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -13221,7 +13252,7 @@ snapshots: '@testing-library/dom@10.4.0': dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.26.2 '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.3.0 @@ -13232,7 +13263,7 @@ snapshots: '@testing-library/jest-dom@6.6.3': dependencies: - '@adobe/css-tools': 4.4.0 + '@adobe/css-tools': 4.4.1 aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 @@ -13250,24 +13281,24 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@trpc/client@11.0.0-rc.630(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@trpc/server': 11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@trpc/server': 11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@trpc/react-query@11.0.0-rc.630(@tanstack/react-query@5.59.20(react@18.3.1))(@trpc/client@11.0.0-rc.630(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(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@11.0.0-rc.638(@tanstack/react-query@5.61.3(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(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.59.20(react@18.3.1) - '@trpc/client': 11.0.0-rc.630(@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@trpc/server': 11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-query': 5.61.3(react@18.3.1) + '@trpc/client': 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@trpc/server': 11.0.0-rc.638(@playwright/test@1.49.0)(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) - '@trpc/server@11.0.0-rc.630(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@trpc/server@11.0.0-rc.638(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': optionalDependencies: '@types/aws-lambda': 8.10.145 express: 4.21.1 fastify: 5.1.0 - next: 15.0.3(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.0.3(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ws: 8.18.0 transitivePeerDependencies: - '@babel/core' @@ -13321,32 +13352,32 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/braces@3.0.4': {} '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.1 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/connect@3.4.38': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/cookie@0.6.0': {} '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/eslint-scope@3.7.7': dependencies: @@ -13362,14 +13393,14 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express-serve-static-core@5.0.1': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13391,7 +13422,7 @@ snapshots: '@types/http-proxy@1.17.15': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/jsesc@3.0.3': {} @@ -13409,13 +13440,13 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 - '@types/node@22.9.0': + '@types/node@22.9.3': dependencies: undici-types: 6.19.8 @@ -13443,7 +13474,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/serve-index@1.9.4': dependencies: @@ -13452,12 +13483,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/statuses@2.0.5': {} @@ -13473,7 +13504,7 @@ snapshots: '@types/ws@8.5.13': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/yargs-parser@21.0.3': {} @@ -13481,43 +13512,43 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.14.0 - eslint: 9.14.0(jiti@2.4.0) + '@typescript-eslint/parser': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.15.0 + eslint: 9.15.0(jiti@2.4.0) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.14.0 + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.15.0 debug: 4.3.7(supports-color@9.4.0) - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/rule-tester@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@typescript-eslint/rule-tester@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) ajv: 6.12.6 - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 semver: 7.6.3 @@ -13525,55 +13556,56 @@ snapshots: - supports-color - typescript - '@typescript-eslint/scope-manager@8.14.0': + '@typescript-eslint/scope-manager@8.15.0': dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 - '@typescript-eslint/type-utils@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) debug: 4.3.7(supports-color@9.4.0) - ts-api-utils: 1.4.0(typescript@5.6.3) + eslint: 9.15.0(jiti@2.4.0) + ts-api-utils: 1.4.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - - eslint - supports-color - '@typescript-eslint/types@8.14.0': {} + '@typescript-eslint/types@8.15.0': {} - '@typescript-eslint/typescript-estree@8.14.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.15.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 debug: 4.3.7(supports-color@9.4.0) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': + '@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2) + eslint: 9.15.0(jiti@2.4.0) + optionalDependencies: + typescript: 5.7.2 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/visitor-keys@8.14.0': + '@typescript-eslint/visitor-keys@8.15.0': dependencies: - '@typescript-eslint/types': 8.14.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.15.0 + eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.0': {} @@ -13589,7 +13621,7 @@ snapshots: glob: 7.2.3 graceful-fs: 4.2.11 micromatch: 4.0.8 - node-gyp-build: 4.8.3 + node-gyp-build: 4.8.4 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -13604,7 +13636,7 @@ snapshots: consola: 3.2.3 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.11.1 + h3: 1.13.0 http-shutdown: 1.2.2 jiti: 1.21.6 mlly: 1.7.3 @@ -13614,10 +13646,8 @@ snapshots: ufo: 1.5.4 untun: 0.1.3 uqr: 0.1.2 - transitivePeerDependencies: - - uWebSockets.js - '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3))': + '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2))': dependencies: '@babel/parser': 7.26.2 acorn: 8.14.0 @@ -13628,47 +13658,47 @@ snapshots: magicast: 0.2.11 recast: 0.23.9 tslib: 2.8.1 - vinxi: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + vinxi: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) - '@vinxi/react-server-dom@0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0))': + '@vinxi/react-server-dom@0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0))': dependencies: acorn-loose: 8.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) '@vinxi/react@0.2.5': {} - '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3))': + '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3)) + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2)) acorn: 8.14.0 acorn-loose: 8.4.0 acorn-typescript: 1.4.13(acorn@8.14.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 - vinxi: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + vinxi: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) - '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3))': + '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2))': dependencies: - '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3)) + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2)) acorn: 8.14.0 acorn-loose: 8.4.0 acorn-typescript: 1.4.13(acorn@8.14.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 - vinxi: 0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3) + vinxi: 0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2) - '@vitejs/plugin-react@4.3.3(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0))': + '@vitejs/plugin-react@4.3.3(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) transitivePeerDependencies: - supports-color @@ -13679,14 +13709,14 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.5(msw@2.6.4(@types/node@22.9.0)(typescript@5.6.3))(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0))': + '@vitest/mocker@2.1.5(msw@2.6.6(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0))': dependencies: '@vitest/spy': 2.1.5 estree-walker: 3.0.3 - magic-string: 0.30.12 + magic-string: 0.30.13 optionalDependencies: - msw: 2.6.4(@types/node@22.9.0)(typescript@5.6.3) - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + msw: 2.6.6(@types/node@22.9.3)(typescript@5.7.2) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) '@vitest/pretty-format@2.1.5': dependencies: @@ -13700,7 +13730,7 @@ snapshots: '@vitest/snapshot@2.1.5': dependencies: '@vitest/pretty-format': 2.1.5 - magic-string: 0.30.12 + magic-string: 0.30.13 pathe: 1.1.2 '@vitest/spy@2.1.5': @@ -13725,43 +13755,43 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.5.12': + '@vue/compiler-core@3.5.13': dependencies: '@babel/parser': 7.26.2 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.12': + '@vue/compiler-dom@3.5.13': dependencies: - '@vue/compiler-core': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 '@vue/compiler-vue2@2.7.16': dependencies: de-indent: 1.0.2 he: 1.2.0 - '@vue/language-core@2.0.29(typescript@5.6.3)': + '@vue/language-core@2.0.29(typescript@5.7.2)': dependencies: '@volar/language-core': 2.4.10 - '@vue/compiler-dom': 3.5.12 + '@vue/compiler-dom': 3.5.13 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 '@vue/language-core@2.1.6(typescript@5.6.2)': dependencies: '@volar/language-core': 2.4.10 - '@vue/compiler-dom': 3.5.12 + '@vue/compiler-dom': 3.5.13 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -13769,7 +13799,7 @@ snapshots: optionalDependencies: typescript: 5.6.2 - '@vue/shared@3.5.12': {} + '@vue/shared@3.5.13': {} '@web3-storage/multipart-parser@1.0.0': {} @@ -13849,19 +13879,19 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4))': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.96.1)': dependencies: - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4))': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.96.1)': dependencies: - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1))(webpack-dev-server@5.1.0(webpack-cli@5.1.4)(webpack@5.96.1))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4))': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.1.0)(webpack@5.96.1)': dependencies: - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1) optionalDependencies: webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.96.1) @@ -13872,7 +13902,7 @@ snapshots: '@yarnpkg/lockfile@1.1.0': {} - '@yarnpkg/parsers@3.0.0-rc.46': + '@yarnpkg/parsers@3.0.2': dependencies: js-yaml: 3.14.1 tslib: 2.8.1 @@ -14004,10 +14034,6 @@ snapshots: ansi-regex@6.1.0: {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -14068,10 +14094,10 @@ snapshots: aria-query@5.3.2: {} - arktype@2.0.0-rc.23: + arktype@2.0.0-rc.24: dependencies: - '@ark/schema': 0.23.0 - '@ark/util': 0.23.0 + '@ark/schema': 0.24.0 + '@ark/util': 0.24.0 array-each@1.0.1: {} @@ -14101,7 +14127,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001680 + caniuse-lite: 1.0.30001684 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -14175,7 +14201,7 @@ snapshots: transitivePeerDependencies: - supports-color - bonjour-service@1.2.1: + bonjour-service@1.3.0: dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 @@ -14208,8 +14234,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.58 + caniuse-lite: 1.0.30001684 + electron-to-chromium: 1.5.64 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -14279,11 +14305,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001680 + caniuse-lite: 1.0.30001684 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001680: {} + caniuse-lite@1.0.30001684: {} ccount@2.0.1: {} @@ -14295,12 +14321,6 @@ snapshots: loupe: 3.1.2 pathval: 2.0.0 - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - chalk@3.0.0: dependencies: ansi-styles: 4.3.0 @@ -14412,16 +14432,10 @@ snapshots: cluster-key-slot@1.1.2: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} color-string@1.9.1: @@ -14542,13 +14556,13 @@ snapshots: convert-source-map@2.0.0: {} - convex@1.17.0(@clerk/clerk-react@5.15.3(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): + convex@1.17.2(@clerk/clerk-react@5.16.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: esbuild: 0.23.0 jwt-decode: 3.1.2 prettier: 3.2.5 optionalDependencies: - '@clerk/clerk-react': 5.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/clerk-react': 5.16.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) @@ -14564,7 +14578,7 @@ snapshots: cookie@0.7.2: {} - cookie@1.0.1: + cookie@1.0.2: optional: true copy-anything@3.0.5: @@ -14590,7 +14604,7 @@ snapshots: shebang-command: 1.2.0 which: 1.3.1 - cross-spawn@7.0.5: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -14866,7 +14880,7 @@ snapshots: dot-prop@9.0.0: dependencies: - type-fest: 4.26.1 + type-fest: 4.28.0 dotenv-expand@11.0.7: dependencies: @@ -14880,7 +14894,9 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.58: {} + electron-to-chromium@1.5.64: {} + + emoji-regex-xs@1.0.0: {} emoji-regex@8.0.0: {} @@ -15101,9 +15117,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.14.0(jiti@2.4.0)): + eslint-compat-utils@0.5.1(eslint@9.15.0(jiti@2.4.0)): dependencies: - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) semver: 7.6.3 eslint-import-resolver-node@0.3.9: @@ -15114,19 +15130,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-es-x@7.8.0(eslint@9.14.0(jiti@2.4.0)): + eslint-plugin-es-x@7.8.0(eslint@9.15.0(jiti@2.4.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.14.0(jiti@2.4.0) - eslint-compat-utils: 0.5.1(eslint@9.14.0(jiti@2.4.0)) + eslint: 9.15.0(jiti@2.4.0) + eslint-compat-utils: 0.5.1(eslint@9.15.0(jiti@2.4.0)) - eslint-plugin-import-x@4.4.2(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): + eslint-plugin-import-x@4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): dependencies: - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) debug: 4.3.7(supports-color@9.4.0) doctrine: 3.0.0 - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -15138,147 +15154,149 @@ snapshots: - supports-color - typescript - eslint-plugin-n@17.13.1(eslint@9.14.0(jiti@2.4.0)): + eslint-plugin-n@17.14.0(eslint@9.15.0(jiti@2.4.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) enhanced-resolve: 5.17.1 - eslint: 9.14.0(jiti@2.4.0) - eslint-plugin-es-x: 7.8.0(eslint@9.14.0(jiti@2.4.0)) + eslint: 9.15.0(jiti@2.4.0) + eslint-plugin-es-x: 7.8.0(eslint@9.15.0(jiti@2.4.0)) get-tsconfig: 4.8.1 globals: 15.12.0 ignore: 5.3.2 minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-react-debug@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/core': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/jsx': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/var': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) + eslint-plugin-react-debug@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): + dependencies: + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/core': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/jsx': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/var': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.15.0(jiti@2.4.0) string-ts: 2.2.0 ts-pattern: 5.5.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-dom@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/core': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/jsx': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/var': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) + eslint-plugin-react-dom@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): + dependencies: + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/core': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/jsx': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/var': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + compare-versions: 6.1.1 + eslint: 9.15.0(jiti@2.4.0) ts-pattern: 5.5.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks-extra@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/core': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/jsx': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/var': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) + eslint-plugin-react-hooks-extra@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): + dependencies: + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/core': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/jsx': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/var': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.15.0(jiti@2.4.0) ts-pattern: 5.5.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.14.0(jiti@2.4.0)): + eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.15.0(jiti@2.4.0)): dependencies: - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) - eslint-plugin-react-naming-convention@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): + eslint-plugin-react-naming-convention@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/core': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/jsx': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/core': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/jsx': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.15.0(jiti@2.4.0) ts-pattern: 5.5.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-web-api@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/core': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/jsx': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/var': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + eslint-plugin-react-web-api@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): + dependencies: + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/core': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/jsx': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/var': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) birecord: 0.1.1 - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) ts-pattern: 5.5.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - eslint-plugin-react-x@1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/core': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/jsx': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/shared': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/tools': 1.16.1 - '@eslint-react/types': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@eslint-react/var': 1.16.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) - is-immutable-type: 5.0.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + eslint-plugin-react-x@1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): + dependencies: + '@eslint-react/ast': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/core': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/jsx': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/shared': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/tools': 1.17.1 + '@eslint-react/types': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@eslint-react/var': 1.17.1(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + compare-versions: 6.1.1 + eslint: 9.15.0(jiti@2.4.0) + is-immutable-type: 5.0.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) ts-pattern: 5.5.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0)): dependencies: - eslint: 9.14.0(jiti@2.4.0) + eslint: 9.15.0(jiti@2.4.0) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) eslint-scope@5.1.1: dependencies: @@ -15294,15 +15312,15 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.14.0(jiti@2.4.0): + eslint@9.15.0(jiti@2.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.18.0 - '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.14.0 - '@eslint/plugin-kit': 0.2.2 + '@eslint/config-array': 0.19.0 + '@eslint/core': 0.9.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.15.0 + '@eslint/plugin-kit': 0.2.3 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -15310,7 +15328,7 @@ snapshots: '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 debug: 4.3.7(supports-color@9.4.0) escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 @@ -15330,7 +15348,6 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - text-table: 0.2.0 optionalDependencies: jiti: 2.4.0 transitivePeerDependencies: @@ -15384,7 +15401,7 @@ snapshots: execa@8.0.1: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 @@ -15589,12 +15606,12 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.4 flat@5.0.2: {} - flatted@3.3.1: {} + flatted@3.3.2: {} follow-redirects@1.15.9: {} @@ -15606,7 +15623,7 @@ snapshots: foreground-child@3.3.0: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 signal-exit: 4.1.0 form-data@4.0.1: @@ -15623,7 +15640,7 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@11.11.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + framer-motion@11.11.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: tslib: 2.8.1 optionalDependencies: @@ -15845,8 +15862,6 @@ snapshots: handle-thing@2.0.1: {} - has-flag@3.0.0: {} - has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -15918,7 +15933,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(@rspack/core@1.1.1(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)): + html-webpack-plugin@5.6.3(@rspack/core@1.1.3(@swc/helpers@0.5.15))(webpack@5.96.1): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -15926,8 +15941,8 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - '@rspack/core': 1.1.1(@swc/helpers@0.5.15) - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + '@rspack/core': 1.1.3(@swc/helpers@0.5.15) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) htmlparser2@6.1.0: dependencies: @@ -16112,13 +16127,13 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-immutable-type@5.0.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): + is-immutable-type@5.0.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): dependencies: - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.4.0) - ts-api-utils: 1.4.0(typescript@5.6.3) - ts-declaration-location: 1.0.4(typescript@5.6.3) - typescript: 5.6.3 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.15.0(jiti@2.4.0) + ts-api-utils: 1.4.0(typescript@5.7.2) + ts-declaration-location: 1.0.4(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -16219,7 +16234,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16235,7 +16250,7 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@9.0.0: {} + js-tokens@9.0.1: {} js-yaml@3.14.1: dependencies: @@ -16349,7 +16364,7 @@ snapshots: light-my-request@6.3.0: dependencies: - cookie: 1.0.1 + cookie: 1.0.2 process-warning: 4.0.0 set-cookie-parser: 2.7.1 optional: true @@ -16389,7 +16404,7 @@ snapshots: loader-runner@4.3.0: {} - local-pkg@0.5.0: + local-pkg@0.5.1: dependencies: mlly: 1.7.3 pkg-types: 1.2.1 @@ -16452,7 +16467,7 @@ snapshots: lz-string@1.5.0: {} - magic-string@0.30.12: + magic-string@0.30.13: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -16620,7 +16635,7 @@ snapshots: mkdirp@1.0.4: {} - mkdist@1.6.0(typescript@5.6.3)(vue-tsc@2.0.29(typescript@5.6.3)): + mkdist@1.6.0(typescript@5.7.2)(vue-tsc@2.0.29(typescript@5.7.2)): dependencies: autoprefixer: 10.4.20(postcss@8.4.49) citty: 0.1.6 @@ -16636,8 +16651,8 @@ snapshots: semver: 7.6.3 tinyglobby: 0.2.10 optionalDependencies: - typescript: 5.6.3 - vue-tsc: 2.0.29(typescript@5.6.3) + typescript: 5.7.2 + vue-tsc: 2.0.29(typescript@5.7.2) mlly@1.7.3: dependencies: @@ -16652,13 +16667,13 @@ snapshots: ms@2.1.3: {} - msw@2.6.4(@types/node@22.9.0)(typescript@5.6.3): + msw@2.6.6(@types/node@22.9.3)(typescript@5.7.2): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.0.2(@types/node@22.9.0) - '@mswjs/interceptors': 0.36.10 + '@inquirer/confirm': 5.0.2(@types/node@22.9.3) + '@mswjs/interceptors': 0.37.1 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 @@ -16670,10 +16685,10 @@ snapshots: outvariant: 1.4.3 path-to-regexp: 6.3.0 strict-event-emitter: 0.5.1 - type-fest: 4.26.1 + type-fest: 4.28.0 yargs: 17.7.2 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - '@types/node' @@ -16704,13 +16719,13 @@ snapshots: neo-async@2.6.2: {} - next@15.0.3(@playwright/test@1.48.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@15.0.3(@playwright/test@1.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 15.0.3 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.13 busboy: 1.6.0 - caniuse-lite: 1.0.30001680 + caniuse-lite: 1.0.30001684 postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16724,25 +16739,25 @@ snapshots: '@next/swc-linux-x64-musl': 15.0.3 '@next/swc-win32-arm64-msvc': 15.0.3 '@next/swc-win32-x64-msvc': 15.0.3 - '@playwright/test': 1.48.2 + '@playwright/test': 1.49.0 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros optional: true - nitropack@2.10.4(typescript@5.6.3): + nitropack@2.10.4(typescript@5.7.2): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@netlify/functions': 2.8.2 - '@rollup/plugin-alias': 5.1.1(rollup@4.26.0) - '@rollup/plugin-commonjs': 28.0.1(rollup@4.26.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.26.0) - '@rollup/plugin-json': 6.1.0(rollup@4.26.0) - '@rollup/plugin-node-resolve': 15.3.0(rollup@4.26.0) - '@rollup/plugin-replace': 6.0.1(rollup@4.26.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.26.0) - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/plugin-alias': 5.1.1(rollup@4.27.4) + '@rollup/plugin-commonjs': 28.0.1(rollup@4.27.4) + '@rollup/plugin-inject': 5.0.5(rollup@4.27.4) + '@rollup/plugin-json': 6.1.0(rollup@4.27.4) + '@rollup/plugin-node-resolve': 15.3.0(rollup@4.27.4) + '@rollup/plugin-replace': 6.0.1(rollup@4.27.4) + '@rollup/plugin-terser': 0.4.4(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) '@types/http-proxy': 1.17.15 '@vercel/nft': 0.27.6 archiver: 7.0.1 @@ -16773,21 +16788,21 @@ snapshots: klona: 2.0.6 knitwork: 1.1.0 listhen: 1.9.0 - magic-string: 0.30.12 + magic-string: 0.30.13 magicast: 0.3.5 mime: 4.0.4 mlly: 1.7.3 node-fetch-native: 1.6.4 ofetch: 1.4.1 ohash: 1.1.4 - openapi-typescript: 7.4.3(typescript@5.6.3) + openapi-typescript: 7.4.3(typescript@5.7.2) pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.2.1 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.26.0 - rollup-plugin-visualizer: 5.12.0(rollup@4.26.0) + rollup: 4.27.4 + rollup-plugin-visualizer: 5.12.0(rollup@4.27.4) scule: 1.3.0 semver: 7.6.3 serve-placeholder: 2.0.2 @@ -16797,7 +16812,7 @@ snapshots: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.10.0 - unimport: 3.13.2(rollup@4.26.0) + unimport: 3.13.3(rollup@4.27.4) unstorage: 1.13.1(ioredis@5.4.1) untyped: 1.5.1 unwasm: 0.3.9 @@ -16853,7 +16868,7 @@ snapshots: node-forge@1.3.1: {} - node-gyp-build@4.8.3: {} + node-gyp-build@4.8.4: {} node-machine-id@1.1.12: {} @@ -16905,12 +16920,11 @@ snapshots: nwsapi@2.2.13: {} - nx@19.8.10(@swc/core@1.9.2(@swc/helpers@0.5.15)): + nx@20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 - '@nrwl/tao': 19.8.10(@swc/core@1.9.2(@swc/helpers@0.5.15)) '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.46 + '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 axios: 1.7.7 chalk: 4.1.2 @@ -16934,7 +16948,6 @@ snapshots: ora: 5.3.0 semver: 7.6.3 string-width: 4.2.3 - strong-log-transformer: 2.1.0 tar-stream: 2.2.0 tmp: 0.2.3 tsconfig-paths: 4.2.0 @@ -16942,17 +16955,17 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 19.8.10 - '@nx/nx-darwin-x64': 19.8.10 - '@nx/nx-freebsd-x64': 19.8.10 - '@nx/nx-linux-arm-gnueabihf': 19.8.10 - '@nx/nx-linux-arm64-gnu': 19.8.10 - '@nx/nx-linux-arm64-musl': 19.8.10 - '@nx/nx-linux-x64-gnu': 19.8.10 - '@nx/nx-linux-x64-musl': 19.8.10 - '@nx/nx-win32-arm64-msvc': 19.8.10 - '@nx/nx-win32-x64-msvc': 19.8.10 - '@swc/core': 1.9.2(@swc/helpers@0.5.15) + '@nx/nx-darwin-arm64': 20.1.3 + '@nx/nx-darwin-x64': 20.1.3 + '@nx/nx-freebsd-x64': 20.1.3 + '@nx/nx-linux-arm-gnueabihf': 20.1.3 + '@nx/nx-linux-arm64-gnu': 20.1.3 + '@nx/nx-linux-arm64-musl': 20.1.3 + '@nx/nx-linux-x64-gnu': 20.1.3 + '@nx/nx-linux-x64-musl': 20.1.3 + '@nx/nx-win32-arm64-msvc': 20.1.3 + '@nx/nx-win32-x64-msvc': 20.1.3 + '@swc/core': 1.9.3(@swc/helpers@0.5.15) transitivePeerDependencies: - debug @@ -17013,9 +17026,11 @@ snapshots: dependencies: mimic-fn: 4.0.0 - oniguruma-to-js@0.4.3: + oniguruma-to-es@0.4.1: dependencies: - regex: 4.4.0 + emoji-regex-xs: 1.0.0 + regex: 5.0.2 + regex-recursion: 4.2.1 open@10.1.0: dependencies: @@ -17030,14 +17045,14 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openapi-typescript@7.4.3(typescript@5.6.3): + openapi-typescript@7.4.3(typescript@5.7.2): dependencies: - '@redocly/openapi-core': 1.25.11(supports-color@9.4.0) + '@redocly/openapi-core': 1.25.13(supports-color@9.4.0) ansi-colors: 4.1.3 change-case: 5.4.4 parse-json: 8.1.0 supports-color: 9.4.0 - typescript: 5.6.3 + typescript: 5.7.2 yargs-parser: 21.1.1 transitivePeerDependencies: - encoding @@ -17084,7 +17099,7 @@ snapshots: dependencies: p-limit: 3.1.0 - p-retry@6.2.0: + p-retry@6.2.1: dependencies: '@types/retry': 0.12.2 is-network-error: 1.1.0 @@ -17111,9 +17126,9 @@ snapshots: parse-json@8.1.0: dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.26.2 index-to-position: 0.1.2 - type-fest: 4.26.1 + type-fest: 4.28.0 parse-passwd@1.0.0: {} @@ -17223,11 +17238,11 @@ snapshots: mlly: 1.7.3 pathe: 1.1.2 - playwright-core@1.48.2: {} + playwright-core@1.49.0: {} - playwright@1.48.2: + playwright@1.49.0: dependencies: - playwright-core: 1.48.2 + playwright-core: 1.49.0 optionalDependencies: fsevents: 2.3.2 @@ -17285,7 +17300,7 @@ snapshots: postcss-load-config@4.0.2(postcss@8.4.49): dependencies: lilconfig: 3.1.2 - yaml: 2.6.0 + yaml: 2.6.1 optionalDependencies: postcss: 8.4.49 @@ -17475,7 +17490,7 @@ snapshots: pseudomap@1.0.2: {} - psl@1.10.0: + psl@1.13.0: dependencies: punycode: 2.3.1 @@ -17654,19 +17669,27 @@ snapshots: regenerator-runtime@0.14.1: {} - regex@4.4.0: {} + regex-recursion@4.2.1: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.0.2: + dependencies: + regex-utilities: 2.3.0 relateurl@0.2.7: {} - remix-auth-form@1.5.0(@remix-run/server-runtime@2.14.0(typescript@5.6.3))(remix-auth@3.7.0(@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/server-runtime@2.14.0(typescript@5.6.3))): + remix-auth-form@1.5.0(@remix-run/server-runtime@2.15.0(typescript@5.7.2))(remix-auth@3.7.0(@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@remix-run/server-runtime@2.15.0(typescript@5.7.2))): dependencies: - '@remix-run/server-runtime': 2.14.0(typescript@5.6.3) - remix-auth: 3.7.0(@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/server-runtime@2.14.0(typescript@5.6.3)) + '@remix-run/server-runtime': 2.15.0(typescript@5.7.2) + remix-auth: 3.7.0(@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@remix-run/server-runtime@2.15.0(typescript@5.7.2)) - remix-auth@3.7.0(@remix-run/react@2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/server-runtime@2.14.0(typescript@5.6.3)): + remix-auth@3.7.0(@remix-run/react@2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@remix-run/server-runtime@2.15.0(typescript@5.7.2)): dependencies: - '@remix-run/react': 2.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@remix-run/server-runtime': 2.14.0(typescript@5.6.3) + '@remix-run/react': 2.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@remix-run/server-runtime': 2.15.0(typescript@5.7.2) uuid: 8.3.2 renderkid@3.0.0: @@ -17728,55 +17751,55 @@ snapshots: glob: 11.0.0 package-json-from-dist: 1.0.1 - rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.6.3): + rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.7.2): dependencies: - magic-string: 0.30.12 + magic-string: 0.30.13 rollup: 3.29.5 - typescript: 5.6.3 + typescript: 5.7.2 optionalDependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.26.2 - rollup-plugin-preserve-directives@0.4.0(rollup@4.26.0): + rollup-plugin-preserve-directives@0.4.0(rollup@4.27.4): dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) - magic-string: 0.30.12 - rollup: 4.26.0 + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + magic-string: 0.30.13 + rollup: 4.27.4 - rollup-plugin-visualizer@5.12.0(rollup@4.26.0): + rollup-plugin-visualizer@5.12.0(rollup@4.27.4): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.26.0 + rollup: 4.27.4 rollup@3.29.5: optionalDependencies: fsevents: 2.3.3 - rollup@4.26.0: + rollup@4.27.4: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.26.0 - '@rollup/rollup-android-arm64': 4.26.0 - '@rollup/rollup-darwin-arm64': 4.26.0 - '@rollup/rollup-darwin-x64': 4.26.0 - '@rollup/rollup-freebsd-arm64': 4.26.0 - '@rollup/rollup-freebsd-x64': 4.26.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.26.0 - '@rollup/rollup-linux-arm-musleabihf': 4.26.0 - '@rollup/rollup-linux-arm64-gnu': 4.26.0 - '@rollup/rollup-linux-arm64-musl': 4.26.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0 - '@rollup/rollup-linux-riscv64-gnu': 4.26.0 - '@rollup/rollup-linux-s390x-gnu': 4.26.0 - '@rollup/rollup-linux-x64-gnu': 4.26.0 - '@rollup/rollup-linux-x64-musl': 4.26.0 - '@rollup/rollup-win32-arm64-msvc': 4.26.0 - '@rollup/rollup-win32-ia32-msvc': 4.26.0 - '@rollup/rollup-win32-x64-msvc': 4.26.0 + '@rollup/rollup-android-arm-eabi': 4.27.4 + '@rollup/rollup-android-arm64': 4.27.4 + '@rollup/rollup-darwin-arm64': 4.27.4 + '@rollup/rollup-darwin-x64': 4.27.4 + '@rollup/rollup-freebsd-arm64': 4.27.4 + '@rollup/rollup-freebsd-x64': 4.27.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.27.4 + '@rollup/rollup-linux-arm-musleabihf': 4.27.4 + '@rollup/rollup-linux-arm64-gnu': 4.27.4 + '@rollup/rollup-linux-arm64-musl': 4.27.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.27.4 + '@rollup/rollup-linux-riscv64-gnu': 4.27.4 + '@rollup/rollup-linux-s390x-gnu': 4.27.4 + '@rollup/rollup-linux-x64-gnu': 4.27.4 + '@rollup/rollup-linux-x64-musl': 4.27.4 + '@rollup/rollup-win32-arm64-msvc': 4.27.4 + '@rollup/rollup-win32-ia32-msvc': 4.27.4 + '@rollup/rollup-win32-x64-msvc': 4.27.4 fsevents: 2.3.3 rrweb-cssom@0.7.1: {} @@ -17959,12 +17982,12 @@ snapshots: shell-quote@1.8.1: {} - shiki@1.22.2: + shiki@1.23.1: dependencies: - '@shikijs/core': 1.22.2 - '@shikijs/engine-javascript': 1.22.2 - '@shikijs/engine-oniguruma': 1.22.2 - '@shikijs/types': 1.22.2 + '@shikijs/core': 1.23.1 + '@shikijs/engine-javascript': 1.23.1 + '@shikijs/engine-oniguruma': 1.23.1 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -18009,7 +18032,7 @@ snapshots: snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.8.1 snakecase-keys@5.4.4: dependencies: @@ -18144,15 +18167,9 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@2.1.0: + strip-literal@2.1.1: dependencies: - js-tokens: 9.0.0 - - strong-log-transformer@2.1.0: - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 + js-tokens: 9.0.1 styled-jsx@5.1.6(react@18.3.1): dependencies: @@ -18180,10 +18197,6 @@ snapshots: dependencies: copy-anything: 3.0.5 - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -18211,11 +18224,11 @@ snapshots: csso: 5.0.5 picocolors: 1.1.1 - swc-loader@0.2.6(@swc/core@1.9.2(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)): + swc-loader@0.2.6(@swc/core@1.9.3(@swc/helpers@0.5.15))(webpack@5.96.1): dependencies: - '@swc/core': 1.9.2(@swc/helpers@0.5.15) + '@swc/core': 1.9.3(@swc/helpers@0.5.15) '@swc/counter': 0.1.3 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) swr@2.2.5(react@18.3.1): dependencies: @@ -18229,7 +18242,7 @@ snapshots: tailwind-merge@2.5.4: {} - tailwindcss@3.4.14: + tailwindcss@3.4.15: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -18281,28 +18294,28 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - terser-webpack-plugin@5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.36.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0) optionalDependencies: - '@swc/core': 1.9.2(@swc/helpers@0.5.15) + '@swc/core': 1.9.3(@swc/helpers@0.5.15) esbuild: 0.24.0 - terser-webpack-plugin@5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)): + terser-webpack-plugin@5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.36.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) optionalDependencies: - '@swc/core': 1.9.2(@swc/helpers@0.5.15) + '@swc/core': 1.9.3(@swc/helpers@0.5.15) esbuild: 0.24.0 terser@5.36.0: @@ -18316,8 +18329,6 @@ snapshots: text-extensions@2.4.0: {} - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -18352,17 +18363,17 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.0.1: {} + tinypool@1.0.2: {} tinyrainbow@1.2.0: {} tinyspy@3.0.2: {} - tldts-core@6.1.61: {} + tldts-core@6.1.64: {} - tldts@6.1.61: + tldts@6.1.64: dependencies: - tldts-core: 6.1.61 + tldts-core: 6.1.64 tmp@0.0.33: dependencies: @@ -18381,14 +18392,14 @@ snapshots: tough-cookie@4.1.4: dependencies: - psl: 1.10.0 + psl: 1.13.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 tough-cookie@5.0.0: dependencies: - tldts: 6.1.61 + tldts: 6.1.64 tr46@0.0.3: {} @@ -18404,22 +18415,22 @@ snapshots: trim-lines@3.0.1: {} - ts-api-utils@1.4.0(typescript@5.6.3): + ts-api-utils@1.4.0(typescript@5.7.2): dependencies: - typescript: 5.6.3 + typescript: 5.7.2 - ts-declaration-location@1.0.4(typescript@5.6.3): + ts-declaration-location@1.0.4(typescript@5.7.2): dependencies: minimatch: 10.0.1 - typescript: 5.6.3 + typescript: 5.7.2 ts-interface-checker@0.1.13: {} ts-pattern@5.5.0: {} - tsconfck@3.1.4(typescript@5.6.3): + tsconfck@3.1.4(typescript@5.7.2): optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 tsconfig-paths@4.2.0: dependencies: @@ -18448,40 +18459,40 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.26.1: {} + type-fest@4.28.0: {} type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - typedoc-plugin-frontmatter@1.0.0(typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.6.3))): + typedoc-plugin-frontmatter@1.0.0(typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.7.2))): dependencies: - typedoc-plugin-markdown: 4.2.10(typedoc@0.26.11(typescript@5.6.3)) - yaml: 2.6.0 + typedoc-plugin-markdown: 4.2.10(typedoc@0.26.11(typescript@5.7.2)) + yaml: 2.6.1 - typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.6.3)): + typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.7.2)): dependencies: - typedoc: 0.26.11(typescript@5.6.3) + typedoc: 0.26.11(typescript@5.7.2) - typedoc@0.26.11(typescript@5.6.3): + typedoc@0.26.11(typescript@5.7.2): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.22.2 - typescript: 5.6.3 - yaml: 2.6.0 + shiki: 1.23.1 + typescript: 5.7.2 + yaml: 2.6.1 - typescript-eslint@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): + typescript-eslint@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/parser': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.15.0(jiti@2.4.0) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - - eslint - supports-color typescript@5.1.6: {} @@ -18500,13 +18511,13 @@ snapshots: typescript@5.6.2: {} - typescript@5.6.3: {} + typescript@5.7.2: {} uc.micro@2.1.0: {} ufo@1.5.4: {} - unbuild@2.0.0(typescript@5.6.3)(vue-tsc@2.0.29(typescript@5.6.3)): + unbuild@2.0.0(typescript@5.7.2)(vue-tsc@2.0.29(typescript@5.7.2)): dependencies: '@rollup/plugin-alias': 5.1.1(rollup@3.29.5) '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.5) @@ -18522,18 +18533,18 @@ snapshots: globby: 13.2.2 hookable: 5.5.3 jiti: 1.21.6 - magic-string: 0.30.12 - mkdist: 1.6.0(typescript@5.6.3)(vue-tsc@2.0.29(typescript@5.6.3)) + magic-string: 0.30.13 + mkdist: 1.6.0(typescript@5.7.2)(vue-tsc@2.0.29(typescript@5.7.2)) mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 pretty-bytes: 6.1.1 rollup: 3.29.5 - rollup-plugin-dts: 6.1.1(rollup@3.29.5)(typescript@5.6.3) + rollup-plugin-dts: 6.1.1(rollup@3.29.5)(typescript@5.7.2) scule: 1.3.0 untyped: 1.5.1 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - sass - supports-color @@ -18547,7 +18558,7 @@ snapshots: dependencies: acorn: 8.14.0 estree-walker: 3.0.3 - magic-string: 0.30.12 + magic-string: 0.30.13 unplugin: 1.16.0 undici-types@5.28.4: {} @@ -18566,20 +18577,20 @@ snapshots: unicorn-magic@0.1.0: {} - unimport@3.13.2(rollup@4.26.0): + unimport@3.13.3(rollup@4.27.4): dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) acorn: 8.14.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 - local-pkg: 0.5.0 - magic-string: 0.30.12 + local-pkg: 0.5.1 + magic-string: 0.30.13 mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 scule: 1.3.0 - strip-literal: 2.1.0 + strip-literal: 2.1.1 unplugin: 1.16.0 transitivePeerDependencies: - rollup @@ -18656,7 +18667,7 @@ snapshots: unwasm@0.3.9: dependencies: knitwork: 1.1.0 - magic-string: 0.30.12 + magic-string: 0.30.13 mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 @@ -18712,9 +18723,9 @@ snapshots: v8flags@4.0.1: {} - valibot@1.0.0-beta.5(typescript@5.6.3): + valibot@1.0.0-beta.7(typescript@5.7.2): optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 validate-npm-package-name@5.0.1: {} @@ -18730,7 +18741,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vinxi@0.4.3(@types/node@22.9.0)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.6.3): + vinxi@0.4.3(@types/node@22.9.3)(ioredis@5.4.1)(terser@5.36.0)(typescript@5.7.2): dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) @@ -18752,7 +18763,7 @@ snapshots: hookable: 5.5.3 http-proxy: 1.18.1 micromatch: 4.0.8 - nitropack: 2.10.4(typescript@5.6.3) + nitropack: 2.10.4(typescript@5.7.2) node-fetch-native: 1.6.4 path-to-regexp: 6.3.0 pathe: 1.1.2 @@ -18764,7 +18775,7 @@ snapshots: unctx: 2.3.1 unenv: 1.10.0 unstorage: 1.13.1(ioredis@5.4.1) - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) zod: 3.23.8 transitivePeerDependencies: - '@azure/app-configuration' @@ -18800,13 +18811,13 @@ snapshots: - uWebSockets.js - xml2js - vite-node@2.1.5(@types/node@22.9.0)(terser@5.36.0): + vite-node@2.1.5(@types/node@22.9.3)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@9.4.0) es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - less @@ -18818,79 +18829,79 @@ snapshots: - supports-color - terser - vite-plugin-babel@1.2.0(@babel/core@7.26.0)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)): + vite-plugin-babel@1.2.0(@babel/core@7.26.0)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)): dependencies: '@babel/core': 7.26.0 - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) - vite-plugin-dts@4.0.3(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)): + vite-plugin-dts@4.0.3(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)): dependencies: - '@microsoft/api-extractor': 7.47.4(@types/node@22.9.0) - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@microsoft/api-extractor': 7.47.4(@types/node@22.9.3) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) '@volar/typescript': 2.4.10 - '@vue/language-core': 2.0.29(typescript@5.6.3) + '@vue/language-core': 2.0.29(typescript@5.7.2) compare-versions: 6.1.1 debug: 4.3.7(supports-color@9.4.0) kolorist: 1.8.0 - local-pkg: 0.5.0 - magic-string: 0.30.12 - typescript: 5.6.3 - vue-tsc: 2.0.29(typescript@5.6.3) + local-pkg: 0.5.1 + magic-string: 0.30.13 + typescript: 5.7.2 + vue-tsc: 2.0.29(typescript@5.7.2) optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-dts@4.3.0(@types/node@22.9.0)(rollup@4.26.0)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)): + vite-plugin-dts@4.3.0(@types/node@22.9.3)(rollup@4.27.4)(typescript@5.6.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)): dependencies: - '@microsoft/api-extractor': 7.47.11(@types/node@22.9.0) - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@microsoft/api-extractor': 7.48.0(@types/node@22.9.3) + '@rollup/pluginutils': 5.1.3(rollup@4.27.4) '@volar/typescript': 2.4.10 '@vue/language-core': 2.1.6(typescript@5.6.2) compare-versions: 6.1.1 debug: 4.3.7(supports-color@9.4.0) kolorist: 1.8.0 - local-pkg: 0.5.0 - magic-string: 0.30.12 + local-pkg: 0.5.1 + magic-string: 0.30.13 typescript: 5.6.2 optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)): + vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)): dependencies: - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) - vite-tsconfig-paths@5.1.2(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)): + vite-tsconfig-paths@5.1.3(typescript@5.7.2)(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)): dependencies: debug: 4.3.7(supports-color@9.4.0) globrex: 0.1.2 - tsconfck: 3.1.4(typescript@5.6.3) + tsconfck: 3.1.4(typescript@5.7.2) optionalDependencies: - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.11(@types/node@22.9.0)(terser@5.36.0): + vite@5.4.11(@types/node@22.9.3)(terser@5.36.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.26.0 + rollup: 4.27.4 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 fsevents: 2.3.3 terser: 5.36.0 - vitest@2.1.5(@types/node@22.9.0)(jsdom@25.0.1)(msw@2.6.4(@types/node@22.9.0)(typescript@5.6.3))(terser@5.36.0): + vitest@2.1.5(@types/node@22.9.3)(jsdom@25.0.1)(msw@2.6.6(@types/node@22.9.3)(typescript@5.7.2))(terser@5.36.0): dependencies: '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(msw@2.6.4(@types/node@22.9.0)(typescript@5.6.3))(vite@5.4.11(@types/node@22.9.0)(terser@5.36.0)) + '@vitest/mocker': 2.1.5(msw@2.6.6(@types/node@22.9.3)(typescript@5.7.2))(vite@5.4.11(@types/node@22.9.3)(terser@5.36.0)) '@vitest/pretty-format': 2.1.5 '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 @@ -18899,18 +18910,18 @@ snapshots: chai: 5.1.2 debug: 4.3.7(supports-color@9.4.0) expect-type: 1.1.0 - magic-string: 0.30.12 + magic-string: 0.30.13 pathe: 1.1.2 std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.1 - tinypool: 1.0.1 + tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.9.0)(terser@5.36.0) - vite-node: 2.1.5(@types/node@22.9.0)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.3)(terser@5.36.0) + vite-node: 2.1.5(@types/node@22.9.3)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 jsdom: 25.0.1 transitivePeerDependencies: - less @@ -18925,12 +18936,12 @@ snapshots: vscode-uri@3.0.8: {} - vue-tsc@2.0.29(typescript@5.6.3): + vue-tsc@2.0.29(typescript@5.7.2): dependencies: '@volar/typescript': 2.4.10 - '@vue/language-core': 2.0.29(typescript@5.6.3) + '@vue/language-core': 2.0.29(typescript@5.7.2) semver: 7.6.3 - typescript: 5.6.3 + typescript: 5.7.2 w3c-xmlserializer@5.0.0: dependencies: @@ -18958,23 +18969,23 @@ snapshots: webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1))(webpack-dev-server@5.1.0(webpack-cli@5.1.4)(webpack@5.96.1))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.96.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.96.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.1.0)(webpack@5.96.1) colorette: 2.0.20 commander: 10.0.1 - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 envinfo: 7.14.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.96.1) - webpack-dev-middleware@7.4.2(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)): + webpack-dev-middleware@7.4.2(webpack@5.96.1): dependencies: colorette: 2.0.20 memfs: 4.14.0 @@ -18983,7 +18994,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-dev-server@5.1.0(webpack-cli@5.1.4)(webpack@5.96.1): dependencies: @@ -18995,7 +19006,7 @@ snapshots: '@types/sockjs': 0.3.36 '@types/ws': 8.5.13 ansi-html-community: 0.0.8 - bonjour-service: 1.2.1 + bonjour-service: 1.3.0 chokidar: 3.6.0 colorette: 2.0.20 compression: 1.7.5 @@ -19007,16 +19018,16 @@ snapshots: ipaddr.js: 2.2.0 launch-editor: 2.9.1 open: 10.1.0 - p-retry: 6.2.0 + p-retry: 6.2.1 schema-utils: 4.2.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) + webpack-dev-middleware: 7.4.2(webpack@5.96.1) ws: 8.18.0 optionalDependencies: - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) + webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.96.1) transitivePeerDependencies: - bufferutil @@ -19034,7 +19045,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0): + webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -19056,7 +19067,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -19064,7 +19075,7 @@ snapshots: - esbuild - uglify-js - webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4): + webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -19086,7 +19097,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.96.1) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: @@ -19189,7 +19200,7 @@ snapshots: yaml-ast-parser@0.0.43: {} - yaml@2.6.0: {} + yaml@2.6.1: {} yargs-parser@20.2.9: {}