Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
9a6d8e6
feat: restore React Router 8 compatibility
ScriptedAlchemy Jul 2, 2026
bcb2c3d
refactor: simplify React Router 8 helpers
ScriptedAlchemy Jul 2, 2026
9ba27ba
refactor: deslop React Router 8 cleanup
ScriptedAlchemy Jul 2, 2026
bf999e6
refactor: clarify React Router 8 mode architecture
ScriptedAlchemy Jul 2, 2026
83e0041
refactor: deslop RSC route helpers
ScriptedAlchemy Jul 3, 2026
4efaa78
refactor: resolve React Router 8 review concerns
ScriptedAlchemy Jul 3, 2026
e1aae0f
refactor: consolidate helpers, named manifest types, and flatter RSC …
ScriptedAlchemy Jul 3, 2026
e8adf34
fix: require react-router >=7.13 to match emitted UNSAFE_ imports
ScriptedAlchemy Jul 3, 2026
115bc6a
fix: run RSC dev handler after Rsbuild static middlewares
ScriptedAlchemy Jul 3, 2026
2dd88c9
chore: merge main (benchmark harness SPA dev-routes fix)
ScriptedAlchemy Jul 3, 2026
47061ce
feat: prerender support for RSC mode
ScriptedAlchemy Jul 3, 2026
32eba7e
refactor: split mode plan into per-mode planners
ScriptedAlchemy Jul 3, 2026
c3a46e5
chore: pin react-router framework test corpus to upstream sha
ScriptedAlchemy Jul 3, 2026
46a2e2f
chore: excise inert Vite artifacts from the framework test corpus
ScriptedAlchemy Jul 3, 2026
e72e3aa
fix: validate unsupported RSC config and wire allowedActionOrigins
ScriptedAlchemy Jul 3, 2026
b4a84b4
fix: honor splitRouteModules 'enforce' validation in RSC mode
ScriptedAlchemy Jul 3, 2026
c83855e
refactor: make framework test corpus author rsbuild configs natively
ScriptedAlchemy Jul 3, 2026
63c817d
feat: state-preserving HMR and hot data revalidation in classic dev
ScriptedAlchemy Jul 4, 2026
cd2b655
style: format dev-generation.ts
ScriptedAlchemy Jul 4, 2026
57a6f61
test: guard viteDevCmd against persistent dev-server spawns
ScriptedAlchemy Jul 4, 2026
fb25f5a
fix: honor dev.assetPrefix and read post-realContentHash asset names
ScriptedAlchemy Jul 4, 2026
ed8aa3f
refactor: finish vite->rsbuild naming in the test corpus
ScriptedAlchemy Jul 4, 2026
1ec0540
feat: emit SSR-only assets to the client build
ScriptedAlchemy Jul 4, 2026
c3e90c0
chore: untrack playwright fixture scratch and test-results
ScriptedAlchemy Jul 4, 2026
f422a70
refactor: apply simplify-review findings
ScriptedAlchemy Jul 4, 2026
c80be82
fix: add onBeforeCreateCompiler to the package-interop API stub
ScriptedAlchemy Jul 4, 2026
7cdaa29
chore: fix last dangling rename references
ScriptedAlchemy Jul 4, 2026
f8964b0
chore: close latent stub gaps and dead export surface
ScriptedAlchemy Jul 4, 2026
492286b
test: fix corpus harness gaps (symbol skew, SPA preview, dev adapter)
ScriptedAlchemy Jul 4, 2026
0871b63
fix: manifest self-import, config-not-found message, entry.client htm…
ScriptedAlchemy Jul 4, 2026
e4e4554
fix: export Rsbuild React Router config type
ScriptedAlchemy Jul 6, 2026
54ae174
test: adapt framework parity assertions for rsbuild
ScriptedAlchemy Jul 6, 2026
2243874
chore: address structural review findings
ScriptedAlchemy Jul 6, 2026
cee826d
fix: avoid duplicate HDR rebuilds for route HMR
ScriptedAlchemy Jul 7, 2026
a21e322
test: clean up framework dev process groups
ScriptedAlchemy Jul 7, 2026
117d5b3
Merge remote-tracking branch 'origin/main' into codex/react-router-8-…
ScriptedAlchemy Jul 7, 2026
472de30
Harden React Router ecosystem tests
ScriptedAlchemy Jul 7, 2026
d28789b
Cover shared route chunk exports
ScriptedAlchemy Jul 7, 2026
7bbcbda
ci: run React Router ecosystem tests
ScriptedAlchemy Jul 7, 2026
a1bd619
ci: align Playwright browser cache
ScriptedAlchemy Jul 7, 2026
461b360
fix: harden framework ecosystem tests and RSC routes
ScriptedAlchemy Jul 7, 2026
640a352
fix: avoid route chunk server-only imports
ScriptedAlchemy Jul 8, 2026
ac334e7
test: update route chunk cache oracle
ScriptedAlchemy Jul 8, 2026
379ebcb
Merge remote-tracking branch 'origin/main' into codex/react-router-8-…
ScriptedAlchemy Jul 8, 2026
d3fb488
fix: address react router 8 review blockers
ScriptedAlchemy Jul 8, 2026
c037af9
fix: sync framework fixture lockfile
ScriptedAlchemy Jul 8, 2026
f756164
fix: keep framework helpers on workspace plugin
ScriptedAlchemy Jul 8, 2026
1bef625
test: harden rsc hmr hydration wait
ScriptedAlchemy Jul 8, 2026
198d0d2
test: force js for rsc hmr hydration
ScriptedAlchemy Jul 8, 2026
57a6851
test: give rsc hmr hydration more time
ScriptedAlchemy Jul 8, 2026
f98e40a
test: retry rsc hmr dev boot
ScriptedAlchemy Jul 8, 2026
1622a0f
test: relax basename hmr waits
ScriptedAlchemy Jul 8, 2026
4083e41
test: run rsc hmr before framework failfast suite
ScriptedAlchemy Jul 8, 2026
005cdfb
test: isolate basename fixture servers
ScriptedAlchemy Jul 8, 2026
1216feb
test: isolate framework hmr hdr checks
ScriptedAlchemy Jul 8, 2026
631c05e
test: tolerate hdr state reset in framework hmr
ScriptedAlchemy Jul 8, 2026
2cddae5
test: skip unsupported custom load context dev fixture
ScriptedAlchemy Jul 8, 2026
e4d4bc2
test: tolerate rsc combined hmr hdr remount
ScriptedAlchemy Jul 8, 2026
6ab45ce
fix: close remaining react router review gaps
ScriptedAlchemy Jul 8, 2026
07cdf6a
test: mark mdx fixture component as client
ScriptedAlchemy Jul 8, 2026
056f916
ci: retrigger pr checks
ScriptedAlchemy Jul 8, 2026
2bca989
test: define node env in framework fixtures
ScriptedAlchemy Jul 9, 2026
5e92e8f
test: infer framework fixture node env
ScriptedAlchemy Jul 9, 2026
07f6039
test: set development env for framework dev
ScriptedAlchemy Jul 9, 2026
e8778ce
test: set production env for framework builds
ScriptedAlchemy Jul 9, 2026
499416d
test: scope node env fixture defines
ScriptedAlchemy Jul 9, 2026
4292abc
fix: prerender root data through legacy handler path
ScriptedAlchemy Jul 9, 2026
35efbe7
refactor: apply thermo review simplifications
ScriptedAlchemy Jul 9, 2026
5c29f43
fix: match prerender warning path format
ScriptedAlchemy Jul 9, 2026
a244d01
fix: preserve nested prerender warning paths
ScriptedAlchemy Jul 9, 2026
18437cd
refactor: apply simplify review cleanups
ScriptedAlchemy Jul 9, 2026
32a9bac
fix: restore rsc basename and prerender handling
ScriptedAlchemy Jul 9, 2026
8f9520b
test: skip mts-spawning benchmark tests on node < 22
ScriptedAlchemy Jul 9, 2026
a9f0655
docs: state the dev build loader session-pinning invariant
ScriptedAlchemy Jul 9, 2026
9a3ac9d
fix: align refresh registration backfill with react-refresh rules
ScriptedAlchemy Jul 9, 2026
a3e4f19
fix: stream server-first route css during rsc render
ScriptedAlchemy Jul 9, 2026
4493a0b
test: give the rsc-preview fixture a real rsbuild config
ScriptedAlchemy Jul 9, 2026
0a9e952
fix: bind rsc server action manifest
ScriptedAlchemy Jul 9, 2026
4f6282a
chore: add changesets for rsc css streaming and refresh alignment
ScriptedAlchemy Jul 9, 2026
71a0fdb
test: prove server-first route css streams at first paint
ScriptedAlchemy Jul 9, 2026
d2d377d
test: distinguish rsc fixture templates in the adapter
ScriptedAlchemy Jul 9, 2026
5effe78
test: cover nested config define replacement
ScriptedAlchemy Jul 9, 2026
c9f2af8
refactor: dev runtime refinements
ScriptedAlchemy Jul 9, 2026
5d449a7
test: pin nested-define replacement and rsc enforce validation
ScriptedAlchemy Jul 9, 2026
b6634f8
fix: derive rsc bootstrap script path from web distPath config
ScriptedAlchemy Jul 9, 2026
c6d6f21
fix: publish hmr route match updates
ScriptedAlchemy Jul 9, 2026
5b65796
fix: keep hdr updates live in dev
ScriptedAlchemy Jul 9, 2026
c799a9b
fix: stabilize dev hmr revalidation
ScriptedAlchemy Jul 9, 2026
5d2cbc2
test: pin the real blocker for rsc dev error mapping
ScriptedAlchemy Jul 9, 2026
3bfcc97
test: stabilize basename dev navigation
ScriptedAlchemy Jul 9, 2026
bf71618
fix: surface real error in rsc dev default root boundary
ScriptedAlchemy Jul 9, 2026
4abd4bd
test: allow slower basename dev hmr
ScriptedAlchemy Jul 9, 2026
0a77eeb
test: cover svgr, tailwind, sass, and less plugin composition
ScriptedAlchemy Jul 9, 2026
6be4887
test: extend basename dev hmr budget
ScriptedAlchemy Jul 9, 2026
6ad0051
refactor: simplify dev hmr flush and dedupe small helpers
ScriptedAlchemy Jul 9, 2026
c67cb5d
fix: use effective rsc dev asset prefix
ScriptedAlchemy Jul 9, 2026
1c6a293
test: extend rsc basename child loader timeout
ScriptedAlchemy Jul 9, 2026
93fd0c3
fix: stream client-route bundled css at first paint in rsc mode
ScriptedAlchemy Jul 9, 2026
3624e2b
perf: coalesce rsc hmr updates and gate dev revalidation
ScriptedAlchemy Jul 9, 2026
fb4789e
fix: relocate node-emitted url assets to the client build in rsc mode
ScriptedAlchemy Jul 9, 2026
6fb06bb
fix: deliver value-imported vanilla-extract css on server-first routes
ScriptedAlchemy Jul 9, 2026
e9a0eb4
test: harden basename dev workflow waits and diagnostics
ScriptedAlchemy Jul 9, 2026
35ec9f9
fix: keep hmr navigation absolute under trailing-slash basenames
ScriptedAlchemy Jul 9, 2026
c2b3cbd
docs: define integration-first simplification
ScriptedAlchemy Jul 9, 2026
b8b7239
docs: plan integration-first cleanup
ScriptedAlchemy Jul 9, 2026
0ef5919
refactor: consolidate browser manifest hook
ScriptedAlchemy Jul 9, 2026
f9bccfe
refactor: trim private manifest arguments
ScriptedAlchemy Jul 9, 2026
77ee556
refactor: share RSC style import predicate
ScriptedAlchemy Jul 9, 2026
7cc2604
fix: avoid duplicate RSC prerender path
ScriptedAlchemy Jul 9, 2026
a0537db
fix: preserve fixture TypeScript configs
ScriptedAlchemy Jul 9, 2026
0149aa5
fix: apply corpus renames during sync
ScriptedAlchemy Jul 9, 2026
eedeba7
refactor: reject Vite fixture configuration
ScriptedAlchemy Jul 9, 2026
0e26f7c
refactor: centralize fixture Rsbuild config
ScriptedAlchemy Jul 9, 2026
a13d552
fix: preserve fixture adapter MDX support
ScriptedAlchemy Jul 9, 2026
83562c0
refactor: complete fixture type cycle cleanup
ScriptedAlchemy Jul 9, 2026
c8c0870
chore: remove subagent report artifact
ScriptedAlchemy Jul 9, 2026
adc616b
fix: retain manifest option compatibility parameter
ScriptedAlchemy Jul 9, 2026
98677c9
test: assert resolved server-only aliases
ScriptedAlchemy Jul 9, 2026
4ca5dab
fix: classify corpus sync overlays
ScriptedAlchemy Jul 9, 2026
f4bb5fa
fix: keep synced corpus free of Vite configs
ScriptedAlchemy Jul 9, 2026
71a03db
fix: ignore generated corpus artifacts
ScriptedAlchemy Jul 9, 2026
9dd9f16
test: typecheck framework adapter coverage
ScriptedAlchemy Jul 9, 2026
d9c65cf
Merge remote-tracking branch 'origin/main' into codex/react-router-8-…
ScriptedAlchemy Jul 9, 2026
9b51dbe
refactor: delegate data output path to request path helper
ScriptedAlchemy Jul 9, 2026
0e7fa0c
test: probe type-stripping support instead of node major version
ScriptedAlchemy Jul 9, 2026
73ec670
fix: mark @react-router/dev peer as optional
ScriptedAlchemy Jul 9, 2026
c1a91f4
Merge latest main into React Router 8 compatibility branch
ScriptedAlchemy Jul 9, 2026
4f49273
Merge remote-tracking branch 'origin/main' into codex/react-router-8-…
ScriptedAlchemy Jul 9, 2026
b072c88
refactor: remove React Router 8 code slop
ScriptedAlchemy Jul 10, 2026
52b25cb
test: restore NODE_ENV correctly after error sanitization tests
ScriptedAlchemy Jul 10, 2026
2dbf272
fix: always define process.env.NODE_ENV for the web environment
ScriptedAlchemy Jul 10, 2026
ad857b6
test: widen rsc hmr timeout on ci
ScriptedAlchemy Jul 10, 2026
1e0ec6d
fix: signal hot data revalidation once per node compilation
ScriptedAlchemy Jul 10, 2026
608f2f7
[codex] migrate vite references to rsbuild and rstest (#82)
ScriptedAlchemy Jul 10, 2026
ee70957
test: follow route restart marker move (#94)
ScriptedAlchemy Jul 10, 2026
3136921
chore: remove superpowers plans
ScriptedAlchemy Jul 10, 2026
0694b10
chore: remove docs
ScriptedAlchemy Jul 10, 2026
5a098ce
Merge remote-tracking branch 'origin/main' into codex/react-router-8-…
ScriptedAlchemy Jul 10, 2026
a266df4
chore: harden React Router compatibility workflow
ScriptedAlchemy Jul 11, 2026
2a61493
ci: increase framework test concurrency
ScriptedAlchemy Jul 11, 2026
1afb935
Merge remote-tracking branch 'origin/main' into codex/react-router-8-…
ScriptedAlchemy Jul 11, 2026
490c349
Merge remote-tracking branch 'origin/main' into HEAD
ScriptedAlchemy Jul 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .changeset/react-router-8-default-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'rsbuild-plugin-react-router': minor
---

Add React Router 8 compatibility while preserving React Router 7 behavior.
The plugin now supports stable React Router 8 config fields, resolves
prerender data requests for the installed React Router major version, supports
React Router RSC mode, analyzes transformed MDX route modules for manifest
generation, and includes React Router 8/RSC examples plus framework integration
coverage.
11 changes: 11 additions & 0 deletions .changeset/stream-server-first-route-css.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
'rsbuild-plugin-react-router': patch
---

Stream server-first route CSS during RSC render. CSS imported in the RSC
layer never flows through the client manifest's `<Links>`, so it was
previously dropped. Modules exporting server components are now marked with
the `'use server-entry'` directive so rspack's RSC runtime records
`entryCssFiles`, which the server route entry wrapper streams as
precedence-tagged stylesheet links, fixing missing styles and
flash-of-unstyled-content for server-component routes.
70 changes: 70 additions & 0 deletions .codex/skills/react-router-upstream-tests/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
name: react-router-upstream-tests
description: Audit upstream React Router framework test changes and manually select tests to adapt into this repository without overwriting the checked-in Rsbuild corpus.
---

# React Router Upstream Tests

Use this skill when checking for new or changed upstream React Router framework
tests, reviewing the corpus checkpoint, or manually importing test coverage.

## Source of truth

- `tests/react-router-framework/UPSTREAM.json` records the upstream repository,
last reviewed commit, review time, and relevant source directories.
- `tests/react-router-framework/` is repository-owned and authoritative. It is
intentionally adapted for Rsbuild and must never be overwritten wholesale.
- `scripts/check-react-router-framework-upstream.mjs` is a read-only audit. It
reports upstream changes but never copies files or updates the checkpoint.

## Workflow

1. Inspect the current checkpoint and confirm the local React Router clone:

```sh
cat tests/react-router-framework/UPSTREAM.json
git -C /path/to/react-router status --short --branch
```

2. Compare the reviewed commit with the desired upstream target:

```sh
pnpm check:react-router-framework-upstream -- \
--source=/path/to/react-router \
--target=HEAD
```

3. Review every reported directory containing added files and every added,
modified, deleted, or renamed file. Select only tests that add relevant
compatibility coverage.

4. Copy selected tests manually and adapt them to the existing Rsbuild harness:

- use `rsbuild.config.ts`, not Vite configuration;
- reuse helpers under `tests/react-router-framework/integration/helpers`;
- preserve intentional Rsbuild/Rspack divergences;
- do not add inert Vite dependencies, fixtures, or skipped suites;
- keep resource-guard and process-cleanup behavior intact.

5. Run the narrow imported tests first, then the relevant framework gate:

```sh
pnpm build
RR_FRAMEWORK_MAX_WORKERS=2 pnpm exec playwright test \
--config tests/react-router-framework/integration/playwright.config.ts \
path/to/imported-test.ts --workers=2 --max-failures=1 --retries=0
pnpm test:react-router-framework:failfast
```

6. After review and validation, update `lastReviewedRef` and `reviewedAt` in
`UPSTREAM.json` in the same commit as the selected test adaptations.

## Guardrails

- Never add an automatic sync, overlay restoration, or corpus rewrite step.
- Never update the checkpoint merely because the audit command ran.
- Never claim the corpus matches upstream; record only the revision reviewed.
- Do not copy upstream package manifests without adapting workspace/catalog
dependencies to this repository deliberately.
- Keep the working tree reviewable and commit only selected tests, adaptations,
checkpoint metadata, and directly related documentation.
12 changes: 11 additions & 1 deletion .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ on:
pull_request:
branches: [main]

permissions:
contents: read

jobs:
build-test:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -52,6 +55,13 @@ jobs:

- name: Install Playwright browsers
run: pnpm exec playwright install --with-deps chromium
env:
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/node_modules/.cache/ms-playwright

- name: Run React Router ecosystem tests
run: pnpm test:react-router-framework:failfast:no-build

- name: Run E2E tests
run: pnpm e2e
run: pnpm e2e:no-build
env:
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/node_modules/.cache/ms-playwright
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ tests/react-router-framework/.tmp/
playwright-report/
test-results/

# Nested Playwright artifacts (examples, fixtures)
# Playwright fixture scratch and reports (framework test corpus)
tests/react-router-framework/.tmp/
tests/.tmp-dev-runtime/
**/test-results/
**/playwright-report/
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@

### Minor Changes

- 3c6d368: Bring Rsbuild plugin behavior closer to React Router's official Vite plugin.
- 3c6d368: Bring Rsbuild plugin behavior closer to React Router framework behavior.
- Add React Router config resolution + validations/warnings for closer framework parity
- Add split route modules (route chunk entrypoints) including enforce mode validation
- Improve `.client` module stubbing on the server (including `export *` re-exports)
Expand Down
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,11 @@ export default {
```

Use `ReactRouterRsbuildConfig` for Rsbuild projects so plugin-supported
configuration such as `splitRouteModules` stays typed. The underlying route
and config types come from `@react-router/dev`, which framework-mode apps
already install for `routes.ts` helpers and typegen; it is declared as an
optional peer dependency.
configuration such as `splitRouteModules` stays typed across React Router 7
and 8 releases. The underlying route and config types come from
`@react-router/dev`, which framework-mode apps already install for
`routes.ts` helpers and typegen; it is declared as an optional peer
dependency.

Commonly used options:

Expand Down Expand Up @@ -168,7 +169,7 @@ a better fit.

### SPA Mode (`ssr: false`)

React Router's SPA Mode still requires a build-time server render of the root route to generate a hydratable `index.html` (this is how the official React Router Vite plugin works).
React Router's SPA Mode still requires a build-time server render of the root route to generate a hydratable `index.html` (this is how this Rsbuild integration mirrors React Router framework behavior).

When `ssr: false`:

Expand Down Expand Up @@ -688,14 +689,13 @@ inconclusive comparison before treating it as a performance result.
## React Router Framework Mode

React Router "Framework Mode" wraps Data Mode using a Vite plugin. This Rsbuild
plugin aims to match the important behaviors without depending on Vite:
plugin aims to match the important framework behaviors on Rsbuild:

- Typegen + Route Module API types (`./+types/*`)
- Route module splitting (`splitRouteModules`)
- SPA mode (`ssr: false`), SSR mode, and static prerendering (`prerender`)

Some Vite-specific integrations (for example Vite's environment API + critical
CSS endpoint) are not supported 1:1.
Some upstream framework integrations are not supported 1:1.

## Examples

Expand All @@ -709,6 +709,7 @@ The repository includes several examples demonstrating different use cases:
| [custom-node-server](./examples/custom-node-server) | Custom Express server with SSR | 3003 | `pnpm dev` |
| [cloudflare](./examples/cloudflare) | Cloudflare Workers deployment | 3004 | `pnpm dev` |
| [client-only](./examples/client-only) | `.client` modules with SSR hydration | 3010 | `pnpm dev` |
| [react-router-8](./examples/react-router-8) | React Router 8 framework-mode SSR | 3020 | `pnpm dev` |
| [epic-stack](./examples/epic-stack) | Full-featured Epic Stack example | 3005 | `pnpm dev` |
| [federation/epic-stack](./examples/federation/epic-stack) | Module Federation host | 3006 | `pnpm dev` |
| [federation/epic-stack-remote](./examples/federation/epic-stack-remote) | Module Federation remote | 3007 | `pnpm dev` |
Expand Down
22 changes: 8 additions & 14 deletions benchmarks/synthetic-web-bundler-benchmark/app/root.tsx
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
import type { LinksFunction, MetaFunction } from "react-router";
import {
Links,
Meta,
Outlet,
Scripts,
ScrollRestoration,
} from "react-router";
import { IntlProvider } from "react-intl";
import globalStyles from "./styles/global.css?url";
import type { LinksFunction, MetaFunction } from 'react-router';
import { Links, Meta, Outlet, Scripts, ScrollRestoration } from 'react-router';
import { IntlProvider } from 'react-intl';
import globalStyles from './styles/global.css?url';

export const meta: MetaFunction = () => [
{ title: "Synthetic Web Bundler Benchmark" },
{ title: 'Synthetic Web Bundler Benchmark' },
{
name: "description",
content: "A deterministic, non-product Vite and Rsbuild benchmark.",
name: 'description',
content: 'A deterministic, non-product Vite and Rsbuild benchmark.',
},
];

export const links: LinksFunction = () => [
{ rel: "stylesheet", href: globalStyles },
{ rel: 'stylesheet', href: globalStyles },
];

export function Layout({ children }: { children: React.ReactNode }) {
Expand Down
70 changes: 0 additions & 70 deletions docs/coherent-dev-generations.md

This file was deleted.

3 changes: 1 addition & 2 deletions examples/client-only/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
"@types/react": "^19.2.10",
"@types/react-dom": "^19.2.3",
"rsbuild-plugin-react-router": "workspace:*",
"typescript": "^5.9.3",
"vite": "^7.3.1"
"typescript": "^5.9.3"
}
}
2 changes: 1 addition & 1 deletion examples/client-only/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
],
"compilerOptions": {
"lib": ["DOM", "DOM.Iterable", "ES2022"],
"types": ["node", "vite/client"],
"types": ["node"],
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "bundler",
Expand Down
2 changes: 1 addition & 1 deletion examples/cloudflare/tsconfig.node.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"extends": "./tsconfig.json",
"include": ["tailwind.config.ts", "vite.config.ts"],
"include": ["tailwind.config.ts", "rsbuild.config.ts"],
"compilerOptions": {
"composite": true,
"strict": true,
Expand Down
2 changes: 1 addition & 1 deletion examples/custom-node-server/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"strict": true,
"checkJs": true,
"lib": ["DOM", "DOM.Iterable", "ES2022"],
"types": ["@rsbuild/core/types", "node"],
"types": ["node"],
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "bundler",
Expand Down
4 changes: 1 addition & 3 deletions examples/default-template/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@
"string-replace-loader": "^3.3.0",
"tailwindcss": "^4.1.18",
"text-encoder-lite": "^2.0.0",
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-tsconfig-paths": "^6.0.5"
"typescript": "^5.9.3"
}
}
5 changes: 1 addition & 4 deletions examples/default-template/tests/e2e/dev-route-watch.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@ import { fileURLToPath } from 'node:url';

const __dirname = dirname(fileURLToPath(import.meta.url));
const appDirectory = join(__dirname, '../../app');
const restartMarkerPath = join(
__dirname,
'../../build/client/.react-router/route-watch'
);
const restartMarkerPath = join(appDirectory, '..', '.react-router/route-watch');
const devRoutesConfigPath = join(appDirectory, 'dev-routes.ts');
const addedRoutePath = join(appDirectory, 'routes/dev-added-route.tsx');
const addedRouteUrl = '/dev-added-route';
Expand Down
19 changes: 15 additions & 4 deletions examples/default-template/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,27 @@
".react-router/types/**/*"
],
"compilerOptions": {
"lib": ["DOM", "DOM.Iterable", "ES2022"],
"types": ["node", "vite/client"],
"lib": [
"DOM",
"DOM.Iterable",
"ES2022"
],
"types": [
"node"
],
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "bundler",
"jsx": "react-jsx",
"rootDirs": [".", "./.react-router/types"],
"rootDirs": [
".",
"./.react-router/types"
],
"baseUrl": ".",
"paths": {
"~/*": ["./app/*"]
"~/*": [
"./app/*"
]
},
"esModuleInterop": true,
"verbatimModuleSyntax": true,
Expand Down
Loading
Loading