GitShow/solidjs/solid-router
solidjs

solid-router

A universal router for Solid inspired by Ember and React Router

by solidjs
Star on GitHubForknpm

TypeScript

1.3k stars176 forks89 contributorsActive · 3d agoSince 2020MIT

Meet the team

See all 89 on GitHub →
ryansolid
ryansolid351 contributions
rturnq
rturnq64 contributions
Brendonovich
Brendonovich16 contributions
birkskyum
birkskyum13 contributions
atilafassina
atilafassina11 contributions
Brendan-csel
Brendan-csel10 contributions
oedotme
oedotme7 contributions
Jutanium
Jutanium6 contributions

Languages

View on GitHub →
TypeScript76.5%
JavaScript23.5%

Commit activity

Last 12 weeks · 13 commits

Full graph →

Community health

4 of 6 standards met

Community profile →
75
✓README✓License✓Contributing✓Code of Conduct○Issue Template○PR Template

Recent PRs & issues

Active · Last activity 3d ago
See all on GitHub →
Jungzl
fix #588: preserve nested route layouts between sibling navigationsOpenPR

fix: #588

Jungzl · 2d ago
cradle-song
2.0: Nested route layouts remount on every navigation between their childrenOpenIssue

Describe the bug A shared parent layout is torn down and re-created on every navigation between its child routes, even though its route stays in the match chain and the router correctly reuses its route context. This contradicts the documented behavior: Solid Router reuses a matched route context while its route definition remains in the next match chain. Moving between sibling child routes therefore keeps their shared parent layout mounted. The bug affects any nested routes -- path-ful and pathless layouts alike. Only navigations that change no level of the match chain (same leaf route, different params) are unaffected. Fallout: everything that lives in a layout is destroyed per click -- component state resets, fires, providers are re-created, and CSS transitions never play. Your Example Website or App https://github.com/cradle-song/repro-solid-router-remount Steps to Reproduce the Bug or Issue 1. Open the app (with the browser console visible) 2. Click Page A 3. Click Page B Expected behavior The page shows . One console log at startup, new clicks do not log anything. Screenshots or Videos The page shows . Every click logs new Platform Version: 2.0.0-next.17 Additional context Suggested fix in repo README.

cradle-song · 5d ago
birkskyum
perf(A): cut server render cost by ~5xOpenPR

Fixes #583. `mergePropssplitPropsrenderToStringmergePropsactiveClassinactiveClass??mergePropsundefinedlocation.pathnamenormalizePathdecodeURItoLowerCaseJSON.stringifystateJSON.stringify(undefined)undefinedclassListsplitPropsmergePropsisServerrenderToStringendactiveClassinactiveClassclassclassListstatetargetrelreplacenoScrollpreloadidaria-labelmainlink="true">link="true" >maintest/anchor.spec.tsxendclassListmaintest/ssr/anchor.spec.tsxmainisServervitest.ssr.config.tstest:ssrpnpm testtest:typesAmergePropsARouterRoutemergePropssplitPropssplitlinkbooleanboolean | stringlink="true"childrensplitPropsprops.children` in a memo.

birkskyum · 2w ago

Recent fixes

View closed PRs →
brenelz
Update solid to 2.0.0-rc.1 and adapt fileRoutes to the new lazy() signatureMergedPR

Summary Bump / / devDependencies to and raise the peer ranges to . Adapt to rc.1's new signature: moved from the second argument to the third (), so the code-split branch now calls . The peer floor bump is required, not cosmetic: on rc.0, takes second, so the adapted call would silently drop it — losing the URL that SSR resolves client assets against. Conversely, rc.1's dev build throws on the old string-second-argument call. Verification Full suite green on rc.1: 348 client tests, 28 server tests, type checks, build. Reproduced the breakage end-to-end in a fullstack SSR test app pinned to solid 2.0.0-rc.1 with the published : production SSR logs and the route chunks are absent from the SSR HTML. With this branch linked in, the warning is gone, the SSR HTML preloads the route chunks (, ), both and render, and hydration works (event replay + counter interactivity verified in the browser). Patch changeset included, following the rc.0 bump convention. 🤖 Generated with Claude Code

brenelz · 6d ago
birkskyum
Release 1.0.0MergedPR

The API hasn't changed for about a year (since the SolidStart v1), same as Solid Meta, so it seems reasonable to stabilize the current api surface, and keep following semver with changesets like we do already. Currently, the only stable SPA router for solid is .

birkskyum · 2w ago
Structured data for AI agents

Repository: solidjs/solid-router. Description: A universal router for Solid inspired by Ember and React Router Stars: 1317, Forks: 176. Primary language: TypeScript. Languages: TypeScript (76.5%), JavaScript (23.5%). License: MIT. Open PRs: 11, open issues: 29. Last activity: 3d ago. Community health: 75%. Top contributors: ryansolid, rturnq, Brendonovich, birkskyum, atilafassina, Brendan-csel, oedotme, Jutanium, jpdutoit, jchatard and others.

·@ofershap

Replace github.com with gitshow.dev