Skip to content

Installation

Pick the package for your framework. Each adapter declares @isorouter/core as a regular dependency, so it's installed automatically.

sh
npm install @isorouter/core
sh
npm install @isorouter/svelte
sh
npm install @isorouter/react
sh
npm install @isorouter/vue

Requirements

isorouter is built on the browser Navigation API. It reached Baseline Newly available in early 2026 (Chrome, Edge, Firefox, Safari) but is not yet Widely available.

isorouter ships no History API fallback by design. If you need to support older engines, load a polyfill before starting the router — see Browser support for the full story.

TypeScript ≥ 6.0

For full type support, use TypeScript 6.0 or newer. Its lib.dom.d.ts ships the Navigation API types (Navigation, NavigateEvent, NavigationResult, the global navigation), so no extra @types package is needed.

On TypeScript < 6, install @types/dom-navigation yourself.

Framework versions

AdapterPeer requirement
@isorouter/svelteSvelte ≥ 5.7
@isorouter/reactReact ≥ 18
@isorouter/vueVue ≥ 3.4

Bundle size

Every package is ESM-only with "sideEffects": false for full tree-shaking. Measured by Bundlephobia (minified / minified + gzipped); adapter figures include the core:

PackageMinifiedGzipped
@isorouter/core~4.0 KB~1.8 KB
@isorouter/react~5.4 KB~2.3 KB
@isorouter/vue~5.6 KB~2.3 KB
@isorouter/svelte~2.3 KB*

@isorouter/core has zero runtime dependencies; the adapters add only their bridge code on top (~0.5 KB gzipped each).

* Bundlephobia can't build Svelte's compiled .svelte exports, so the Svelte figure is an estimate (core ~1.8 KB + adapter ~0.5 KB), in line with the React and Vue adapters.

Next

Head to the Quick start for a running router.

Released under the MIT License.