Skip to content

matthisk/debug-error-middleware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Express/Koa error handling middleware

Build Status

Better context information for NodeJS Errors during development. The middleware parses potential errors that occur during a request/response cycle and display the stack trace plus additional context in the response.

Features:

  • Stack traces + collapsable code (snippets)
  • Sourcemaps
  • Environment variables
  • Request information

Example Page

Currently we support these two HTTP frameworks:

  • Express
  • Koa

Setup

$ npm install debug-error-middleware

Never enable the DEBUG middleware in a production environment. This could result in leaking sensitive information (e.g. ENV variables). The middleware throws an error if you try to load it with NODE_ENV set to "production".

Express

The debug middleware should be loaded first so we can catch errors from all other middleware.

var debugMiddleware = require('debug-error-middleware').express;

var app = express();

if (process.env.NODE_ENV === 'development') {
  app.use(debugMiddleware());
}

Koa

var debugMiddleware = require('debug-error-middleware').koa;

var app = new Koa();

if (process.env.NODE_ENV === 'development') {
  app.use(debugMiddleware());
}

Source Map Support

Even though it is not desirable to run transpiled source code inside the node js runtime, you often do not escape the use of it because of Server Side Rendering applications. debug-error-middleware automatically supports sourcemaps. This will result in stack traces that are easier to interpret. You can disable source map support through a configuration option.

Configuration

The following configuration options are available:

{
  theme: 'okaidia', // The prismjs theme to use
  disabledForXHR: true // Disable the middleware for XHR requests
  disableSourceMapSupport: false // Disables support for sourcemaps
}

About

🤖 Node JS Middelware capturing & rendering improved stack traces

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published