clear-router
v2.5.0
Published
Laravel-style routing for Node.js with support for Express, H3, Fastify, Hono, and Koa, including CommonJS, ESM, and TypeScript support.
Maintainers
Readme
Clear Router
Laravel-style routing for Node.js with support for Express, H3, Fastify, and Hono, including CommonJS, ESM, and TypeScript support.
Installation
npm install clear-router h3
# OR
npm install clear-router expressOR
pnpm add clear-router h3
# OR
pnpm add clear-router expressOR
yarn add clear-router h3
# OR
yarn add clear-router expressFeatures
- Simple and clean route declarations (get, post, put, delete, patch, options, head)
- Grouped routes with prefix
- Method override support via body or header keys (configurable)
- Middleware stack: per-route and group-level
- Controller-method pair as route handler
- Supports HttpContext style handlers: { req, res, next }
- Function handlers always receive context as first argument
- Controller handlers receive hydrated
this.body,this.query,this.params, andthis.clearRequest clearRequestis passed as second handler argument for controller handlers- Route handlers can return response values directly across Express, Fastify, Hono, and H3
- Auto-binds controller methods
- Full CommonJS, ESM, and TypeScript support
- Error handling delegated to Express | H3 | Fastify | Hono
- Route inspection with the
allRoutesmethod - Fully Express-compatible
- Fully H3-compatible
- Fully Fastify-compatible
- Fully Hono-compatible
Quick Start
Express JS
See the Express JS documentation for details.
H3
See the H3 documentation for details.
Fastify
See the Fastify documentation for details.
Hono
See the Hono documentation for details.
API Reference
See API.md for complete API documentation.
Middleware Execution Order
[ Global Middleware ] → [ Group Middleware ] → [ Route Middleware ]Handler Execution
- If function: executed directly
- If [Controller, 'method']: auto-instantiated (if needed), method is called
- First handler arg is always context (
{ req, res, next }for Express, H3 event for H3) - Second handler arg is
clearRequestfor controller handlers
Testing
npm test # Run all tests
npm run test:cjs # Test CommonJS
npm run test:esm # Test ESM
npm run test:ts # Test TypeScriptSee TESTING.md for a detailed testing guide.
Examples
npm run example # CommonJS example
npm run example:esm # ESM example
npm run example:ts # TypeScript exampleCheck the example/ directory for full working demos.
Changelog
See CHANGELOG.md for version history.
Requirements
- Node.js >= 14.0.0
- Express >= 5.0.0 | H3 >= 2.0.1
License
MIT License © 2026 ToneFlix Technologies Limited
Author
3m1n3nce [email protected]
Repository
https://github.com/toneflix/clear-router
