Socket
Socket
Sign inDemoInstall

hard-rejection

Package Overview
Dependencies
0
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

hard-rejection

Make unhandled promise rejections fail hard right away instead of the default silent fail

    2.1.0latest
    GitHub
    npm

Version published
Maintainers
1
Weekly downloads
9,219,100
increased by2.1%

Weekly downloads

Package description

What is hard-rejection?

The hard-rejection npm package is designed to ensure that unhandled promise rejections in Node.js applications are treated as hard errors, similar to throwing an exception. It is typically used during development to make sure that promise rejections do not go unnoticed.

What are hard-rejection's main functionalities?

Automatic handling of unhandled promise rejections

By simply requiring or importing 'hard-rejection/register', the package will automatically ensure that any unhandled promise rejections are treated as errors and will cause the Node.js process to exit with a non-zero exit code, making them more noticeable during development.

require('hard-rejection/register');
// or
import 'hard-rejection/register';

Other packages similar to hard-rejection

Readme

Source

hard-rejection Build Status

Make unhandled promise rejections fail hard right away instead of the default silent fail

Promises fail silently if you don't attach a .catch() handler.

This module exits the process with an error message right away when an unhandled rejection is encountered.
Note: That might not be desirable as unhandled rejections can be handled at a future point in time, although not common. You've been warned.

Intended for top-level long-running processes like servers, but not in reusable modules.
For command-line apps and tests, see loud-rejection.

Install

$ npm install hard-rejection

Usage

const hardRejection = require('hard-rejection');
const promiseFunction = require('some-promise-fn');

// Install the handler
hardRejection();

promiseFunction();

Without this module it's more verbose and you might even miss some that will fail silently:

const promiseFunction = require('some-promise-fn');

function error(error) {
	console.error(error.stack);
	process.exit(1);
}

promiseFunction().catch(error);

Register script

Alternatively to the above, you may simply require hard-rejection/register and the handler will be automagically installed for you.

This is handy for ES2015 imports:

import 'hard-rejection/register';

API

hardRejection([log])

log

Type: Function
Default: console.error

Custom logging function to print the rejected promise. Receives the error stack.

  • loud-rejection - Make unhandled promise rejections fail loudly instead of the default silent fail
  • More…

License

MIT © Sindre Sorhus

Keywords

FAQs

Last updated on 02 Apr 2019

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc