eslint-plugin-promise
Enforce best practices for JavaScript promises (by eslint-community)
neverthrow
Type-Safe Errors for JS & TypeScript (by supermacro)
Our great sponsors
eslint-plugin-promise | neverthrow | |
---|---|---|
3 | 16 | |
896 | 2,447 | |
1.5% | - | |
5.1 | 5.8 | |
19 days ago | 6 days ago | |
JavaScript | TypeScript | |
ISC License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
eslint-plugin-promise
Posts with mentions or reviews of eslint-plugin-promise.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-20.
- Is it possible to block calls to .then() and require modern async/await
- How to know if a function throws in Typescript?
-
Some tips on tooling for improving our code
ESLint plugin to identify problems with promise chains: Mozilla has a good explanation of how they work.
neverthrow
Posts with mentions or reviews of neverthrow.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-04.
-
Error Handling Patterns
Very timely, was just trying to understand how to improve error handling with typescript recently and came across neverthrow (https://github.com/supermacro/neverthrow) which looks promising…
-
Ask HN: What is the “proper” way to do error-handling in TypeScript?
On my team we use Rust-style Result/Option types for any unrecoverable exceptions.
https://github.com/supermacro/neverthrow
-
The gotcha of unhandled promise rejections
I was happy when Promise became available, but in retrospect I'd wish we would have skipped ahead and gotten Observable (e.g: https://rxjs.dev/) instead to enable more powerful functionality and composition etc.
In Typescript dealing with rejection is also painful since rejection reasons can't be guaranteed to be Error even when you always take care of that. And it can't help you guarantee that you're handling all types of errors thrown. For that purpose I'm thinking of using https://github.com/supermacro/neverthrow#readme or https://swan-io.github.io/boxed.
-
How has learning Rust been a benefit to you in other programming areas?
I highly recommend the neverthrow library for bringing Result to Typescript.
-
functional error handling (functions return error) recommendations
I like the Result monad from here: https://github.com/supermacro/neverthrow
-
How to know if a function throws in Typescript?
What do you think of neverthrow?
-
ts-results - a lightweight result wrapper to exhibit success/failure instead of using/throwing exceptions.
I use https://github.com/supermacro/neverthrow for this
-
Handle Javascript errors like in Go
See neverthrow as an example of correctly encoding the failure into the return type of the function.
- Why doesn't typescript have a throws type to annotate functions that can throw an error?
-
what's the recommended way to handle error in TS?
I use Neverthrow. Same idea, concurrent projects...
What are some alternatives?
When comparing eslint-plugin-promise and neverthrow you can also consider the following projects:
You-Dont-Need-Lodash-Underscore - List of JavaScript methods which you can use natively + ESLint Plugin
ts-results - A typescript implementation of Rust's Result object.