Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/me-on1/express-route-listing
Npm Package to log every API endpoints with params, query, middlware etc in Md file
https://github.com/me-on1/express-route-listing
express log npm-package router
Last synced: 25 days ago
JSON representation
Npm Package to log every API endpoints with params, query, middlware etc in Md file
- Host: GitHub
- URL: https://github.com/me-on1/express-route-listing
- Owner: ME-ON1
- License: mit
- Created: 2021-06-17T14:24:14.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-05T10:51:13.000Z (over 2 years ago)
- Last Synced: 2024-10-02T10:10:12.555Z (about 1 month ago)
- Topics: express, log, npm-package, router
- Language: JavaScript
- Homepage:
- Size: 162 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Express-route-listing
Express-route-listing is a minimal, lightweight, route logger package to log or write (Or Both) express APIs in a file, which helps in documenting the stuff for newer people who will/are contributing their efforts to your repo.
Express-route-listing currently helps in logging PARAMS , METHODS , MIDDLEWARE AND PATH.
It has option to `printToConsole` or `writeToFile`. To Show routes info in console. Or show them into as md table in Route.md ( in the directory where package.json is present )
Example :
#### Using this package in ES6 module
import AccquireRoute from "./index.mjs"
const OPTIONS = {
printToConsole : BOOLEAN (default true ),
writeToFile : BOOLEAN (default false )
}
AccquireRoute(app , {
OPTIONS
})#### Using this package in CommonJs Module ( [require dynamic importing](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#dynamic_imports) )
const modulePath = PATH
const OPTIONS = {
printToConsole : BOOLEAN, // (default true )
writeToFile : BOOLEAN // (default false )
}
import(modulePath).then(routeLog => {
routeLog.AccquireRoute(app , OPTIONS)
})
#### Test Case Exampleapp.route('/')
.get((req, res) => {
res.end()
})
.all((req, res) => {
res.end()
})
.post((req, res) => {
res.end()
})app.route('/testing')
.all((req, res) => {
res.end()
})
.delete((req, res) => {
res.end()
})
app.route('/testing')
.all((req, res) => {
res.end()
})
.delete((req, res) => {
res.end()
})
router.route('/')
.get((req, res) => {
res.end()
})
.all((req, res) => {
res.end()
})
.post((req, res) => {
res.end()
})
function mid(req, res, next ){
next()
}function mid1(req, res, next)
{
next()
}function mid2(req,res ,next)
{
next()
}
app.get('/testing1/:id?something ', mid , mid1 , mid2 , (req,res,next)=>{
console.log("this is a working example for query and params")
})
##### Output in console[
{
path: '/',
middleware: [],
methods: [ 'GET', '_ALL', 'POST' ],
params: [],
query: []
},
{
path: '/testing',
middleware: [],
methods: [ '_ALL', 'DELETE' ],
params: [],
query: []
},
{
path: '/testing',
middleware: [],
methods: [ '_ALL', 'DELETE' ],
params: [],
query: []
},
{
path: '/testing1/:id?somthing ',
middleware: [ { name: 'mid' }, { name: 'mid1' }, { name: 'mid2' } ],
methods: [ 'GET' ],
params: [ { name: 'id' } ],
query: [ { name: 'somthing ' } ]
}
]##### Output in Route.md
| path | methods | middleware | params | query |
| ----------------------- | ------- | ---------- | ------ | --------- |
| / | | | | |
| | GET | | | |
| | _ALL | | | |
| | POST | | | |
| /testing | | | | |
| | _ALL | | | |
| | DELETE | | | |
| /testing | | | | |
| | _ALL | | | |
| | DELETE | | | |
| /testing1/:id?somthing | | | | |
| | GET | mid | id | somthing |
| | | mid1 | | |
| | | mid2 | | |