Socket
Socket
Sign inDemoInstall

loud-rejection

Package Overview
Dependencies
3
Maintainers
2
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    loud-rejection

Make unhandled promise rejections fail loudly instead of the default silent fail


Version published
Weekly downloads
4.4M
increased by3.23%
Maintainers
2
Install size
28.1 kB
Created
Weekly downloads
 

Package description

What is loud-rejection?

The loud-rejection npm package is designed to make unhandled promise rejections fail loudly instead of the default silent fail. It helps in debugging by logging the errors to the console.

What are loud-rejection's main functionalities?

Default handler for unhandled rejections

This feature sets up a default handler for unhandled promise rejections, which logs the stack trace to stderr.

const loudRejection = require('loud-rejection');
loudRejection();

new Promise((resolve, reject) => {
  reject(new Error('Unhandled rejection'));
});

Custom log function

This feature allows you to provide a custom log function to handle the unhandled rejections in a way that suits your needs.

const loudRejection = require('loud-rejection');
const customLogger = error => console.error('Custom log:', error);
loudRejection(customLogger);

new Promise((resolve, reject) => {
  reject(new Error('Unhandled rejection with custom logger'));
});

Other packages similar to loud-rejection

Readme

Source

loud-rejection Build Status Coverage Status

Make unhandled promise rejections fail loudly instead of the default silent fail

By default, promises fail silently if you don't attach a .catch() handler to them.

This tool keeps track of unhandled rejections globally. If any remain unhandled at the end of your process, it logs them to STDERR and exits with code 1.

Use this in top-level things like tests, CLI tools, apps, etc, but not in reusable modules.
Not needed in the browser as unhandled rejections are shown in the console.

Install

$ npm install loud-rejection

Usage

const loudRejection = require('loud-rejection');
const promiseFunction = require('promise-fn');

// Install the `unhandledRejection` listeners
loudRejection();

promiseFunction();

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

const promiseFunction = require('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 loud-rejection/register and the unhandledRejection listener will be automagically installed for you.

This is handy for ES2015 imports:

import 'loud-rejection/register';

API

loudRejection([log])

log

Type: Function
Default: console.error

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

  • hard-rejection - Make unhandled promise rejections fail hard right away instead of the default silent fail
  • More…

Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.

Keywords

FAQs

Last updated on 28 Sep 2019

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.

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