diff --git a/package.json b/package.json index df4eefc3c..fb6c664b5 100644 --- a/package.json +++ b/package.json @@ -114,8 +114,8 @@ "react-i18next": "^15.1.0", "react-joyride": "^2.9.3", "react-redux": "^8.0.5", - "react-router-dom": "5.3.x", - "react-router-dom-v5-compat": "^6.11.2", + "react-router": "^6.30.1", + "react-router-dom": "^6.30.1", "rxjs": "^7.8.1", "semver": "^7.6.0", "showdown": "^2.1.0" diff --git a/src/app/AppLayout/AppLayout.tsx b/src/app/AppLayout/AppLayout.tsx index ced7da5f8..0a3b4fdc1 100644 --- a/src/app/AppLayout/AppLayout.tsx +++ b/src/app/AppLayout/AppLayout.tsx @@ -84,7 +84,7 @@ import { import _ from 'lodash'; import * as React from 'react'; import { Trans } from 'react-i18next'; -import { matchPath, NavLink, useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { matchPath, NavLink, useLocation, useNavigate } from 'react-router-dom'; import { map } from 'rxjs/operators'; import { LogoutIcon } from './LogoutIcon'; import { ThemeToggle } from './ThemeToggle'; diff --git a/src/app/AppLayout/SslErrorModal.tsx b/src/app/AppLayout/SslErrorModal.tsx index c07d02f4b..8591b052d 100644 --- a/src/app/AppLayout/SslErrorModal.tsx +++ b/src/app/AppLayout/SslErrorModal.tsx @@ -16,7 +16,7 @@ import { portalRoot, toPath } from '@app/utils/utils'; import { Button, Modal, ModalVariant, Text } from '@patternfly/react-core'; import * as React from 'react'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; export interface SslErrorModalProps { visible: boolean; diff --git a/src/app/Archives/Archives.tsx b/src/app/Archives/Archives.tsx index 3c497ba54..220f81cb4 100644 --- a/src/app/Archives/Archives.tsx +++ b/src/app/Archives/Archives.tsx @@ -35,7 +35,7 @@ import { } from '@patternfly/react-core'; import { SearchIcon } from '@patternfly/react-icons'; import * as React from 'react'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { of } from 'rxjs'; import { AllArchivedRecordingsTable } from './AllArchivedRecordingsTable'; import { AllTargetsArchivedRecordingsTable } from './AllTargetsArchivedRecordingsTable'; diff --git a/src/app/BreadcrumbPage/BreadcrumbPage.tsx b/src/app/BreadcrumbPage/BreadcrumbPage.tsx index 43cd5970b..9d8c291eb 100644 --- a/src/app/BreadcrumbPage/BreadcrumbPage.tsx +++ b/src/app/BreadcrumbPage/BreadcrumbPage.tsx @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { CryostatLink } from '@app/Shared/Components/CryostatLink'; import { Breadcrumb, BreadcrumbHeading, @@ -23,7 +24,6 @@ import { StackItem, } from '@patternfly/react-core'; import * as React from 'react'; -import { Link } from 'react-router-dom-v5-compat'; import { BreadcrumbTrail } from './types'; import { isItemFilled } from './utils'; @@ -40,7 +40,7 @@ export const BreadcrumbPage: React.FC = ({ pageTitle, bread {(breadcrumbs || []).map(({ title, path }) => ( - {title} + {title} ))} {pageTitle} diff --git a/src/app/CreateRecording/CustomRecordingForm.tsx b/src/app/CreateRecording/CustomRecordingForm.tsx index e30cf274c..bb81445ed 100644 --- a/src/app/CreateRecording/CustomRecordingForm.tsx +++ b/src/app/CreateRecording/CustomRecordingForm.tsx @@ -57,7 +57,7 @@ import { import { HelpIcon } from '@patternfly/react-icons'; import * as React from 'react'; import { Trans } from 'react-i18next'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { forkJoin } from 'rxjs'; import { first } from 'rxjs/operators'; import { EventTemplateIdentifier, CustomRecordingFormData } from './types'; diff --git a/src/app/CreateRecording/SnapshotRecordingForm.tsx b/src/app/CreateRecording/SnapshotRecordingForm.tsx index f6fd221aa..24568999b 100644 --- a/src/app/CreateRecording/SnapshotRecordingForm.tsx +++ b/src/app/CreateRecording/SnapshotRecordingForm.tsx @@ -20,7 +20,7 @@ import { ServiceContext } from '@app/Shared/Services/Services'; import { useSubscriptions } from '@app/utils/hooks/useSubscriptions'; import { ActionGroup, Button, Form, Text, TextContent, TextVariants } from '@patternfly/react-core'; import * as React from 'react'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import { first } from 'rxjs'; export interface SnapshotRecordingFormProps {} diff --git a/src/app/Dashboard/Charts/jfr/JFRMetricsChartCard.tsx b/src/app/Dashboard/Charts/jfr/JFRMetricsChartCard.tsx index 64555b92d..dc96c293b 100644 --- a/src/app/Dashboard/Charts/jfr/JFRMetricsChartCard.tsx +++ b/src/app/Dashboard/Charts/jfr/JFRMetricsChartCard.tsx @@ -44,7 +44,7 @@ import { import { DataSourceIcon, ExternalLinkAltIcon, SyncAltIcon, TachometerAltIcon } from '@patternfly/react-icons'; import * as React from 'react'; import { Trans } from 'react-i18next'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import { interval } from 'rxjs'; import { DashboardCard } from '../../DashboardCard'; import { ChartContext } from '../context'; diff --git a/src/app/Dashboard/Dashboard.tsx b/src/app/Dashboard/Dashboard.tsx index 52d499643..839152e9b 100644 --- a/src/app/Dashboard/Dashboard.tsx +++ b/src/app/Dashboard/Dashboard.tsx @@ -31,7 +31,7 @@ import { useCryostatTranslation } from '@i18n/i18nextUtil'; import { Grid, GridItem } from '@patternfly/react-core'; import * as React from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import { AddCard } from './AddCard'; import { ChartContext } from './Charts/context'; import { JFRMetricsChartController } from './Charts/jfr/JFRMetricsChartController'; diff --git a/src/app/Dashboard/DashboardSolo.tsx b/src/app/Dashboard/DashboardSolo.tsx index f1bcf7ac6..563ec96f8 100644 --- a/src/app/Dashboard/DashboardSolo.tsx +++ b/src/app/Dashboard/DashboardSolo.tsx @@ -28,7 +28,7 @@ import { import { MonitoringIcon } from '@patternfly/react-icons'; import * as React from 'react'; import { useSelector } from 'react-redux'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { CardConfig } from './types'; import { getCardDescriptorByName } from './utils'; diff --git a/src/app/Events/EventTemplates.tsx b/src/app/Events/EventTemplates.tsx index d5ba4a248..fce8d93f8 100644 --- a/src/app/Events/EventTemplates.tsx +++ b/src/app/Events/EventTemplates.tsx @@ -61,7 +61,7 @@ import { } from '@patternfly/react-table'; import _ from 'lodash'; import * as React from 'react'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import { forkJoin, Observable, of } from 'rxjs'; import { catchError, concatMap, defaultIfEmpty, first, tap } from 'rxjs/operators'; diff --git a/src/app/Events/Events.tsx b/src/app/Events/Events.tsx index a78bcd58e..98395c58b 100644 --- a/src/app/Events/Events.tsx +++ b/src/app/Events/Events.tsx @@ -19,7 +19,7 @@ import { useSubscriptions } from '@app/utils/hooks/useSubscriptions'; import { getActiveTab, switchTab } from '@app/utils/utils'; import { Card, CardBody, Tab, Tabs } from '@patternfly/react-core'; import * as React from 'react'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { EventTemplates } from './EventTemplates'; import { EventTypes } from './EventTypes'; diff --git a/src/app/JMCAgent/JMCAgent.tsx b/src/app/JMCAgent/JMCAgent.tsx index 49ab31831..08eb2986c 100644 --- a/src/app/JMCAgent/JMCAgent.tsx +++ b/src/app/JMCAgent/JMCAgent.tsx @@ -19,7 +19,7 @@ import { useSubscriptions } from '@app/utils/hooks/useSubscriptions'; import { getActiveTab, switchTab } from '@app/utils/utils'; import { Card, CardBody, Tab, Tabs, Tooltip } from '@patternfly/react-core'; import * as React from 'react'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { concatMap, filter } from 'rxjs'; import { AgentLiveProbes } from './AgentLiveProbes'; import { AgentProbeTemplates } from './AgentProbeTemplates'; diff --git a/src/app/Recordings/ActiveRecordingsTable.tsx b/src/app/Recordings/ActiveRecordingsTable.tsx index 0e124ad47..d71a0aff4 100644 --- a/src/app/Recordings/ActiveRecordingsTable.tsx +++ b/src/app/Recordings/ActiveRecordingsTable.tsx @@ -77,7 +77,7 @@ import { EllipsisVIcon, ProcessAutomationIcon } from '@patternfly/react-icons'; import { SortByDirection, Tbody, Td, Tr } from '@patternfly/react-table'; import * as React from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { combineLatest, forkJoin, Observable, Subject } from 'rxjs'; import { concatMap, filter, first } from 'rxjs/operators'; import { DeleteWarningModal } from '../Modal/DeleteWarningModal'; diff --git a/src/app/Reports/Reports.tsx b/src/app/Reports/Reports.tsx index 4e05c4ac7..07d6878af 100644 --- a/src/app/Reports/Reports.tsx +++ b/src/app/Reports/Reports.tsx @@ -57,7 +57,7 @@ import { import { ProcessAutomationIcon, SearchIcon } from '@patternfly/react-icons'; import * as React from 'react'; import { Trans } from 'react-i18next'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import { concatMap, filter, first, map, tap } from 'rxjs'; type ReportEntry = { loading: boolean; target: Target; hasSources: boolean; report: AggregateReport }; diff --git a/src/app/Rules/CreateRule.tsx b/src/app/Rules/CreateRule.tsx index 2eadf7c7a..78e9eb22a 100644 --- a/src/app/Rules/CreateRule.tsx +++ b/src/app/Rules/CreateRule.tsx @@ -59,7 +59,7 @@ import { HelpIcon } from '@patternfly/react-icons'; import _ from 'lodash'; import * as React from 'react'; import { Trans } from 'react-i18next'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { combineLatest, forkJoin, iif, of, Subject } from 'rxjs'; import { catchError, debounceTime, map, switchMap, tap } from 'rxjs/operators'; import { RuleFormData } from './types'; diff --git a/src/app/Rules/Rules.tsx b/src/app/Rules/Rules.tsx index 6c0e7e03f..b904ea894 100644 --- a/src/app/Rules/Rules.tsx +++ b/src/app/Rules/Rules.tsx @@ -71,7 +71,7 @@ import { import _ from 'lodash'; import * as React from 'react'; import { Trans } from 'react-i18next'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import { first } from 'rxjs/operators'; import { AUTOANALYZE_KEY } from './CreateRule'; import { RuleDeleteWarningModal } from './RuleDeleteWarningModal'; diff --git a/src/app/Settings/Settings.tsx b/src/app/Settings/Settings.tsx index 1115a0cd1..aa781f31d 100644 --- a/src/app/Settings/Settings.tsx +++ b/src/app/Settings/Settings.tsx @@ -38,7 +38,7 @@ import { } from '@patternfly/react-core'; import * as React from 'react'; import { Trans } from 'react-i18next'; -import { useLocation, useNavigate } from 'react-router-dom-v5-compat'; +import { useLocation, useNavigate } from 'react-router-dom'; import { AutoRefresh } from './Config/AutoRefresh'; import { ChartCards } from './Config/ChartCards'; import { DatetimeControl } from './Config/DatetimeControl'; diff --git a/src/app/Shared/Components/CryostatLink.tsx b/src/app/Shared/Components/CryostatLink.tsx index 675f51b4a..7c333f7ef 100644 --- a/src/app/Shared/Components/CryostatLink.tsx +++ b/src/app/Shared/Components/CryostatLink.tsx @@ -16,7 +16,7 @@ import { BASEPATH, toPath } from '@app/utils/utils'; import React from 'react'; -import { Link, LinkProps, Path, To } from 'react-router-dom-v5-compat'; +import { Link, LinkProps, Path, To } from 'react-router-dom'; export interface CryostatLinkProps extends LinkProps {} diff --git a/src/app/Topology/Actions/CreateTarget.tsx b/src/app/Topology/Actions/CreateTarget.tsx index 12c26eaa4..07013b35f 100644 --- a/src/app/Topology/Actions/CreateTarget.tsx +++ b/src/app/Topology/Actions/CreateTarget.tsx @@ -55,7 +55,7 @@ import { import { CheckCircleIcon, ExclamationCircleIcon, PendingIcon, SyncAltIcon } from '@patternfly/react-icons'; import { css } from '@patternfly/react-styles'; import * as React from 'react'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; export const isValidTargetConnectURL = (connectUrl?: string) => connectUrl && !connectUrl.match(/\s+/); diff --git a/src/app/Topology/Actions/NodeActions.tsx b/src/app/Topology/Actions/NodeActions.tsx index 93269c7a6..76f4c3def 100644 --- a/src/app/Topology/Actions/NodeActions.tsx +++ b/src/app/Topology/Actions/NodeActions.tsx @@ -29,7 +29,7 @@ import { import { css } from '@patternfly/react-styles'; import { ContextMenuItem as PFContextMenuItem } from '@patternfly/react-topology'; import * as React from 'react'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import { Observable, Subject, switchMap } from 'rxjs'; import { GraphElement, ListElement } from '../Shared/types'; import { ActionUtils, MenuItemComponent, MenuItemVariant, NodeActionFunction } from './types'; diff --git a/src/app/Topology/Actions/QuickSearchPanel.tsx b/src/app/Topology/Actions/QuickSearchPanel.tsx index c48d2b83b..155be7b1a 100644 --- a/src/app/Topology/Actions/QuickSearchPanel.tsx +++ b/src/app/Topology/Actions/QuickSearchPanel.tsx @@ -49,7 +49,7 @@ import { css } from '@patternfly/react-styles'; import { useHover } from '@patternfly/react-topology'; import _ from 'lodash'; import * as React from 'react'; -import { useNavigate } from 'react-router-dom-v5-compat'; +import { useNavigate } from 'react-router-dom'; import QuickSearchIcon from '../../Shared/Components/QuickSearchIcon'; import quickSearches, { QuickSearchId, quickSearchIds } from './quicksearches/all-quick-searches'; import { QuickSearchItem } from './types'; diff --git a/src/app/Topology/Actions/WarningResolver.tsx b/src/app/Topology/Actions/WarningResolver.tsx index e7c6766ec..d287a4d03 100644 --- a/src/app/Topology/Actions/WarningResolver.tsx +++ b/src/app/Topology/Actions/WarningResolver.tsx @@ -14,21 +14,22 @@ * limitations under the License. */ import { CreateCredentialModal } from '@app/SecurityPanel/Credentials/CreateCredentialModal'; +import { CryostatLink } from '@app/Shared/Components/CryostatLink'; import { TargetNode } from '@app/Shared/Services/api.types'; import { NotificationsContext } from '@app/Shared/Services/Notifications.service'; import { ServiceContext } from '@app/Shared/Services/Services'; import { Button, ButtonProps } from '@patternfly/react-core'; import * as React from 'react'; -import { Link, LinkProps, useNavigate } from 'react-router-dom-v5-compat'; +import { LinkProps, useNavigate } from 'react-router-dom'; import { ActionUtils } from './types'; export interface WarningResolverAsLinkProps extends LinkProps {} export const WarningResolverAsLink: React.FC = ({ to, children, ...props }) => { return ( - + {children} - + ); }; diff --git a/src/app/Topology/Actions/types.ts b/src/app/Topology/Actions/types.ts index 893049f08..5f45e44c2 100644 --- a/src/app/Topology/Actions/types.ts +++ b/src/app/Topology/Actions/types.ts @@ -20,7 +20,7 @@ import { Services } from '@app/Shared/Services/Services'; import { LabelProps, DropdownItemProps } from '@patternfly/react-core'; import { ContextMenuItem as PFContextMenuItem } from '@patternfly/react-topology'; import * as React from 'react'; -import { NavigateFunction } from 'react-router-dom-v5-compat'; +import { NavigateFunction } from 'react-router-dom'; import { Observable } from 'rxjs'; import type { GraphElement, ListElement } from '../Shared/types'; diff --git a/src/app/Topology/Entity/utils.tsx b/src/app/Topology/Entity/utils.tsx index a9a85d8ad..16cd7e9f0 100644 --- a/src/app/Topology/Entity/utils.tsx +++ b/src/app/Topology/Entity/utils.tsx @@ -36,7 +36,7 @@ import { Popover, } from '@patternfly/react-core'; import * as React from 'react'; -import { LinkProps } from 'react-router-dom-v5-compat'; +import { LinkProps } from 'react-router-dom'; import { catchError, combineLatest, diff --git a/src/app/index.tsx b/src/app/index.tsx index 0693a5eb6..436ba1769 100644 --- a/src/app/index.tsx +++ b/src/app/index.tsx @@ -27,7 +27,7 @@ import { NotificationsContext, NotificationsInstance } from '@app/Shared/Service import { ServiceContext, defaultServices } from '@app/Shared/Services/Services'; import * as React from 'react'; import { Provider } from 'react-redux'; -import { BrowserRouter as Router } from 'react-router-dom-v5-compat'; +import { BrowserRouter as Router } from 'react-router-dom'; import { JoyrideProvider } from './Joyride/JoyrideProvider'; import { CapabilitiesContext, defaultCapabilities } from './Shared/Services/Capabilities'; diff --git a/src/app/routes.tsx b/src/app/routes.tsx index e40209777..4f141f315 100644 --- a/src/app/routes.tsx +++ b/src/app/routes.tsx @@ -15,7 +15,7 @@ */ import * as React from 'react'; -import { useLocation, Route, Routes } from 'react-router-dom-v5-compat'; +import { useLocation, Route, Routes } from 'react-router-dom'; import About from './About/About'; import Archives from './Archives/Archives'; import CreateRecording from './CreateRecording/CreateRecording'; diff --git a/src/app/utils/utils.ts b/src/app/utils/utils.ts index a3c600810..b1274eecc 100644 --- a/src/app/utils/utils.ts +++ b/src/app/utils/utils.ts @@ -19,7 +19,7 @@ import { ISortBy, SortByDirection, ThProps } from '@patternfly/react-table'; import humanizeDuration from 'humanize-duration'; import { TFunction } from 'i18next'; import _ from 'lodash'; -import { NavigateFunction } from 'react-router-dom-v5-compat'; +import { NavigateFunction } from 'react-router-dom'; import { BehaviorSubject, Observable } from 'rxjs'; import semverGt from 'semver/functions/gt'; import semverValid from 'semver/functions/valid'; diff --git a/src/test/CreateRecording/CustomRecordingForm.test.tsx b/src/test/CreateRecording/CustomRecordingForm.test.tsx index 9cb89073a..58e7c0718 100644 --- a/src/test/CreateRecording/CustomRecordingForm.test.tsx +++ b/src/test/CreateRecording/CustomRecordingForm.test.tsx @@ -30,8 +30,8 @@ jest.mock('@patternfly/react-core', () => ({ const mockNavigate = jest.fn(); -jest.mock('react-router-dom-v5-compat', () => ({ - ...jest.requireActual('react-router-dom-v5-compat'), +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), useNavigate: () => mockNavigate, })); diff --git a/src/test/CreateRecording/SnapshotRecordingForm.test.tsx b/src/test/CreateRecording/SnapshotRecordingForm.test.tsx index 442707535..99725f97f 100644 --- a/src/test/CreateRecording/SnapshotRecordingForm.test.tsx +++ b/src/test/CreateRecording/SnapshotRecordingForm.test.tsx @@ -57,8 +57,8 @@ jest.spyOn(defaultServices.target, 'authRetry').mockReturnValue(of()); const mockNavigate = jest.fn(); -jest.mock('react-router-dom-v5-compat', () => ({ - ...jest.requireActual('react-router-dom-v5-compat'), +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), useNavigate: () => mockNavigate, })); diff --git a/src/test/Dashboard/Charts/jfr/JFRMetricsChartCard.test.tsx b/src/test/Dashboard/Charts/jfr/JFRMetricsChartCard.test.tsx index 856f58956..4f1c9bc59 100644 --- a/src/test/Dashboard/Charts/jfr/JFRMetricsChartCard.test.tsx +++ b/src/test/Dashboard/Charts/jfr/JFRMetricsChartCard.test.tsx @@ -60,8 +60,8 @@ const mockChartContext = { const mockNavigate = jest.fn(); -jest.mock('react-router-dom-v5-compat', () => ({ - ...jest.requireActual('react-router-dom-v5-compat'), +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), useNavigate: () => mockNavigate, })); diff --git a/src/test/Rules/CreateRule.test.tsx b/src/test/Rules/CreateRule.test.tsx index 81fc534da..3982a05ec 100644 --- a/src/test/Rules/CreateRule.test.tsx +++ b/src/test/Rules/CreateRule.test.tsx @@ -66,8 +66,8 @@ const mockRule: Rule = { const mockNavigate = jest.fn(); -jest.mock('react-router-dom-v5-compat', () => ({ - ...jest.requireActual('react-router-dom-v5-compat'), +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), useNavigate: () => mockNavigate, })); diff --git a/src/test/Settings/Settings.test.tsx b/src/test/Settings/Settings.test.tsx index 6350686a8..0e51ed98c 100644 --- a/src/test/Settings/Settings.test.tsx +++ b/src/test/Settings/Settings.test.tsx @@ -110,8 +110,8 @@ jest.mock('@app/Settings/Config/Theme', () => ({ const mockNavigate = jest.fn(); -jest.mock('react-router-dom-v5-compat', () => ({ - ...jest.requireActual('react-router-dom-v5-compat'), +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), useNavigate: () => mockNavigate, })); diff --git a/src/test/utils.tsx b/src/test/utils.tsx index 0b5d9aa00..7d2d661e9 100644 --- a/src/test/utils.tsx +++ b/src/test/utils.tsx @@ -32,7 +32,7 @@ import userEvent from '@testing-library/user-event'; import { t, TOptions } from 'i18next'; import * as React from 'react'; import { Provider } from 'react-redux'; -import { createMemoryRouter, RouterProvider } from 'react-router-dom-v5-compat'; +import { createMemoryRouter, RouterProvider } from 'react-router-dom'; import renderer from 'react-test-renderer'; export interface ProviderInstance { diff --git a/yarn.lock b/yarn.lock index 55d5ef066..a930a6d38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -418,7 +418,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.9.2": version: 7.27.0 resolution: "@babel/runtime@npm:7.27.0" dependencies: @@ -1690,10 +1690,10 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.21.0": - version: 1.21.0 - resolution: "@remix-run/router@npm:1.21.0" - checksum: d9477a7772053ad0ffcf03385cfb1a54e56f8a56d1f9f5062de3b1dfcbd019dd73282a00a5a72aa55c120771110982448c165c1405d64540aaef13051a8e45cc +"@remix-run/router@npm:1.23.0": + version: 1.23.0 + resolution: "@remix-run/router@npm:1.23.0" + checksum: 6a403b7bc740f15185f3b68f90f98d4976fe231e819b44a0f0628783c4f31ca1072e3370c24b98488be3e4f68ecf51b20cb9463f20a5a6cf4c21929fc7721964 languageName: node linkType: hard @@ -4708,8 +4708,8 @@ __metadata: react-i18next: ^15.1.0 react-joyride: ^2.9.3 react-redux: ^8.0.5 - react-router-dom: 5.3.x - react-router-dom-v5-compat: ^6.11.2 + react-router: ^6.30.1 + react-router-dom: ^6.30.1 react-test-renderer: ^17.0.2 regenerator-runtime: ^0.14.1 rimraf: ^6.0.1 @@ -7826,21 +7826,7 @@ __metadata: languageName: node linkType: hard -"history@npm:^4.9.0": - version: 4.10.1 - resolution: "history@npm:4.10.1" - dependencies: - "@babel/runtime": ^7.1.2 - loose-envify: ^1.2.0 - resolve-pathname: ^3.0.0 - tiny-invariant: ^1.0.2 - tiny-warning: ^1.0.0 - value-equal: ^1.0.1 - checksum: addd84bc4683929bae4400419b5af132ff4e4e9b311a0d4e224579ea8e184a6b80d7f72c55927e4fa117f69076a9e47ce082d8d0b422f1a9ddac7991490ca1d0 - languageName: node - linkType: hard - -"history@npm:^5.0.0, history@npm:^5.3.0": +"history@npm:^5.0.0": version: 5.3.0 resolution: "history@npm:5.3.0" dependencies: @@ -7849,7 +7835,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.2": +"hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.2": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: @@ -8896,13 +8882,6 @@ __metadata: languageName: node linkType: hard -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -9916,7 +9895,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -11114,15 +11093,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^1.7.0": - version: 1.9.0 - resolution: "path-to-regexp@npm:1.9.0" - dependencies: - isarray: 0.0.1 - checksum: 5b2ac9cab2a9f82effd30a35164b20998b18d99d96608281dd2cab6e66c0e4536187970369b185ab21d3815da1ecb7dcb2d5f97a4bf0ee6e31a9612299fca147 - languageName: node - linkType: hard - "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -11926,7 +11896,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0": +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f @@ -12016,65 +11986,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom-v5-compat@npm:^6.11.2": - version: 6.28.1 - resolution: "react-router-dom-v5-compat@npm:6.28.1" +"react-router-dom@npm:^6.30.1": + version: 6.30.1 + resolution: "react-router-dom@npm:6.30.1" dependencies: - "@remix-run/router": 1.21.0 - history: ^5.3.0 - react-router: 6.28.1 + "@remix-run/router": 1.23.0 + react-router: 6.30.1 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - react-router-dom: 4 || 5 - checksum: 7925523df69335e7b5407e818a91fe44ae2fc59340f8300c58bc3c83e91a5ecdc6a84f100e67adc08658e91165d1cbed76678e6e3ddf0d2d189c7fcba0f79b55 - languageName: node - linkType: hard - -"react-router-dom@npm:5.3.x": - version: 5.3.4 - resolution: "react-router-dom@npm:5.3.4" - dependencies: - "@babel/runtime": ^7.12.13 - history: ^4.9.0 - loose-envify: ^1.3.1 - prop-types: ^15.6.2 - react-router: 5.3.4 - tiny-invariant: ^1.0.2 - tiny-warning: ^1.0.0 - peerDependencies: - react: ">=15" - checksum: b86a6f2f5222f041e38adf4e4b32c7643d6735a1a915ef25855b2db285fd059d72ba8d62e5bcd5d822b8ef9520a80453209e55077f5a90d0f72e908979b8f535 + checksum: 89949352a702c1d83d11349900b6852250499e2bc5256d594d4895449b4769e79f7179955c86fecae1f6c7e672f21d49f5b7e2fede39bbb3dd45e6de4f129ccb languageName: node linkType: hard -"react-router@npm:5.3.4": - version: 5.3.4 - resolution: "react-router@npm:5.3.4" +"react-router@npm:6.30.1, react-router@npm:^6.30.1": + version: 6.30.1 + resolution: "react-router@npm:6.30.1" dependencies: - "@babel/runtime": ^7.12.13 - history: ^4.9.0 - hoist-non-react-statics: ^3.1.0 - loose-envify: ^1.3.1 - path-to-regexp: ^1.7.0 - prop-types: ^15.6.2 - react-is: ^16.6.0 - tiny-invariant: ^1.0.2 - tiny-warning: ^1.0.0 - peerDependencies: - react: ">=15" - checksum: 892d4e274a23bf4f39abc2efca54472fb646d3aed4b584020cf49654d2f50d09a2bacebe7c92b4ec7cb8925077376dfcd0664bad6442a73604397cefec9f01f9 - languageName: node - linkType: hard - -"react-router@npm:6.28.1": - version: 6.28.1 - resolution: "react-router@npm:6.28.1" - dependencies: - "@remix-run/router": 1.21.0 + "@remix-run/router": 1.23.0 peerDependencies: react: ">=16.8" - checksum: c1c4fe644a7197437f9ce9b8b621e79f9620b7a7b1192c9d1d44a6971b08af94408f3e63bd2cf122903c27d9a73b2e5632e4ca428e9ac0bf1d61e325968d4994 + checksum: cab6c2ef3e4bc2b7d92c17f9de30d56f169ffe10a082de52a5842a335289d798aec91ff7bc39dfe7d73f6c50ae56e9e5d1597e8edfcdd80910b93383138a7525 languageName: node linkType: hard @@ -12368,13 +12300,6 @@ __metadata: languageName: node linkType: hard -"resolve-pathname@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-pathname@npm:3.0.0" - checksum: 6147241ba42c423dbe83cb067a2b4af4f60908c3af57e1ea567729cc71416c089737fe2a73e9e79e7a60f00f66c91e4b45ad0d37cd4be2d43fec44963ef14368 - languageName: node - linkType: hard - "resolve@npm:^1.10.0, resolve@npm:^1.20.0": version: 1.22.1 resolution: "resolve@npm:1.22.1" @@ -13843,20 +13768,6 @@ __metadata: languageName: node linkType: hard -"tiny-invariant@npm:^1.0.2": - version: 1.3.3 - resolution: "tiny-invariant@npm:1.3.3" - checksum: 5e185c8cc2266967984ce3b352a4e57cb89dad5a8abb0dea21468a6ecaa67cd5bb47a3b7a85d08041008644af4f667fb8b6575ba38ba5fb00b3b5068306e59fe - languageName: node - linkType: hard - -"tiny-warning@npm:^1.0.0": - version: 1.0.3 - resolution: "tiny-warning@npm:1.0.3" - checksum: da62c4acac565902f0624b123eed6dd3509bc9a8d30c06e017104bedcf5d35810da8ff72864400ad19c5c7806fc0a8323c68baf3e326af7cb7d969f846100d71 - languageName: node - linkType: hard - "tldts-core@npm:^6.1.86": version: 6.1.86 resolution: "tldts-core@npm:6.1.86" @@ -14584,13 +14495,6 @@ __metadata: languageName: node linkType: hard -"value-equal@npm:^1.0.1": - version: 1.0.1 - resolution: "value-equal@npm:1.0.1" - checksum: bb7ae1facc76b5cf8071aeb6c13d284d023fdb370478d10a5d64508e0e6e53bb459c4bbe34258df29d82e6f561f874f0105eba38de0e61fe9edd0bdce07a77a2 - languageName: node - linkType: hard - "value-or-function@npm:^4.0.0": version: 4.0.0 resolution: "value-or-function@npm:4.0.0"