taiga-family / micro-sentry

Tiny Sentry client with idiomatic wrapper for Angular
Apache License 2.0
35 stars 3 forks source link
angular micro-sentry sentry typescript

micro-sentry

npm version

@micro-sentry/core size

@micro-sentry/browser size

@micro-sentry/angular size

@micro-sentry is a tiny sentry client to monitor your applications without raising your bundle size.

Why is it better than default sentry client?

πŸ‘œ It is small. So, it is at most 2.27 kB (gzip) in size instead of default 85.1 kB (gzip), yet it retains all the the essential functionality.

πŸ›  It is easy to set up. There is a lightweight wrapper for Angular and a browser tool for other frameworks or vanilla.

Check out all the core functionality here.

Installation

Angular:

Micro-sentry version Angular version
>= 6 >= 14
>= 5 >= 13
>= 4 >= 12
>= 3 >= 11
>= 2 >= 10
npm i @micro-sentry/angular

Other:

npm i @micro-sentry/browser

[!NOTE] since version @micro-sentry/browser@7 breadcrumbs-plugin is a separate package

npm i @micro-sentry/breadcrumbs-plugin

How to set up

Angular

You can use provide api in standalone applications:

import { provideMicroSentry } from '@micro-sentry/angular';

bootstrapApplication(AppComponent, {
  providers: [
    provideMicroSentry({
      dsn: 'https://kj12kj1n23@sentry.domain.com/123',
    }),
  ],
});

Or add it into app.module.ts of your application:

import { MicroSentryModule } from '@micro-sentry/angular';

@NgModule({
  imports: [
    // options 1: via module
    MicroSentryModule.forRoot({
      dsn: 'https://kj12kj1n23@sentry.domain.com/123',
    }),
  ],
  providers: [
    // option 2: via provide
    provideMicroSentry({
      dsn: 'https://kj12kj1n23@sentry.domain.com/123',
    }),
  ],
})
export class AppModule {}

Javascript / Typescript

If you do not use Angular framework, you can install @micro-sentry/browser module to create client manually.

const client = new BrowserMicroSentryClient({
  dsn: 'https://kj12kj1n23@sentry.domain.com/123',
});

try {
  // your app code
} catch (e) {
  client.report(e);
}

Core Functionality

This list encapsulates the key functionalities supported by micro-sentry, emphasizing its focus on essential error tracking and management.

Core team

Igor Katsuba
Igor Katsuba
Roman Sedov
Roman Sedov

License

πŸ†“ Feel free to use our library in your commercial and private applications

All micro-sentry packages are covered by Apache 2.0

Read more about this license here