nestjs-bugsnag
TypeScript icon, indicating that this package has built-in type declarations

0.1.8 • Public • Published

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Bugsnag module for Nest

Installation

$ npm install --save nestjs-bugsnag @bugsnag/js

Usage

In the root of your project:

import { BugsnagModule } from 'nestjs-bugsnag';
import BugsnagPluginExpress from '@bugsnag/plugin-express'

@Module({
  imports: [
    BugsnagModule.forRoot({
      apiKey: '<your-api-key>',
      releaseStage: 'production',
      appVersion: '1.0.0',
      plugins: [BugsnagPluginExpress],
      notifyReleaseStages: ['production'],
      onUncaughtException: true,
      onUnhandledRejection: true,
    }),
  ],
})
export class AppModule {
}

You can add the BugsnagPluginExpress to your plugins array in the forRoot method.

You can also use the forRootAsync method to configure the module:

import { Module } from '@nestjs/common';
import { BugsnagModule } from 'nestjs-bugsnag';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot({
      ...
    }),
    BugsnagModule.forRootAsync({
      inject: [ConfigService],
      imports: [ConfigModule],
      useFactory: (configService: ConfigService) => ({
        apiKey: configService.get('BUGSNAG_API_KEY'),
        releaseStage: configService.get('BUGSNAG_RELEASE_STAGE'),
        appVersion: configService.get('BUGSNAG_APP_VERSION'),
        notifyReleaseStages: configService.get('BUGSNAG_NOTIFY_RELEASE_STAGES'),
        onUncaughtException: configService.get('BUGSNAG_ON_UNCAUGHT_EXCEPTION'),
        onUnhandledRejection: configService.get('BUGSNAG_ON_UNHANDLED_REJECTION'),
      }),
    }),
  ],
})

More options are found in Bugsnag docs

You can inject the BugsnagService to use it in your application:

import { BugsnagService } from 'nestjs-bugsnag';

@Controller()
export class AppController {
  constructor(private readonly bugsnagService: BugsnagService) {
  }

  failingMethod() {
    this.bugsnagService.notify(new Error('Something went wrong'));
  }
}

Package Sidebar

Install

npm i nestjs-bugsnag

Weekly Downloads

743

Version

0.1.8

License

MIT

Unpacked Size

15.8 kB

Total Files

17

Last publish

Collaborators

  • dcampagnola