Adapter-injected router stores (no core default) + native Solid stores#6730
Adapter-injected router stores (no core default) + native Solid stores#6730Sheraff merged 25 commits intorefactor-signalsfrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run @benchmarks/client-nav:test:perf:solid |
❌ Failed | 1m 16s | View ↗ |
nx run @benchmarks/ssr:test:perf:vue |
✅ Succeeded | 2m 16s | View ↗ |
nx run @benchmarks/ssr:test:perf:solid |
✅ Succeeded | 1m 52s | View ↗ |
nx run @benchmarks/ssr:test:perf:react |
✅ Succeeded | 2m 3s | View ↗ |
nx run @benchmarks/client-nav:test:perf:vue |
✅ Succeeded | 1m 22s | View ↗ |
nx run @benchmarks/client-nav:test:perf:react |
✅ Succeeded | 1m 21s | View ↗ |
☁️ Nx Cloud last updated this comment at 2026-03-04 21:36:27 UTC
Bundle Size Benchmarks
Trend sparkline is historical gzip bytes ending with this PR measurement; lower is better. |
Merging this PR will improve performance by 13.53%
Performance Changes
Comparing |

Use solid native reactivity instead of
tanstack/solid-storeClient-side re-render perf
benchmark: how much time does it take to navigate 100 times on a re-render heavy page
Bundle-size changes
SSR performance
100-links autocannon test
10 connections
100 connections
Summary
router-coreand require adapters to inject aRouterStoresFactory..state+.setState) and adapter-agnostic.@tanstack/*-storethrough adapter-localrouterStores.ts.@tanstack/storeruntime dependency fromrouter-core.@tanstack/solid-storeruntime dependency fromsolid-router.RouterCorewith an injected test store factory.Key Files
packages/router-core/src/stores.tspackages/router-core/src/router.tspackages/router-core/src/index.tspackages/react-router/src/router.tspackages/react-router/src/routerStores.tspackages/vue-router/src/router.tspackages/vue-router/src/routerStores.tspackages/solid-router/src/router.tspackages/solid-router/src/routerStores.tspackages/solid-router/src/store.tsValidation
Passed:
CI=1 NX_DAEMON=false pnpm nx run @tanstack/router-core:test:types --outputStyle=stream --skipRemoteCacheCI=1 NX_DAEMON=false pnpm nx run @tanstack/router-core:test:unit --outputStyle=stream --skipRemoteCacheCI=1 NX_DAEMON=false pnpm nx run @tanstack/react-router:test:types --outputStyle=stream --skipRemoteCacheCI=1 NX_DAEMON=false pnpm nx run @tanstack/react-router:test:unit --outputStyle=stream --skipRemoteCacheCI=1 NX_DAEMON=false pnpm nx run @tanstack/vue-router:test:types --outputStyle=stream --skipRemoteCacheCI=1 NX_DAEMON=false pnpm nx run @tanstack/vue-router:test:unit --outputStyle=stream --skipRemoteCacheCI=1 NX_DAEMON=false pnpm nx run @tanstack/solid-router:test:types --outputStyle=stream --skipRemoteCacheCI=1 NX_DAEMON=false pnpm nx run @tanstack/solid-router:test:unit --outputStyle=stream --skipRemoteCacheNot clean yet:
CI=1 NX_DAEMON=false pnpm nx run @tanstack/react-router:test:eslint --outputStyle=stream --skipRemoteCache