
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
fastify-print-routes
Advanced tools
A simple plugin for Fastify prints all available routes.
http://sw.cowtech.it/fastify-print-routes
Just run:
npm install fastify-print-routes --save
Register as a plugin as early as possible, optional providing any of the following options:
useColors
: If to use colors to highlight routes.compact
: If to show all routes of the same path in a single line even if they are defined using different handlers. Descripion of unified routes will not be printed.filter
: If provided, a function that receives a route and should return a boolean to determine if the route should be print or not.querystring
: If to include querystrings in the URLs.Routes can also be omitted by the list by setting hide
option to true
inside their config
.
Once the server is started, it will print on the console all available routes and methods.
import fastify from 'fastify'
import fastifyPrintRoutes from 'fastify-print-routes'
const server = fastify()
/*
Since fastify-print-routes uses an onRoute hook, you have to either:
* use `await register...`
* wrap you routes definitions in a plugin
See: https://www.fastify.io/docs/latest/Guides/Migration-Guide-V4/#synchronous-route-definitions
*/
await server.register(fastifyPrintRoutes)
server.get('/path1', {
async handler() {
return { ok: true }
}
})
server.route({
url: '/path2/:params',
method: ['POST', 'GET'],
async handler() {
return { ok: true }
},
config: {
description: 'Title'
}
})
server.route({
url: '/path3',
method: ['POST', 'GET'],
async handler() {
return { ok: true }
},
config: {
hide: true
}
})
server.listen({ port: 3000 }, () => {
console.log(`Server listening on port ${server.server.address().port} ...`)
})
Once started, this will be printed to the console:
Available routes:
╔════════════╤════════════════╤═════════════╗
║ Method(s) │ Path │ Description ║
╟────────────┼────────────────┼─────────────╢
║ GET │ /path1 │ ║
║ HEAD │ /path1 │ ║
║ GET | POST │ /path2/:params │ Title ║
╚════════════╧════════════════╧═════════════╝
Server listening on port 60792 ...
This package only supports to be directly imported in a ESM context.
For informations on how to use it in a CommonJS context, please check this page.
Copyright (C) 2020 and above Shogun (shogun@cowtech.it).
Licensed under the ISC license, which can be found at https://choosealicense.com/licenses/isc.
2025-03-09 / 4.1.0
FAQs
A simple plugin for Fastify prints all available routes.
The npm package fastify-print-routes receives a total of 6,517 weekly downloads. As such, fastify-print-routes popularity was classified as popular.
We found that fastify-print-routes demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.