Creates bug reports for uncaught exceptions and unhandled rejections
npm install @tuplo/unhandlerCreates bug reports for uncaught exceptions and unhandled rejections. Works like a DYI Sentry client for NodeJS. Can publish bug reports on different trackers simultaneously. Not suited to be used on browsers as it would need to expose your APIs' access secrets to the public.
``bash
$ npm install @tuplo/unhandler
Usage
`ts
import { unhandler } from '@tuplo/unhandler';
`Registers event handlers for
uncaughtException and unhandledRejection`ts
unhandler({
appName: 'my-app-1',
providers: {
github: {
user: 'tuplo',
repo: 'unhandler',
token: 'secret-token-xxxxxxx',
},
},
});throw new Error('buggy bug');
// will create a GitHub issue with title "[my-app-1] buggy bug"
`Creates bug reports directly with
submitError`ts
import { submitError } from '@tuplo/unhandler';const error = new Error('buggy bug');
await submitError(error, {
appName: 'my-app-1',
providers: {
github: {
user: 'tuplo',
repo: 'unhandler',
token: 'secret-token-xxxxxxx',
},
},
});
// will create a GitHub issue with title "[my-app-1] buggy bug"
`Registers an event handler
onBeforeSubmitError or onAfterSubmitError`ts
import { submitError } from '@tuplo/unhandler';const error = new Error('buggy bug');
await submitError(error, {
appName: 'my-app-1',
onBeforeSubmitError: (error) => console.error(error),
onAfterSubmitError: (error) => console.error(error),
providers: {
github: {
user: 'tuplo',
repo: 'unhandler',
token: 'secret-token-xxxxxxx',
},
},
});
// will output the error before and after submitting
`Error tracking providers
- [x] GitHub Issues
- [ ] Trello
- [ ] JIRA
Options
$3
>
stringThe name of the application triggering the error.
$3
>
(error) => Promise | optionalAn optional function to be called just before submitting the error.
$3
>
(error) => Promise | optionalAn optional function to be called just after submitting the error.
$3
>
Provider[]$3
>
boolean | optionalDecides if the error should actually be submitted. Normally coupled with
onBeforeSubmitError to do something else with the Error but not submit it. If false it doesn't submit the error and doesn't call onAfterSubmitError. Defaults to true.
##### GitHub
| name | type | description |
| ----- | -------- | ------------------------------------------------------------------------------- |
| user |
string | The user or organization, owner of the repository where issues will be created. |
| repo | string | The name of the repository where issues will be created. |
| token | string | GitHub's personal access token with a repo` scope. |MIT