Skip to content

How PageFlow works

PageFlow combines framework-specific route discovery with a framework-neutral visual client.

1. Discover routes

The selected adapter reads the framework's route source. Vue Router and Nuxt expose router records; file-based frameworks contribute routes through their build integrations; React Router accepts route objects; Next.js uses a development sidecar.

2. Start the development runtime

The plugin injects a small runtime only while the development server is running. It reports route information, visible navigation targets, page titles, and readiness to the PageFlow endpoint.

3. Render real pages

PageFlow opens same-origin application pages in controlled iframes. The selected page remains live, while background pages are captured into bounded thumbnail caches.

4. Detect navigation

Adapters recognize supported framework links, same-origin anchors, history changes, literal programmatic destinations, and explicit navigation hints. The client turns these destinations into directed graph edges and preview hotspots.

5. Lay out the graph

LeaferJS renders the canvas. Route decks reduce large path hierarchies, a spatial index limits viewport work, and large layouts can run in a Worker.

Production builds

PageFlow is development-only. Its runtime endpoints and visual client are not injected into production output. The repository's production-output check verifies this boundary.

Safety boundary

Preview mode blocks anchor navigation and form submission inside its controlled frame, but it cannot suppress application initialization side effects. Use local or test data.

Released under the MIT License.