Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
hard-rejection
Advanced tools
Package description
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.
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';
Similar to hard-rejection, loud-rejection makes unhandled promise rejections loud by logging them to the console. However, it does not terminate the Node.js process.
While not directly related to promise rejections, why-is-node-running can be used to log out active handles that are keeping Node.js running, which can be useful for debugging unhandled rejections or other issues.
Bluebird is a full-featured promise library that, among other things, can be configured to handle unhandled rejections in various ways. It is more comprehensive than hard-rejection, which has a more singular focus.
Readme
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
.
$ npm install --save hard-rejection
const hardRejection = require('hard-rejection');
const promiseFn = require('some-promise-fn');
// install the handler
hardRejection();
promiseFn();
Without this module it's more verbose and you might even miss some that will fail silently:
const promiseFn = require('some-promise-fn');
function error(err) {
console.error(err.stack);
process.exit(1);
}
promiseFn().catch(error);
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';
Type: Function
Default: console.error
Custom logging function to print the rejected promise. Receives the error stack.
MIT © Sindre Sorhus
FAQs
Make unhandled promise rejections fail hard right away instead of the default silent fail
The npm package hard-rejection receives a total of 7,235,762 weekly downloads. As such, hard-rejection popularity was classified as popular.
We found that hard-rejection demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.