Awesome
route-list
β¨ Beautifully shows Express/Koa/Hapi/Fastify routes in CLI.
π¦ Installation
# Installs the package so it's globally accessible in terminal
npm i route-list -g
π Configuration
Before you can use route-list
on your project, we first need to make sure it's configured properly.
In order for route-list
to work, we need to export server "app".
The example below is for Express but it also applies to Koa (with @koa/router)/Hapi/Fastify.
app.js / app.ts
const app = express();
app.get('/', (req, res) => res.sendStatus(200));
app.get('/products', (req, res) => res.sendStatus(200));
app.get('/products/:id', (req, res) => res.sendStatus(200));
// CJS
// Option 1: module.exports = app;
// Option 2: module.exports = { app, yourOtherExports... };
// Option 3: module.exports = functionThatReturnsApp;
// ESM
// Option 1: export default app;
// Option 2: export default { app, yourOtherExports... };
// Option 3: export default functionThatReturnsApp;
NOTE: In case you use SocketIO with Express, make sure to export Express app, not
http.createServer
server instance.
βοΈ Usage
Options
-g, --group
- Display routes in groups separated with new line-m, --methods <methods>
- Include routes registered for HTTP method(s)-i, --include-paths <paths>
- Include routes starting with path(s)-e, --exclude-paths <paths>
- Exclude routes starting with path(s)
Examples
route-list server/app.js
route-list --group server/app.js
route-list --methods GET,POST server/app.js
NOTE: In case an app is part of NX monorepo, make sure to build it first.
π» Programmatic Usage
import RouteList from 'route-list';
// Example result { "/": ["GET"], "/users": ["GET", "POST"] }
const routesMap = RouteList.getRoutes(app, 'express');
// Print routes to console
RouteList.printRoutes(routesMap);
π¨ Author
Vladimir Mikulic
- Twitter: @VladoDev
- Github: @VladimirMikulic
- LinkedIn: @vladimirmikulic
π€ Contributing
Contributions, issues and feature requests are welcome!
π» Credits
The project was inspired by new route:list
command in Laravel 9.
New route:list
itself was
inspired by pretty-routes
project.
Big thanks to Ξlex Wulf for building
pretty-routes
and Laravel community for recognizing the usefulness of the project.
βοΈ License
This project is licensed under MIT license.
π¨βπ Show your support
Give a βοΈ if this project helped you!