ufbr

Universal File-Based Router - A framework-agnostic file-based routing solution for modern web applications.

ufbr automatically generates routes from your file structure, eliminating the need for manual route configuration. Perfect for building single-page applications with intuitive file organization.

Features

  • šŸ“ File-Based Routing - Routes automatically generated from your file structure
  • ⚔ Sync & Async Components - Support for both synchronous and asynchronous component loading
  • šŸ”— Nested Routes - Build hierarchical route structures effortlessly
  • šŸŽÆ Dynamic Routes - Create parameterized routes with [param] syntax
  • šŸŽØ Framework Agnostic - Works with Preact, Solid, Ziko, Vue, and more

Installation

npm install ufbr

Quick Start

Basic Usage

import { createFileBasedRouter } from 'ufbr/[FRAMEWORK]'

createFileBasedRouter({
  pages: import.meta.glob('./pages/**/*.[jsx,js]'),
  target: document.body
})

Demos

Tech Stackblitz Link
Van
Preact
Solid
Vue
Svelte

API

createFileBasedRouter(options)

Options:

  • pages (object) - Result of import.meta.glob() pattern with all page components
  • target (Element) - DOM element where the router will render components

File Structure Example

pages/
ā”œā”€ā”€ index.[extension]           → /
ā”œā”€ā”€ about.[extension]           → /about
ā”œā”€ā”€ blog/
│   ā”œā”€ā”€ index.[extension]       → /blog
│   └── [id].[extension]        → /blog/:id
└── user/
    └── [name].[extension]      → /user/:name

License

MIT

Top categories

Loading Svelte Themes