@tuplo/unhandler

Creates 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.

Usage no npm install needed!

<script type="module">
  import tuploUnhandler from 'https://cdn.skypack.dev/@tuplo/unhandler';
</script>

README

unhandler

Creates 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.

Usage

import { unhandler } from '@tuplo/unhandler';

Registers event handlers for uncaughtException and unhandledRejection

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

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

import { submitError } from '@tuplo/unhandler';

const error = new Error('buggy bug');

await submitError(error, {
  appName: 'my-app-1',
  onBeforeSubmitError: (error) => console.error(error),
  providers: {
    github: {
      user: 'tuplo',
      repo: 'unhandler',
      token: 'secret-token-xxxxxxx',
    },
  },
});

// will output the error before submitting

Error tracking providers

  • GitHub Issues
  • Trello
  • JIRA

API

unhandler(options)

options

appName: string

The name of the application triggering the error.

onBeforeSubmitError: string?

An optional function to be called just before submitting the error.

providers: Provider[]
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.

Install

$ npm install @tuplo/unhandler

# or with yarn
$ yarn add @tuplo/unhandler

License

MIT