Skip to content

Commit b674b34

Browse files
🐛 fix @datadog/browser-rum-react/react-router-vX import (#3405)
* 🔧 remove the alias for react-router-dom v7 * ✅ do not use entry point files in tests * 🚚 use a single entry file for both versions of react-router-dom * remove remaining mentions of react-router-dom-7
1 parent f68c793 commit b674b34

File tree

13 files changed

+64
-66
lines changed

13 files changed

+64
-66
lines changed

packages/rum-react/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
"@types/react-dom": "19.0.4",
3939
"react": "19.0.0",
4040
"react-dom": "19.0.0",
41-
"react-router-dom-6": "npm:react-router-dom@6.30.0",
42-
"react-router-dom-7": "npm:react-router-dom@7.2.0"
41+
"react-router-dom": "7.2.0",
42+
"react-router-dom-6": "npm:react-router-dom@6.30.0"
4343
},
4444
"repository": {
4545
"type": "git",
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"private": true,
3-
"main": "../cjs/entries/reactRouterV6.js",
4-
"module": "../esm/entries/reactRouterV6.js",
5-
"types": "../cjs/entries/reactRouterV6.d.ts"
3+
"main": "../cjs/entries/reactRouter.js",
4+
"module": "../esm/entries/reactRouter.js",
5+
"types": "../cjs/entries/reactRouter.d.ts"
66
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"private": true,
3-
"main": "../cjs/entries/reactRouterV7.js",
4-
"module": "../esm/entries/reactRouterV7.js",
5-
"types": "../cjs/entries/reactRouterV7.d.ts"
3+
"main": "../cjs/entries/reactRouter.js",
4+
"module": "../esm/entries/reactRouter.js",
5+
"types": "../cjs/entries/reactRouter.d.ts"
66
}

packages/rum-react/src/domain/reactRouter/createRouter.spec.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
import { createMemoryRouter as createMemoryRouterV7 } from 'react-router-dom'
2+
import { createMemoryRouter as createMemoryRouterV6 } from 'react-router-dom-6'
13
import { initializeReactPlugin } from '../../../test/initializeReactPlugin'
2-
import { createMemoryRouter as createMemoryRouterV6 } from '../../entries/reactRouterV6'
3-
import { createMemoryRouter as createMemoryRouterV7 } from '../../entries/reactRouterV7'
4+
import { wrapCreateRouter } from './createRouter'
45

56
describe('createRouter', () => {
67
const versions = [
7-
{ label: 'react-router v6', createMemoryRouter: createMemoryRouterV6 },
8-
{ label: 'react-router v7', createMemoryRouter: createMemoryRouterV7 },
8+
{ label: 'react-router v6', createMemoryRouter: wrapCreateRouter(createMemoryRouterV6) },
9+
{ label: 'react-router v7', createMemoryRouter: wrapCreateRouter(createMemoryRouterV7) },
910
]
1011

1112
for (const { label, createMemoryRouter } of versions) {

packages/rum-react/src/domain/reactRouter/routesComponent.spec.tsx

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,40 @@
11
import React, { act } from 'react'
2-
import { MemoryRouter as MemoryRouterV6, Route as RouteV6, useNavigate as useNavigateV6 } from 'react-router-dom-6'
3-
import { MemoryRouter as MemoryRouterV7, Route as RouteV7, useNavigate as useNavigateV7 } from 'react-router-dom-7'
2+
import * as rrdom6 from 'react-router-dom-6'
3+
import * as rrdom7 from 'react-router-dom'
44
import { ignoreConsoleLogs } from '../../../../core/test'
55
import { initializeReactPlugin } from '../../../test/initializeReactPlugin'
66
import { appendComponent } from '../../../test/appendComponent'
7-
import { Routes as RoutesV6 } from '../../entries/reactRouterV6'
8-
import { Routes as RoutesV7 } from '../../entries/reactRouterV7'
7+
import { createRoutesComponent } from './routesComponent'
98
import { ignoreReactRouterDeprecationWarnings } from './reactRouter.specHelper'
9+
import { wrapUseRoutes } from './useRoutes'
1010
;[
1111
{
1212
version: 'react-router-6',
13-
MemoryRouter: MemoryRouterV6,
14-
Route: RouteV6,
15-
useNavigate: useNavigateV6,
16-
Routes: RoutesV6,
13+
MemoryRouter: rrdom6.MemoryRouter,
14+
Route: rrdom6.Route,
15+
useNavigate: rrdom6.useNavigate,
16+
Routes: createRoutesComponent(
17+
wrapUseRoutes({
18+
useRoutes: rrdom6.useRoutes,
19+
useLocation: rrdom6.useLocation,
20+
matchRoutes: rrdom6.matchRoutes,
21+
}),
22+
rrdom6.createRoutesFromChildren
23+
),
1724
},
1825
{
1926
version: 'react-router-7',
20-
MemoryRouter: MemoryRouterV7,
21-
Route: RouteV7,
22-
useNavigate: useNavigateV7,
23-
Routes: RoutesV7,
27+
MemoryRouter: rrdom7.MemoryRouter,
28+
Route: rrdom7.Route,
29+
useNavigate: rrdom7.useNavigate,
30+
Routes: createRoutesComponent(
31+
wrapUseRoutes({
32+
useRoutes: rrdom7.useRoutes,
33+
useLocation: rrdom7.useLocation,
34+
matchRoutes: rrdom7.matchRoutes,
35+
}),
36+
rrdom7.createRoutesFromChildren
37+
),
2438
},
2539
].forEach(({ version, MemoryRouter, Route, useNavigate, Routes }) => {
2640
describe(`Routes component (${version})`, () => {

packages/rum-react/src/domain/reactRouter/startReactRouterView.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
createMemoryRouter as createMemoryRouterV7,
99
type RouteObject as RouteObjectV7,
1010
type RouteMatch as RouteMatchV7,
11-
} from 'react-router-dom-7'
11+
} from 'react-router-dom'
1212
import { registerCleanupTask } from '../../../../core/test'
1313
import { initializeReactPlugin } from '../../../test/initializeReactPlugin'
1414
import { startReactRouterView, computeViewName } from './startReactRouterView'

packages/rum-react/src/domain/reactRouter/useRoutes.spec.tsx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
11
import React, { act } from 'react'
2-
import { MemoryRouter as MemoryRouterV6, useNavigate as useNavigateV6 } from 'react-router-dom-6'
3-
import { MemoryRouter as MemoryRouterV7, useNavigate as useNavigateV7 } from 'react-router-dom-7'
2+
import * as rrdom6 from 'react-router-dom-6'
3+
import * as rrdom7 from 'react-router-dom'
44
import { appendComponent } from '../../../test/appendComponent'
55
import { initializeReactPlugin } from '../../../test/initializeReactPlugin'
6-
import { useRoutes as useRoutesV6 } from '../../entries/reactRouterV6'
7-
import { useRoutes as useRoutesV7 } from '../../entries/reactRouterV7'
86
import { ignoreConsoleLogs } from '../../../../core/test'
97
import type { AnyRouteObject } from './types'
108
import { ignoreReactRouterDeprecationWarnings } from './reactRouter.specHelper'
9+
import { wrapUseRoutes } from './useRoutes'
1110

1211
const versions = [
1312
{
1413
version: 'react-router-6',
15-
MemoryRouter: MemoryRouterV6,
16-
useNavigate: useNavigateV6,
17-
useRoutes: useRoutesV6,
14+
MemoryRouter: rrdom6.MemoryRouter,
15+
useNavigate: rrdom6.useNavigate,
16+
useRoutes: wrapUseRoutes({
17+
useRoutes: rrdom6.useRoutes,
18+
useLocation: rrdom6.useLocation,
19+
matchRoutes: rrdom6.matchRoutes,
20+
}),
1821
},
1922
{
2023
version: 'react-router-7',
21-
MemoryRouter: MemoryRouterV7,
22-
useNavigate: useNavigateV7,
23-
useRoutes: useRoutesV7,
24+
MemoryRouter: rrdom7.MemoryRouter,
25+
useNavigate: rrdom7.useNavigate,
26+
useRoutes: wrapUseRoutes({
27+
useRoutes: rrdom7.useRoutes,
28+
useLocation: rrdom7.useLocation,
29+
matchRoutes: rrdom7.matchRoutes,
30+
}),
2431
},
2532
]
2633

packages/rum-react/src/entries/reactRouterV6.ts renamed to packages/rum-react/src/entries/reactRouter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
useLocation,
99
matchRoutes,
1010
createRoutesFromChildren,
11-
} from 'react-router-dom-6'
11+
} from 'react-router-dom'
1212
import { wrapCreateRouter, createRoutesComponent, wrapUseRoutes } from '../domain/reactRouter'
1313

1414
export const createBrowserRouter = wrapCreateRouter(originalCreateBrowserRouter)

packages/rum-react/src/entries/reactRouterV7.ts

Lines changed: 0 additions & 24 deletions
This file was deleted.

sandbox/react-app/main.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Link, Outlet, RouterProvider, useParams } from 'react-router-dom-7'
1+
import { Link, Outlet, RouterProvider, useParams } from 'react-router-dom'
22
import React, { useEffect, useState } from 'react'
33
import ReactDOM from 'react-dom/client'
44
import { datadogRum } from '@datadog/browser-rum'

0 commit comments

Comments
 (0)