Skip to content

Commit e76258a

Browse files
chore(deps)!: update dependency react-router-dom to v7 (#1802)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: SoonIter <sooniter@gmail.com>
1 parent f351def commit e76258a

File tree

30 files changed

+407
-63
lines changed

30 files changed

+407
-63
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Hello world
2+
3+
import { version } from 'react-router-dom/package.json';
4+
5+
react-router-dom {version}
6+
7+
import { version as reactVersion } from 'react/package.json';
8+
9+
react {reactVersion}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { readFileSync } from 'node:fs';
2+
import path from 'node:path';
3+
import { expect, test } from '@playwright/test';
4+
import { getPort, killProcess, runDevCommand } from '../../utils/runCommands';
5+
6+
function getPackageVersion(name: string) {
7+
const pkgJsonPath = path.join(
8+
__dirname,
9+
'node_modules',
10+
name,
11+
'package.json',
12+
);
13+
return JSON.parse(readFileSync(pkgJsonPath, 'utf-8')).version as string;
14+
}
15+
16+
test.describe('React 18 test', async () => {
17+
let appPort: number;
18+
let app: Awaited<ReturnType<typeof runDevCommand>> | null;
19+
test.beforeAll(async () => {
20+
const appDir = __dirname;
21+
appPort = await getPort();
22+
app = await runDevCommand(appDir, appPort);
23+
});
24+
25+
test.afterAll(async () => {
26+
if (app) {
27+
await killProcess(app);
28+
}
29+
});
30+
31+
test('Index page', async ({ page }) => {
32+
await page.goto(`http://localhost:${appPort}`);
33+
const h1 = page.locator('h1');
34+
await expect(h1).toContainText('Hello world');
35+
const body = page.locator('body');
36+
await expect(body).toContainText(
37+
`react-router-dom ${getPackageVersion('react-router-dom')}`,
38+
);
39+
await expect(body).toContainText(`react ${getPackageVersion('react')}`);
40+
});
41+
42+
test('404 page', async ({ page }) => {
43+
await page.goto(`http://localhost:${appPort}/404`, {
44+
waitUntil: 'networkidle',
45+
});
46+
// find the 404 text in the page
47+
await expect(page.locator('body')).toContainText('404');
48+
});
49+
});

e2e/fixtures/react-18/package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "@rspress-fixture/react-18",
3+
"version": "1.0.0",
4+
"private": true,
5+
"scripts": {
6+
"build": "rspress build",
7+
"dev": "rspress dev",
8+
"preview": "rspress preview"
9+
},
10+
"dependencies": {
11+
"@rspress/core": "workspace:*",
12+
"react": "^18.3.0",
13+
"react-dom": "^18.3.0",
14+
"react-router-dom": "^7.9.6"
15+
},
16+
"devDependencies": {
17+
"@types/node": "^22.8.1"
18+
}
19+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import * as path from 'node:path';
2+
import { defineConfig } from '@rspress/core';
3+
4+
export default defineConfig({
5+
root: path.join(__dirname, 'doc'),
6+
});
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"compilerOptions": {
3+
"target": "ES2020",
4+
"lib": ["DOM", "ES2020"],
5+
"module": "ESNext",
6+
"jsx": "react-jsx",
7+
"noEmit": true,
8+
"strict": true,
9+
"skipLibCheck": true,
10+
"isolatedModules": true,
11+
"resolveJsonModule": true,
12+
"moduleResolution": "bundler",
13+
"useDefineForClassFields": true,
14+
"allowImportingTsExtensions": true
15+
},
16+
"include": ["docs", "theme", "rspress.config.ts"],
17+
"mdx": {
18+
"checkMdx": true
19+
}
20+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
# Hello world
2+
3+
import { version } from 'react-router-dom/package.json';
4+
5+
react-router-dom {version}
6+
7+
import { version as reactVersion } from 'react/package.json';
8+
9+
react {reactVersion}

e2e/fixtures/react-19/index.test.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,21 @@
1+
import { readFileSync } from 'node:fs';
2+
import path from 'node:path';
13
import { expect, test } from '@playwright/test';
24
import { getPort, killProcess, runDevCommand } from '../../utils/runCommands';
35

6+
function getPackageVersion(name: string) {
7+
const pkgJsonPath = path.join(
8+
__dirname,
9+
'node_modules',
10+
name,
11+
'package.json',
12+
);
13+
return JSON.parse(readFileSync(pkgJsonPath, 'utf-8')).version as string;
14+
}
15+
416
test.describe('React 19 test', async () => {
5-
let appPort;
6-
let app;
17+
let appPort: number;
18+
let app: Awaited<ReturnType<typeof runDevCommand>> | null;
719
test.beforeAll(async () => {
820
const appDir = __dirname;
921
appPort = await getPort();
@@ -20,6 +32,11 @@ test.describe('React 19 test', async () => {
2032
await page.goto(`http://localhost:${appPort}`);
2133
const h1 = page.locator('h1');
2234
await expect(h1).toContainText('Hello world');
35+
const body = page.locator('body');
36+
await expect(body).toContainText(
37+
`react-router-dom ${getPackageVersion('react-router-dom')}`,
38+
);
39+
await expect(body).toContainText(`react ${getPackageVersion('react')}`);
2340
});
2441

2542
test('404 page', async ({ page }) => {

e2e/fixtures/react-19/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"dependencies": {
1111
"@rspress/core": "workspace:*",
1212
"react": "^19.2.0",
13-
"react-dom": "^19.2.0"
13+
"react-dom": "^19.2.0",
14+
"react-router-dom": "^7.9.6"
1415
},
1516
"devDependencies": {
1617
"@types/node": "^22.8.1"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Hello world
2+
3+
import { version } from 'react-router-dom/package.json';
4+
5+
react-router-dom {version}
6+
7+
import { version as reactVersion } from 'react/package.json';
8+
9+
react {reactVersion}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { readFileSync } from 'node:fs';
2+
import path from 'node:path';
3+
import { expect, test } from '@playwright/test';
4+
import { getPort, killProcess, runDevCommand } from '../../utils/runCommands';
5+
6+
function getPackageVersion(name: string) {
7+
const pkgJsonPath = path.join(
8+
__dirname,
9+
'node_modules',
10+
name,
11+
'package.json',
12+
);
13+
return JSON.parse(readFileSync(pkgJsonPath, 'utf-8')).version as string;
14+
}
15+
16+
test.describe('React 19 test', async () => {
17+
let appPort: number;
18+
let app: Awaited<ReturnType<typeof runDevCommand>> | null;
19+
test.beforeAll(async () => {
20+
const appDir = __dirname;
21+
appPort = await getPort();
22+
app = await runDevCommand(appDir, appPort);
23+
});
24+
25+
test.afterAll(async () => {
26+
if (app) {
27+
await killProcess(app);
28+
}
29+
});
30+
31+
test('Index page', async ({ page }) => {
32+
await page.goto(`http://localhost:${appPort}`);
33+
const h1 = page.locator('h1');
34+
await expect(h1).toContainText('Hello world');
35+
const body = page.locator('body');
36+
await expect(body).toContainText(
37+
`react-router-dom ${getPackageVersion('react-router-dom')}`,
38+
);
39+
await expect(body).toContainText(`react ${getPackageVersion('react')}`);
40+
});
41+
42+
test('404 page', async ({ page }) => {
43+
await page.goto(`http://localhost:${appPort}/404`, {
44+
waitUntil: 'networkidle',
45+
});
46+
// find the 404 text in the page
47+
await expect(page.locator('body')).toContainText('404');
48+
});
49+
});

0 commit comments

Comments
 (0)