diff --git a/apps/react-vite/.storybook/preview.tsx b/apps/react-vite/.storybook/preview.tsx
index d4949b16..1f086ba3 100644
--- a/apps/react-vite/.storybook/preview.tsx
+++ b/apps/react-vite/.storybook/preview.tsx
@@ -1,5 +1,5 @@
import React from 'react';
-import { BrowserRouter as Router } from 'react-router-dom';
+import { BrowserRouter as Router } from 'react-router';
import '../src/index.css';
export const parameters = {
diff --git a/apps/react-vite/package.json b/apps/react-vite/package.json
index 127b5073..c2a4bf48 100644
--- a/apps/react-vite/package.json
+++ b/apps/react-vite/package.json
@@ -42,8 +42,8 @@
"react-error-boundary": "^4.0.13",
"react-helmet-async": "^2.0.4",
"react-hook-form": "^7.51.3",
- "react-query-auth": "^2.3.0",
- "react-router-dom": "^6.23.0",
+ "react-query-auth": "^2.4.3",
+ "react-router": "^7.0.2",
"tailwind-merge": "^2.3.0",
"tailwindcss-animate": "^1.0.7",
"zod": "^3.23.4",
diff --git a/apps/react-vite/src/app/router.tsx b/apps/react-vite/src/app/router.tsx
index b37cb5e8..4ea857d3 100644
--- a/apps/react-vite/src/app/router.tsx
+++ b/apps/react-vite/src/app/router.tsx
@@ -1,34 +1,39 @@
import { QueryClient, useQueryClient } from '@tanstack/react-query';
import { useMemo } from 'react';
-import { RouterProvider, createBrowserRouter } from 'react-router-dom';
+import { createBrowserRouter } from 'react-router';
+import { RouterProvider } from 'react-router/dom';
import { paths } from '@/config/paths';
import { ProtectedRoute } from '@/lib/auth';
-import { AppRoot, AppRootErrorBoundary } from './routes/app/root';
+import {
+ default as AppRoot,
+ ErrorBoundary as AppRootErrorBoundary,
+} from './routes/app/root';
+
+const convert = (queryClient: QueryClient) => (m: any) => {
+ const { clientLoader, clientAction, default: Component, ...rest } = m;
+ return {
+ ...rest,
+ loader: clientLoader?.(queryClient),
+ action: clientAction?.(queryClient),
+ Component,
+ };
+};
export const createAppRouter = (queryClient: QueryClient) =>
createBrowserRouter([
{
path: paths.home.path,
- lazy: async () => {
- const { LandingRoute } = await import('./routes/landing');
- return { Component: LandingRoute };
- },
+ lazy: () => import('./routes/landing').then(convert(queryClient)),
},
{
path: paths.auth.register.path,
- lazy: async () => {
- const { RegisterRoute } = await import('./routes/auth/register');
- return { Component: RegisterRoute };
- },
+ lazy: () => import('./routes/auth/register').then(convert(queryClient)),
},
{
path: paths.auth.login.path,
- lazy: async () => {
- const { LoginRoute } = await import('./routes/auth/login');
- return { Component: LoginRoute };
- },
+ lazy: () => import('./routes/auth/login').then(convert(queryClient)),
},
{
path: paths.app.root.path,
@@ -41,74 +46,36 @@ export const createAppRouter = (queryClient: QueryClient) =>
children: [
{
path: paths.app.discussions.path,
- lazy: async () => {
- const { DiscussionsRoute, discussionsLoader } = await import(
- './routes/app/discussions/discussions'
- );
- return {
- Component: DiscussionsRoute,
- loader: discussionsLoader(queryClient),
- };
- },
- ErrorBoundary: AppRootErrorBoundary,
+ lazy: () =>
+ import('./routes/app/discussions/discussions').then(
+ convert(queryClient),
+ ),
},
{
path: paths.app.discussion.path,
- lazy: async () => {
- const { DiscussionRoute, discussionLoader } = await import(
- './routes/app/discussions/discussion'
- );
- return {
- Component: DiscussionRoute,
- loader: discussionLoader(queryClient),
- };
- },
- ErrorBoundary: AppRootErrorBoundary,
+ lazy: () =>
+ import('./routes/app/discussions/discussion').then(
+ convert(queryClient),
+ ),
},
{
path: paths.app.users.path,
- lazy: async () => {
- const { UsersRoute, usersLoader } = await import(
- './routes/app/users'
- );
- return {
- Component: UsersRoute,
- loader: usersLoader(queryClient),
- };
- },
- ErrorBoundary: AppRootErrorBoundary,
+ lazy: () => import('./routes/app/users').then(convert(queryClient)),
},
{
path: paths.app.profile.path,
- lazy: async () => {
- const { ProfileRoute } = await import('./routes/app/profile');
- return {
- Component: ProfileRoute,
- };
- },
- ErrorBoundary: AppRootErrorBoundary,
+ lazy: () => import('./routes/app/profile').then(convert(queryClient)),
},
{
path: paths.app.dashboard.path,
- lazy: async () => {
- const { DashboardRoute } = await import('./routes/app/dashboard');
- return {
- Component: DashboardRoute,
- };
- },
- ErrorBoundary: AppRootErrorBoundary,
+ lazy: () =>
+ import('./routes/app/dashboard').then(convert(queryClient)),
},
],
},
{
path: '*',
- lazy: async () => {
- const { NotFoundRoute } = await import('./routes/not-found');
- return {
- Component: NotFoundRoute,
- };
- },
- ErrorBoundary: AppRootErrorBoundary,
+ lazy: () => import('./routes/not-found').then(convert(queryClient)),
},
]);
diff --git a/apps/react-vite/src/app/routes/app/dashboard.tsx b/apps/react-vite/src/app/routes/app/dashboard.tsx
index 4f45d2ad..324e2f3a 100644
--- a/apps/react-vite/src/app/routes/app/dashboard.tsx
+++ b/apps/react-vite/src/app/routes/app/dashboard.tsx
@@ -2,7 +2,7 @@ import { ContentLayout } from '@/components/layouts';
import { useUser } from '@/lib/auth';
import { ROLES } from '@/lib/authorization';
-export const DashboardRoute = () => {
+const DashboardRoute = () => {
const user = useUser();
return (
@@ -31,3 +31,5 @@ export const DashboardRoute = () => {
);
};
+
+export default DashboardRoute;
diff --git a/apps/react-vite/src/app/routes/app/discussions/__tests__/discussion.test.tsx b/apps/react-vite/src/app/routes/app/discussions/__tests__/discussion.test.tsx
index 2b766eea..d84b155d 100644
--- a/apps/react-vite/src/app/routes/app/discussions/__tests__/discussion.test.tsx
+++ b/apps/react-vite/src/app/routes/app/discussions/__tests__/discussion.test.tsx
@@ -8,7 +8,7 @@ import {
within,
} from '@/testing/test-utils';
-import { DiscussionRoute } from '../discussion';
+import { default as DiscussionRoute } from '../discussion';
const renderDiscussion = async () => {
const fakeUser = await createUser();
diff --git a/apps/react-vite/src/app/routes/app/discussions/__tests__/discussions.test.tsx b/apps/react-vite/src/app/routes/app/discussions/__tests__/discussions.test.tsx
index 3afe2cb8..dbc08e6d 100644
--- a/apps/react-vite/src/app/routes/app/discussions/__tests__/discussions.test.tsx
+++ b/apps/react-vite/src/app/routes/app/discussions/__tests__/discussions.test.tsx
@@ -10,7 +10,7 @@ import {
} from '@/testing/test-utils';
import { formatDate } from '@/utils/format';
-import { DiscussionsRoute } from '../discussions';
+import { default as DiscussionsRoute } from '../discussions';
beforeAll(() => {
vi.spyOn(console, 'error').mockImplementation(() => {});
diff --git a/apps/react-vite/src/app/routes/app/discussions/discussion.tsx b/apps/react-vite/src/app/routes/app/discussions/discussion.tsx
index db111d9e..035afd03 100644
--- a/apps/react-vite/src/app/routes/app/discussions/discussion.tsx
+++ b/apps/react-vite/src/app/routes/app/discussions/discussion.tsx
@@ -1,6 +1,6 @@
import { QueryClient } from '@tanstack/react-query';
import { ErrorBoundary } from 'react-error-boundary';
-import { useParams, LoaderFunctionArgs } from 'react-router-dom';
+import { useParams, LoaderFunctionArgs } from 'react-router';
import { ContentLayout } from '@/components/layouts';
import { Spinner } from '@/components/ui/spinner';
@@ -12,7 +12,7 @@ import {
} from '@/features/discussions/api/get-discussion';
import { DiscussionView } from '@/features/discussions/components/discussion-view';
-export const discussionLoader =
+export const clientLoader =
(queryClient: QueryClient) =>
async ({ params }: LoaderFunctionArgs) => {
const discussionId = params.discussionId as string;
@@ -35,7 +35,7 @@ export const discussionLoader =
};
};
-export const DiscussionRoute = () => {
+const DiscussionRoute = () => {
const params = useParams();
const discussionId = params.discussionId as string;
const discussionQuery = useDiscussion({
@@ -71,3 +71,5 @@ export const DiscussionRoute = () => {
>
);
};
+
+export default DiscussionRoute;
diff --git a/apps/react-vite/src/app/routes/app/discussions/discussions.tsx b/apps/react-vite/src/app/routes/app/discussions/discussions.tsx
index 502faaa3..7d1f0f0d 100644
--- a/apps/react-vite/src/app/routes/app/discussions/discussions.tsx
+++ b/apps/react-vite/src/app/routes/app/discussions/discussions.tsx
@@ -1,5 +1,5 @@
import { QueryClient, useQueryClient } from '@tanstack/react-query';
-import { LoaderFunctionArgs } from 'react-router-dom';
+import { LoaderFunctionArgs } from 'react-router';
import { ContentLayout } from '@/components/layouts';
import { getInfiniteCommentsQueryOptions } from '@/features/comments/api/get-comments';
@@ -7,7 +7,7 @@ import { getDiscussionsQueryOptions } from '@/features/discussions/api/get-discu
import { CreateDiscussion } from '@/features/discussions/components/create-discussion';
import { DiscussionsList } from '@/features/discussions/components/discussions-list';
-export const discussionsLoader =
+export const clientLoader =
(queryClient: QueryClient) =>
async ({ request }: LoaderFunctionArgs) => {
const url = new URL(request.url);
@@ -22,7 +22,7 @@ export const discussionsLoader =
);
};
-export const DiscussionsRoute = () => {
+const DiscussionsRoute = () => {
const queryClient = useQueryClient();
return (
@@ -42,3 +42,5 @@ export const DiscussionsRoute = () => {
);
};
+
+export default DiscussionsRoute;
diff --git a/apps/react-vite/src/app/routes/app/profile.tsx b/apps/react-vite/src/app/routes/app/profile.tsx
index 4c22a485..a84b9a43 100644
--- a/apps/react-vite/src/app/routes/app/profile.tsx
+++ b/apps/react-vite/src/app/routes/app/profile.tsx
@@ -15,7 +15,7 @@ const Entry = ({ label, value }: EntryProps) => (
);
-export const ProfileRoute = () => {
+const ProfileRoute = () => {
const user = useUser();
if (!user.data) return null;
@@ -47,3 +47,5 @@ export const ProfileRoute = () => {
);
};
+
+export default ProfileRoute;
diff --git a/apps/react-vite/src/app/routes/app/root.tsx b/apps/react-vite/src/app/routes/app/root.tsx
index 740f4499..a75c68f1 100644
--- a/apps/react-vite/src/app/routes/app/root.tsx
+++ b/apps/react-vite/src/app/routes/app/root.tsx
@@ -1,8 +1,12 @@
-import { Outlet } from 'react-router-dom';
+import { Outlet } from 'react-router';
import { DashboardLayout } from '@/components/layouts';
-export const AppRoot = () => {
+export const ErrorBoundary = () => {
+ return
Something went wrong!
;
+};
+
+const AppRoot = () => {
return (
@@ -10,6 +14,4 @@ export const AppRoot = () => {
);
};
-export const AppRootErrorBoundary = () => {
- return Something went wrong!
;
-};
+export default AppRoot;
diff --git a/apps/react-vite/src/app/routes/app/users.tsx b/apps/react-vite/src/app/routes/app/users.tsx
index d8038bce..77640dd1 100644
--- a/apps/react-vite/src/app/routes/app/users.tsx
+++ b/apps/react-vite/src/app/routes/app/users.tsx
@@ -5,7 +5,7 @@ import { getUsersQueryOptions } from '@/features/users/api/get-users';
import { UsersList } from '@/features/users/components/users-list';
import { Authorization, ROLES } from '@/lib/authorization';
-export const usersLoader = (queryClient: QueryClient) => async () => {
+export const clientLoader = (queryClient: QueryClient) => async () => {
const query = getUsersQueryOptions();
return (
@@ -14,7 +14,7 @@ export const usersLoader = (queryClient: QueryClient) => async () => {
);
};
-export const UsersRoute = () => {
+const UsersRoute = () => {
return (
{
);
};
+
+export default UsersRoute;
diff --git a/apps/react-vite/src/app/routes/auth/login.tsx b/apps/react-vite/src/app/routes/auth/login.tsx
index dc01f50d..ffd28683 100644
--- a/apps/react-vite/src/app/routes/auth/login.tsx
+++ b/apps/react-vite/src/app/routes/auth/login.tsx
@@ -1,10 +1,10 @@
-import { useNavigate, useSearchParams } from 'react-router-dom';
+import { useNavigate, useSearchParams } from 'react-router';
import { AuthLayout } from '@/components/layouts/auth-layout';
import { paths } from '@/config/paths';
import { LoginForm } from '@/features/auth/components/login-form';
-export const LoginRoute = () => {
+const LoginRoute = () => {
const navigate = useNavigate();
const [searchParams] = useSearchParams();
const redirectTo = searchParams.get('redirectTo');
@@ -24,3 +24,5 @@ export const LoginRoute = () => {
);
};
+
+export default LoginRoute;
diff --git a/apps/react-vite/src/app/routes/auth/register.tsx b/apps/react-vite/src/app/routes/auth/register.tsx
index f9eeb26d..afee8a4d 100644
--- a/apps/react-vite/src/app/routes/auth/register.tsx
+++ b/apps/react-vite/src/app/routes/auth/register.tsx
@@ -1,12 +1,12 @@
import { useState } from 'react';
-import { useNavigate, useSearchParams } from 'react-router-dom';
+import { useNavigate, useSearchParams } from 'react-router';
import { AuthLayout } from '@/components/layouts/auth-layout';
import { paths } from '@/config/paths';
import { RegisterForm } from '@/features/auth/components/register-form';
import { useTeams } from '@/features/teams/api/get-teams';
-export const RegisterRoute = () => {
+const RegisterRoute = () => {
const navigate = useNavigate();
const [searchParams] = useSearchParams();
const redirectTo = searchParams.get('redirectTo');
@@ -36,3 +36,5 @@ export const RegisterRoute = () => {
);
};
+
+export default RegisterRoute;
diff --git a/apps/react-vite/src/app/routes/landing.tsx b/apps/react-vite/src/app/routes/landing.tsx
index 2b1dce28..4fb65409 100644
--- a/apps/react-vite/src/app/routes/landing.tsx
+++ b/apps/react-vite/src/app/routes/landing.tsx
@@ -1,4 +1,4 @@
-import { useNavigate } from 'react-router-dom';
+import { useNavigate } from 'react-router';
import logo from '@/assets/logo.svg';
import { Head } from '@/components/seo';
@@ -6,7 +6,7 @@ import { Button } from '@/components/ui/button';
import { paths } from '@/config/paths';
import { useUser } from '@/lib/auth';
-export const LandingRoute = () => {
+const LandingRoute = () => {
const navigate = useNavigate();
const user = useUser();
@@ -84,3 +84,5 @@ export const LandingRoute = () => {
>
);
};
+
+export default LandingRoute;
diff --git a/apps/react-vite/src/app/routes/not-found.tsx b/apps/react-vite/src/app/routes/not-found.tsx
index 055a18ac..4f3ad7d5 100644
--- a/apps/react-vite/src/app/routes/not-found.tsx
+++ b/apps/react-vite/src/app/routes/not-found.tsx
@@ -1,7 +1,7 @@
import { Link } from '@/components/ui/link';
import { paths } from '@/config/paths';
-export const NotFoundRoute = () => {
+const NotFoundRoute = () => {
return (
404 - Not Found
@@ -12,3 +12,5 @@ export const NotFoundRoute = () => {
);
};
+
+export default NotFoundRoute;
diff --git a/apps/react-vite/src/components/layouts/auth-layout.tsx b/apps/react-vite/src/components/layouts/auth-layout.tsx
index 785bbba7..8390e118 100644
--- a/apps/react-vite/src/components/layouts/auth-layout.tsx
+++ b/apps/react-vite/src/components/layouts/auth-layout.tsx
@@ -1,6 +1,6 @@
import * as React from 'react';
import { useEffect } from 'react';
-import { useNavigate, useSearchParams } from 'react-router-dom';
+import { useNavigate, useSearchParams } from 'react-router';
import logo from '@/assets/logo.svg';
import { Head } from '@/components/seo';
diff --git a/apps/react-vite/src/components/layouts/dashboard-layout.tsx b/apps/react-vite/src/components/layouts/dashboard-layout.tsx
index f95cdab5..51823918 100644
--- a/apps/react-vite/src/components/layouts/dashboard-layout.tsx
+++ b/apps/react-vite/src/components/layouts/dashboard-layout.tsx
@@ -1,6 +1,6 @@
import { Home, PanelLeft, Folder, Users, User2 } from 'lucide-react';
import { useEffect, useState } from 'react';
-import { NavLink, useNavigate, useNavigation } from 'react-router-dom';
+import { NavLink, useNavigate, useNavigation } from 'react-router';
import logo from '@/assets/logo.svg';
import { Button } from '@/components/ui/button';
@@ -77,9 +77,11 @@ const Progress = () => {
};
export function DashboardLayout({ children }: { children: React.ReactNode }) {
- const logout = useLogout();
- const { checkAccess } = useAuthorization();
const navigate = useNavigate();
+ const logout = useLogout({
+ onSuccess: () => navigate(paths.auth.login.getHref(location.pathname)),
+ });
+ const { checkAccess } = useAuthorization();
const navigation = [
{ name: 'Dashboard', to: paths.app.dashboard.getHref(), icon: Home },
{ name: 'Discussions', to: paths.app.discussions.getHref(), icon: Folder },
diff --git a/apps/react-vite/src/components/ui/link/link.tsx b/apps/react-vite/src/components/ui/link/link.tsx
index f0f6a642..7d68abdf 100644
--- a/apps/react-vite/src/components/ui/link/link.tsx
+++ b/apps/react-vite/src/components/ui/link/link.tsx
@@ -1,4 +1,4 @@
-import { Link as RouterLink, LinkProps } from 'react-router-dom';
+import { Link as RouterLink, LinkProps } from 'react-router';
import { cn } from '@/utils/cn';
diff --git a/apps/react-vite/src/features/auth/components/login-form.tsx b/apps/react-vite/src/features/auth/components/login-form.tsx
index 0a2e14dc..02ad0fce 100644
--- a/apps/react-vite/src/features/auth/components/login-form.tsx
+++ b/apps/react-vite/src/features/auth/components/login-form.tsx
@@ -1,4 +1,4 @@
-import { Link, useSearchParams } from 'react-router-dom';
+import { Link, useSearchParams } from 'react-router';
import { Button } from '@/components/ui/button';
import { Form, Input } from '@/components/ui/form';
diff --git a/apps/react-vite/src/features/auth/components/register-form.tsx b/apps/react-vite/src/features/auth/components/register-form.tsx
index caa1c7fe..9eb4a030 100644
--- a/apps/react-vite/src/features/auth/components/register-form.tsx
+++ b/apps/react-vite/src/features/auth/components/register-form.tsx
@@ -1,5 +1,5 @@
import * as React from 'react';
-import { Link, useSearchParams } from 'react-router-dom';
+import { Link, useSearchParams } from 'react-router';
import { Button } from '@/components/ui/button';
import { Form, Input, Select, Label, Switch } from '@/components/ui/form';
diff --git a/apps/react-vite/src/features/discussions/components/discussions-list.tsx b/apps/react-vite/src/features/discussions/components/discussions-list.tsx
index 41d2c733..9aa5fbad 100644
--- a/apps/react-vite/src/features/discussions/components/discussions-list.tsx
+++ b/apps/react-vite/src/features/discussions/components/discussions-list.tsx
@@ -1,5 +1,5 @@
import { useQueryClient } from '@tanstack/react-query';
-import { useSearchParams } from 'react-router-dom';
+import { useSearchParams } from 'react-router';
import { Link } from '@/components/ui/link';
import { Spinner } from '@/components/ui/spinner';
diff --git a/apps/react-vite/src/lib/auth.tsx b/apps/react-vite/src/lib/auth.tsx
index 9ab90a87..15379814 100644
--- a/apps/react-vite/src/lib/auth.tsx
+++ b/apps/react-vite/src/lib/auth.tsx
@@ -1,5 +1,5 @@
import { configureAuth } from 'react-query-auth';
-import { Navigate, useLocation } from 'react-router-dom';
+import { Navigate, useLocation } from 'react-router';
import { z } from 'zod';
import { paths } from '@/config/paths';
@@ -80,10 +80,6 @@ export const ProtectedRoute = ({ children }: { children: React.ReactNode }) => {
const location = useLocation();
if (!user.data) {
- console.log({
- pathname: location.pathname,
- redirectTo: paths.auth.login.getHref(location.pathname),
- });
return (
);
diff --git a/apps/react-vite/src/testing/test-utils.tsx b/apps/react-vite/src/testing/test-utils.tsx
index 15ae9d3e..b50e3721 100644
--- a/apps/react-vite/src/testing/test-utils.tsx
+++ b/apps/react-vite/src/testing/test-utils.tsx
@@ -5,7 +5,7 @@ import {
} from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import Cookies from 'js-cookie';
-import { RouterProvider, createMemoryRouter } from 'react-router-dom';
+import { RouterProvider, createMemoryRouter } from 'react-router';
import { AppProvider } from '@/app/provider';
diff --git a/apps/react-vite/tsconfig.json b/apps/react-vite/tsconfig.json
index 80ce14bb..ec0e7ca4 100644
--- a/apps/react-vite/tsconfig.json
+++ b/apps/react-vite/tsconfig.json
@@ -10,7 +10,7 @@
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
- "moduleResolution": "Node",
+ "moduleResolution": "bundler",
"resolveJsonModule": true,
"noEmit": true,
"jsx": "react-jsx",
diff --git a/apps/react-vite/yarn.lock b/apps/react-vite/yarn.lock
index bbf405ef..f673c893 100644
--- a/apps/react-vite/yarn.lock
+++ b/apps/react-vite/yarn.lock
@@ -1922,11 +1922,6 @@
dependencies:
"@babel/runtime" "^7.13.10"
-"@remix-run/router@1.16.0":
- version "1.16.0"
- resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.0.tgz#0e10181e5fec1434eb071a9bc4bdaac843f16dcc"
- integrity sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==
-
"@rollup/pluginutils@^5.0.2":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0"
@@ -4364,6 +4359,11 @@ cookie@^0.5.0:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+cookie@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-1.0.2.tgz#27360701532116bd3f1f9416929d176afe1e4610"
+ integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==
+
core-js-compat@^3.31.0, core-js-compat@^3.36.1:
version "3.37.0"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.0.tgz#d9570e544163779bb4dff1031c7972f44918dc73"
@@ -8738,10 +8738,10 @@ react-is@^18.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
-react-query-auth@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/react-query-auth/-/react-query-auth-2.3.0.tgz#2c03e4cd3c75a01bde0cfa97168b857906315449"
- integrity sha512-42IvqDxnQMOCdPmf+H8hMscO+1EgDPMuNnJrYEJwe8Itsd2z96obtlm85PvBk8BgvOQrKGEGx1VDsAIzk6y7yw==
+react-query-auth@^2.4.3:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/react-query-auth/-/react-query-auth-2.4.3.tgz#63d0faf866a5844b18c89257f9c17121ac3b682c"
+ integrity sha512-sSDX4OZSyBTvTOItiWEH/SsTfKg7AEAc7qOL1qsxx+vIx5s82VeUyj4W1vNlHY9nFeU1accm1hRW1FVF2TzaiA==
react-refresh@^0.14.0:
version "0.14.2"
@@ -8767,20 +8767,15 @@ react-remove-scroll@2.5.5:
use-callback-ref "^1.3.0"
use-sidecar "^1.1.2"
-react-router-dom@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.0.tgz#8b80ad92ad28f4dc38972e92d84b4c208150545a"
- integrity sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==
- dependencies:
- "@remix-run/router" "1.16.0"
- react-router "6.23.0"
-
-react-router@6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.23.0.tgz#2f2d7492c66a6bdf760be4c6bdf9e1d672fa154b"
- integrity sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==
+react-router@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.0.2.tgz#2820e107cb8cec8acc5db15a17470c056ea86022"
+ integrity sha512-m5AcPfTRUcjwmhBzOJGEl6Y7+Crqyju0+TgTQxoS4SO+BkWbhOrcfZNq6wSWdl2BBbJbsAoBUb8ZacOFT+/JlA==
dependencies:
- "@remix-run/router" "1.16.0"
+ "@types/cookie" "^0.6.0"
+ cookie "^1.0.1"
+ set-cookie-parser "^2.6.0"
+ turbo-stream "2.4.0"
react-style-singleton@^2.2.1:
version "2.2.1"
@@ -9285,6 +9280,11 @@ serve-static@1.15.0:
parseurl "~1.3.3"
send "0.18.0"
+set-cookie-parser@^2.6.0:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz#3016f150072202dfbe90fadee053573cc89d2943"
+ integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==
+
set-function-length@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
@@ -10035,6 +10035,11 @@ tsutils@^3.21.0:
dependencies:
tslib "^1.8.1"
+turbo-stream@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/turbo-stream/-/turbo-stream-2.4.0.tgz#1e4fca6725e90fa14ac4adb782f2d3759a5695f0"
+ integrity sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==
+
tv4@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963"