# router5/router5

Flexible and powerful universal routing solution

Repository: https://github.com/router5/router5
Canonical: https://ross.abutalabs.com/products/router5
Homepage: https://router5.js.org
Language: TypeScript
License: MIT
License Family: permissive
Topics: router, universal, functional, javascript, react, redux, reactive-programming, routing, framework-agnostic
Last push: 2023-01-07T05:57:10+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4083, "days_push": 1334, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1695, forks 105 (observed 2026-08-28T04:05:23.786276+00:00)

## What it is
Router5 is a framework- and view-library-agnostic JavaScript router that processes routing instructions and emits state updates, working both client-side and server-side. It is modular and extensible via plugins, with integrations for React, Redux, and observable libraries.

## Use cases
- route a single-page application without coupling to a view framework
- use the same router on client and server for universal/isomorphic apps
- integrate routing state with Redux or RxJS observables
- control navigation transitions and prevent navigation with middleware
- build a React app with hooks-based routing via react-router5

## When to choose
- you want a view-agnostic router with clear separation of routing state from UI
- you need universal (client and server) routing
- you want fine-grained control over transitions, middleware, and plugins
- you use React, Redux, or observables and want first-class integration

## When to avoid
- you want a batteries-included router tightly integrated with a mainstream framework like React Router or Vue Router
- you need a router with active ongoing development and frequent releases
- you prefer file-based or convention-over-configuration routing

## Facets
- artifact type: library
- maturity: maintenance
- function: routing, middleware, state-management
- domain: web-development, frontend
- platform: browser, cross-platform
- tags: universal-router, framework-agnostic, reactive, plugin-system, typescript, javascript, nodejs

## Member repositories
- router5/router5 (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:23.786276+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:37:57.353530+00:00, confidence not recorded.
  - readme: https://github.com/router5/router5 (fetched 2026-08-28T04:05:23.786276+00:00, sha 34478b8082ae)
  - homepage: https://router5.js.org (fetched 2026-08-29T11:13:12.054922+00:00, sha 4c536317ef6b)
  - site_page: https://router5.js.org/introduction/getting-started (fetched 2026-08-29T11:13:12.063954+00:00, sha cf76e6770c8d)
  - registry_npm: https://registry.npmjs.org/router5 (fetched 2026-08-29T11:13:12.065815+00:00, sha bddbad23a100)
- Data as of 2026-08-30T08:39:29.467469+00:00.
