Skip to content

Npm Package to log every API endpoints with params, query, middlware etc in Md file

License

Notifications You must be signed in to change notification settings

ME-ON1/express-route-listing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 )

const modulePath = PATH
const OPTIONS = {
	printToConsole : BOOLEAN, // (default true )
	writeToFile : BOOLEAN // (default false )
}
import(modulePath).then(routeLog => {
	routeLog.AccquireRoute(app , OPTIONS)
		})

Test Case Example

app.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

About

Npm Package to log every API endpoints with params, query, middlware etc in Md file

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published