4.4.4 • Published 2 years ago

@givve/errors v4.4.4

Weekly downloads
3
License
-
Repository
-
Last release
2 years ago

Npm package @givve/errors

This package adds Sentry error handling to your project.

Settings

Sentry dsn property needs to be set. To be able up use SourceMaps, for every app deployment a sentry release needs to be created and artifacts uploaded. To use those Sentry.init needs the release version added to the congif. Optionally a 'release' can be set.

Sentry accepts a version as 'release' property in the init options. This version value needs to be prefixed with the sentry project name. E.g. my-project@1.1.0

The package.json version can be set in the environment.ts file.

export const environment = {
  production: false,
  sentry: {
    dsn: '',
    // this is the sentry project name
    releasePrefix: 'my-project',
  },
  version: require('../../package.json').version
};

In app.module.ts

import { ErrorsModule, ErrorsNoopModule } from '@givve/errors';
import * as Sentry from '@sentry/browser';


const dsn = (env as any).sentry && (env as any).sentry.dsn ? (env as any).sentry.dsn : null;
const release = (env as any).sentry && (env as any).sentry.releasePrefix ? `${(env as any).sentry.releasePrefix}@${env.version}` : null;

if (dsn) {
  const options = {dsn};
  if (release) {
    Object.assign(options, {release});
  }
  Sentry.init(options);
}

// optionally ignore unauthenticated 401 request errors
const config = {ignoreStatus: [401]};
const errorsModule = dsn ? ErrorsModule.forRoot(config) : ErrorsNoopModule;

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    errorsModule
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

Set 'sentry.dsn' property in the environment.ts if you want to use Sentry error monitoring, e.g. environment.prod.ts

Because the notificationService.captureException can be called from anywhere, e.g. from the http interceptor catching a 401, the ErrorsNoopModule has to be imported in case 'sentry.dsn' is not set.

To submit a user alongside your errors, call notificationService.setUser after the login with the user object containing the following data:

export interface SentryUserData {
  id: string;
  username: string;
}
4.4.4

2 years ago

4.4.1

4 years ago

4.4.0

4 years ago

4.3.0

4 years ago

4.2.0

4 years ago

4.1.0

4 years ago

3.1.0

4 years ago

4.0.0

5 years ago

3.0.5

5 years ago

3.0.4

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago

0.0.1

5 years ago