vc-error-handlers 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,27 +1,27 @@
1
- ## Installation
2
-
3
- To add vc-error-handlers package to your project, follow these steps:
4
-
5
- 1. Open your terminal and navigate to your project folder.
6
- 2. Run the following command to install the package:
7
- shell
8
- npm i vc-error-handlers
9
-
10
- ## Usage
11
-
12
- 1. Import the VcErrorHandlersModule in your module file:
13
-
14
- ```typescript
15
- import { NgModule } from "@angular/core";
16
- import { VcErrorHandlersModule } from "vc-error-handlers";
17
-
18
- @NgModule({
19
- imports: [
20
- VcErrorHandlersModule.forRoot({ sentryConfig: SENTRY_CONFIG }), // Replace SENTRY_CONFIG with your Sentry configuration
21
- ],
22
- })
23
- export class MyModule {}
24
- ```
25
-
26
- 2. Replace SENTRY_CONFIG with your actual Sentry configuration.
27
- After importing the module, you can use the error handlers provided by vc-error-handlers throughout your Angular application
1
+ ## Installation
2
+
3
+ To add vc-error-handlers package to your project, follow these steps:
4
+
5
+ 1. Open your terminal and navigate to your project folder.
6
+ 2. Run the following command to install the package:
7
+ shell
8
+ npm i vc-error-handlers
9
+
10
+ ## Usage
11
+
12
+ 1. Import the VcErrorHandlersModule in your module file:
13
+
14
+ ```typescript
15
+ import { NgModule } from "@angular/core";
16
+ import { VcErrorHandlersModule } from "vc-error-handlers";
17
+
18
+ @NgModule({
19
+ imports: [
20
+ VcErrorHandlersModule.forRoot({ sentryConfig: SENTRY_CONFIG }), // Replace SENTRY_CONFIG with your Sentry configuration
21
+ ],
22
+ })
23
+ export class MyModule {}
24
+ ```
25
+
26
+ 2. Replace SENTRY_CONFIG with your actual Sentry configuration.
27
+ After importing the module, you can use the error handlers provided by vc-error-handlers throughout your Angular application
@@ -6,21 +6,21 @@ export class VcErrorHandlersComponent {
6
6
  }
7
7
  }
8
8
  VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
10
- <p>
11
- vc-error-handlers works!
12
- </p>
9
+ VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
10
+ <p>
11
+ vc-error-handlers works!
12
+ </p>
13
13
  `, isInline: true });
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{
17
17
  selector: 'lib-vc-error-handlers',
18
- template: `
19
- <p>
20
- vc-error-handlers works!
21
- </p>
18
+ template: `
19
+ <p>
20
+ vc-error-handlers works!
21
+ </p>
22
22
  `,
23
23
  styles: []
24
24
  }]
25
25
  }], ctorParameters: function () { return []; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7cUhBTFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNkRBUnpCOzs7O0dBSVQ7MkZBSVUsd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELE1BQU0sRUFBRSxFQUNQO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXZjLWVycm9yLWhhbmRsZXJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cD5cbiAgICAgIHZjLWVycm9yLWhhbmRsZXJzIHdvcmtzIVxuICAgIDwvcD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7cUhBTFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNkRBUnpCOzs7O0dBSVQ7MkZBSVUsd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELE1BQU0sRUFBRSxFQUNQO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZjLWVycm9yLWhhbmRsZXJzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIHZjLWVycm9yLWhhbmRsZXJzIHdvcmtzIVxyXG4gICAgPC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,33 +1,39 @@
1
1
  import { ErrorHandler, InjectionToken, NgModule, } from '@angular/core';
2
2
  import { VcErrorHandlersComponent } from './vc-error-handlers.component';
3
+ import * as Sentry from '@sentry/angular-ivy';
3
4
  import { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';
4
5
  import { Configurations } from './configuration';
6
+ import { Router } from '@angular/router';
5
7
  import * as i0 from "@angular/core";
6
8
  export const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
9
+ export function sentryInit() { }
7
10
  export class VcErrorHandlersModule {
8
11
  static forRoot(environmentConfig) {
9
12
  return {
10
13
  ngModule: VcErrorHandlersModule,
11
- providers: [{ provide: Configurations, useValue: environmentConfig }],
14
+ providers: [
15
+ { provide: Configurations, useValue: environmentConfig },
16
+ { provide: ErrorHandler, useClass: SentryErrorHandler },
17
+ {
18
+ provide: ErrorHandler,
19
+ useValue: Sentry.createErrorHandler({
20
+ showDialog: false,
21
+ }),
22
+ },
23
+ { provide: Sentry.TraceService, deps: [Router] },
24
+ ],
12
25
  };
13
26
  }
14
27
  }
15
28
  VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
29
  VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, declarations: [VcErrorHandlersComponent], exports: [VcErrorHandlersComponent] });
17
- VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
18
- { provide: ErrorHandler, useClass: SentryErrorHandler },
19
- // { provide: ErrorHandler, useClass: GlobalErrorHandler },
20
- ], imports: [[]] });
30
+ VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, imports: [[]] });
21
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
22
32
  type: NgModule,
23
33
  args: [{
24
34
  declarations: [VcErrorHandlersComponent],
25
35
  imports: [],
26
36
  exports: [VcErrorHandlersComponent],
27
- providers: [
28
- { provide: ErrorHandler, useClass: SentryErrorHandler },
29
- // { provide: ErrorHandler, useClass: GlobalErrorHandler },
30
- ],
31
37
  }]
32
38
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFakQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELHNDQUFzQyxDQUN2QyxDQUFDO0FBV0YsTUFBTSxPQUFPLHFCQUFxQjtJQUN6QixNQUFNLENBQUMsT0FBTyxDQUNuQixpQkFBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1NBQ3RFLENBQUM7SUFDSixDQUFDOztrSEFSVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFSakIsd0JBQXdCLGFBRTdCLHdCQUF3QjttSEFNdkIscUJBQXFCLGFBTHJCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtRQUN2RCw0REFBNEQ7S0FDN0QsWUFMUSxFQUFFOzJGQU9BLHFCQUFxQjtrQkFUakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3dCQUN2RCw0REFBNEQ7cUJBQzdEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRXJyb3JIYW5kbGVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IH0gZnJvbSAnLi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJvd3Nlck9wdGlvbnMgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xuaW1wb3J0IHsgR2xvYmFsRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9zaGFyZWQvZXJyb3JoYW5kbGVyL2NodW5rLWVycm9yLmhhbmRsZXInO1xuaW1wb3J0IHsgU2VudHJ5RXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9zaGFyZWQvZXJyb3JoYW5kbGVyL3NlbnRyeS1lcnJvci5oYW5kbGVyJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IEZPUl9ST09UX1NFTlRSWV9PUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEJyb3dzZXJPcHRpb25zPihcbiAgJ2ZvclJvb3QoKSBTZW50cnlFcnJvckhhbmRsZXIgb3B0aW9ucydcbik7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1ZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBTZW50cnlFcnJvckhhbmRsZXIgfSxcbiAgICAvLyAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBHbG9iYWxFcnJvckhhbmRsZXIgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZjRXJyb3JIYW5kbGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVmNFcnJvckhhbmRsZXJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb25maWd1cmF0aW9ucywgdXNlVmFsdWU6IGVudmlyb25tZW50Q29uZmlnIH1dLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXpFLE9BQU8sS0FBSyxNQUFNLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELHNDQUFzQyxDQUN2QyxDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsS0FBSSxDQUFDO0FBTy9CLE1BQU0sT0FBTyxxQkFBcUI7SUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FDbkIsaUJBQWlDO1FBRWpDLE9BQU87WUFDTCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO2dCQUN4RCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO2dCQUN2RDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDbEMsVUFBVSxFQUFFLEtBQUs7cUJBQ2xCLENBQUM7aUJBQ0g7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRTthQUNqRDtTQUNGLENBQUM7SUFDSixDQUFDOztrSEFsQlUscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBSmpCLHdCQUF3QixhQUU3Qix3QkFBd0I7bUhBRXZCLHFCQUFxQixZQUh2QixFQUFFOzJGQUdBLHFCQUFxQjtrQkFMakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBUFBfSU5JVElBTElaRVIsXHJcbiAgRXJyb3JIYW5kbGVyLFxyXG4gIEluamVjdGlvblRva2VuLFxyXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXHJcbiAgTmdNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCB9IGZyb20gJy4vdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJvd3Nlck9wdGlvbnMgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xyXG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XHJcbmltcG9ydCB7IFNlbnRyeUVycm9ySGFuZGxlciB9IGZyb20gJy4vc2hhcmVkL2Vycm9yaGFuZGxlci9zZW50cnktZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmV4cG9ydCBjb25zdCBGT1JfUk9PVF9TRU5UUllfT1BUSU9OU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm93c2VyT3B0aW9ucz4oXHJcbiAgJ2ZvclJvb3QoKSBTZW50cnlFcnJvckhhbmRsZXIgb3B0aW9ucydcclxuKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzZW50cnlJbml0KCkge31cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXSxcclxuICBleHBvcnRzOiBbVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZjRXJyb3JIYW5kbGVyc01vZHVsZSB7XHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxyXG4gICAgZW52aXJvbm1lbnRDb25maWc6IENvbmZpZ3VyYXRpb25zXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWY0Vycm9ySGFuZGxlcnNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBWY0Vycm9ySGFuZGxlcnNNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBlbnZpcm9ubWVudENvbmZpZyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRXJyb3JIYW5kbGVyLCB1c2VDbGFzczogU2VudHJ5RXJyb3JIYW5kbGVyIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IFNlbnRyeS5jcmVhdGVFcnJvckhhbmRsZXIoe1xyXG4gICAgICAgICAgICBzaG93RGlhbG9nOiBmYWxzZSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBTZW50cnkuVHJhY2VTZXJ2aWNlLCBkZXBzOiBbUm91dGVyXSB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
11
11
  providedIn: 'root'
12
12
  }]
13
13
  }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdmMtZXJyb3ItaGFuZGxlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLGdCQUFnQixDQUFDOzttSEFGTixzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFZjRXJyb3JIYW5kbGVyc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdmMtZXJyb3ItaGFuZGxlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLGdCQUFnQixDQUFDOzttSEFGTixzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWY0Vycm9ySGFuZGxlcnNTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxufVxyXG4iXX0=
@@ -4,4 +4,4 @@
4
4
  export * from './lib/vc-error-handlers.service';
5
5
  export * from './lib/vc-error-handlers.component';
6
6
  export * from './lib/vc-error-handlers.module';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHZjLWVycm9yLWhhbmRsZXJzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlJztcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdmMtZXJyb3ItaGFuZGxlcnNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92Yy1lcnJvci1oYW5kbGVycy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlJztcclxuIl19
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, Optional, InjectionToken, ErrorHandler, NgModule } from '@angular/core';
3
3
  import * as Sentry from '@sentry/angular-ivy';
4
+ import { Router } from '@angular/router';
4
5
 
5
6
  class VcErrorHandlersService {
6
7
  constructor() { }
@@ -20,19 +21,19 @@ class VcErrorHandlersComponent {
20
21
  }
21
22
  }
22
23
  VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
24
- <p>
25
- vc-error-handlers works!
26
- </p>
24
+ VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
25
+ <p>
26
+ vc-error-handlers works!
27
+ </p>
27
28
  `, isInline: true });
28
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
29
30
  type: Component,
30
31
  args: [{
31
32
  selector: 'lib-vc-error-handlers',
32
- template: `
33
- <p>
34
- vc-error-handlers works!
35
- </p>
33
+ template: `
34
+ <p>
35
+ vc-error-handlers works!
36
+ </p>
36
37
  `,
37
38
  styles: []
38
39
  }]
@@ -85,30 +86,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
85
86
  } });
86
87
 
87
88
  const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
89
+ function sentryInit() { }
88
90
  class VcErrorHandlersModule {
89
91
  static forRoot(environmentConfig) {
90
92
  return {
91
93
  ngModule: VcErrorHandlersModule,
92
- providers: [{ provide: Configurations, useValue: environmentConfig }],
94
+ providers: [
95
+ { provide: Configurations, useValue: environmentConfig },
96
+ { provide: ErrorHandler, useClass: SentryErrorHandler },
97
+ {
98
+ provide: ErrorHandler,
99
+ useValue: Sentry.createErrorHandler({
100
+ showDialog: false,
101
+ }),
102
+ },
103
+ { provide: Sentry.TraceService, deps: [Router] },
104
+ ],
93
105
  };
94
106
  }
95
107
  }
96
108
  VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
97
109
  VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, declarations: [VcErrorHandlersComponent], exports: [VcErrorHandlersComponent] });
98
- VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
99
- { provide: ErrorHandler, useClass: SentryErrorHandler },
100
- // { provide: ErrorHandler, useClass: GlobalErrorHandler },
101
- ], imports: [[]] });
110
+ VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, imports: [[]] });
102
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
103
112
  type: NgModule,
104
113
  args: [{
105
114
  declarations: [VcErrorHandlersComponent],
106
115
  imports: [],
107
116
  exports: [VcErrorHandlersComponent],
108
- providers: [
109
- { provide: ErrorHandler, useClass: SentryErrorHandler },
110
- // { provide: ErrorHandler, useClass: GlobalErrorHandler },
111
- ],
112
117
  }]
113
118
  }] });
114
119
 
@@ -120,4 +125,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
120
125
  * Generated bundle index. Do not edit.
121
126
  */
122
127
 
123
- export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService };
128
+ export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService, sentryInit };
129
+ //# sourceMappingURL=vc-error-handlers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VcErrorHandlersService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-vc-error-handlers',\n template: `\n <p>\n vc-error-handlers works!\n </p>\n `,\n styles: [\n ]\n})\nexport class VcErrorHandlersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","export class Configurations {\r\n public sentryConfig: any;\r\n\r\n constructor() {\r\n this.sentryConfig = {};\r\n }\r\n}\r\n","import { ErrorHandler, Injectable, Optional, isDevMode } from '@angular/core';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { Configurations } from '../../configuration';\r\n\r\n@Injectable()\r\nexport class SentryErrorHandler implements ErrorHandler {\r\n constructor(@Optional() config?: Configurations) {\r\n if (config?.sentryConfig) {\r\n const SENTRY_CONFIG = config.sentryConfig;\r\n Sentry.init({\r\n dsn: SENTRY_CONFIG?.DSN,\r\n integrations: [\r\n new Sentry.BrowserTracing({\r\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\r\n routingInstrumentation: Sentry.routingInstrumentation,\r\n }),\r\n ],\r\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\r\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\r\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\r\n });\r\n }\r\n }\r\n\r\n handleError(error: any) {\r\n this.handleChunkError(error);\r\n Sentry.captureException(error.originalError || error);\r\n }\r\n\r\n handleChunkError(error: Error) {\r\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\r\n if (chunkFailedMessage.test(error.message)) {\r\n window.location.reload();\r\n }\r\n console.error(error);\r\n }\r\n}\r\n","import {\n ErrorHandler,\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\nimport { BrowserOptions } from '@sentry/browser';\nimport { GlobalErrorHandler } from './shared/errorhandler/chunk-error.handler';\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\nimport { Configurations } from './configuration';\n\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\n 'forRoot() SentryErrorHandler options'\n);\n\n@NgModule({\n declarations: [VcErrorHandlersComponent],\n imports: [],\n exports: [VcErrorHandlersComponent],\n providers: [\n { provide: ErrorHandler, useClass: SentryErrorHandler },\n // { provide: ErrorHandler, useClass: GlobalErrorHandler },\n ],\n})\nexport class VcErrorHandlersModule {\n public static forRoot(\n environmentConfig: Configurations\n ): ModuleWithProviders<VcErrorHandlersModule> {\n return {\n ngModule: VcErrorHandlersModule,\n providers: [{ provide: Configurations, useValue: environmentConfig }],\n };\n }\n}\n","/*\n * Public API Surface of vc-error-handlers\n */\n\nexport * from './lib/vc-error-handlers.service';\nexport * from './lib/vc-error-handlers.component';\nexport * from './lib/vc-error-handlers.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAKa,sBAAsB;IAEjC,iBAAiB;;mHAFN,sBAAsB;uHAAtB,sBAAsB,cAFrB,MAAM;2FAEP,sBAAsB;kBAHlC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCQY,wBAAwB;IAEnC,iBAAiB;IAEjB,QAAQ;KACP;;qHALU,wBAAwB;yGAAxB,wBAAwB,6DARzB;;;;GAIT;2FAIU,wBAAwB;kBAVpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE;;;;GAIT;oBACD,MAAM,EAAE,EACP;iBACF;;;MCXY,cAAc;IAGzB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;;;MCAU,kBAAkB;IAC7B,YAAwB,MAAuB;QAC7C,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,EAAE;YACxB,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG;gBACvB,YAAY,EAAE;oBACZ,IAAI,MAAM,CAAC,cAAc,CAAC;wBACxB,uBAAuB,EAAE,aAAa,CAAC,YAAY;wBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;qBACtD,CAAC;iBACH;gBACD,gBAAgB,EAAE,aAAa,CAAC,kBAAkB;gBAClD,wBAAwB,EAAE,aAAa,CAAC,0BAA0B;gBAClE,wBAAwB,EAAE,aAAa,CAAC,2BAA2B;aACpE,CAAC,CAAC;SACJ;KACF;IAED,WAAW,CAAC,KAAU;QACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;KACvD;IAED,gBAAgB,CAAC,KAAY;QAC3B,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtB;;+GA9BU,kBAAkB;mHAAlB,kBAAkB;2FAAlB,kBAAkB;kBAD9B,UAAU;;;8BAEI,QAAQ;;;;MCMV,6BAA6B,GAAG,IAAI,cAAc,CAC7D,sCAAsC,EACtC;MAWW,qBAAqB;IACzB,OAAO,OAAO,CACnB,iBAAiC;QAEjC,OAAO;YACL,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;SACtE,CAAC;KACH;;kHARU,qBAAqB;mHAArB,qBAAqB,iBARjB,wBAAwB,aAE7B,wBAAwB;mHAMvB,qBAAqB,aALrB;QACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;;KAExD,YALQ,EAAE;2FAOA,qBAAqB;kBATjC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,SAAS,EAAE;wBACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;;qBAExD;iBACF;;;ACxBD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VcErrorHandlersService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-handlers',\r\n template: `\r\n <p>\r\n vc-error-handlers works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class VcErrorHandlersComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export class Configurations {\r\n public sentryConfig: any;\r\n\r\n constructor() {\r\n this.sentryConfig = {};\r\n }\r\n}\r\n","import { ErrorHandler, Injectable, Optional, isDevMode } from '@angular/core';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { Configurations } from '../../configuration';\r\n\r\n@Injectable()\r\nexport class SentryErrorHandler implements ErrorHandler {\r\n constructor(@Optional() config?: Configurations) {\r\n if (config?.sentryConfig) {\r\n const SENTRY_CONFIG = config.sentryConfig;\r\n Sentry.init({\r\n dsn: SENTRY_CONFIG?.DSN,\r\n integrations: [\r\n new Sentry.BrowserTracing({\r\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\r\n routingInstrumentation: Sentry.routingInstrumentation,\r\n }),\r\n ],\r\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\r\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\r\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\r\n });\r\n }\r\n }\r\n\r\n handleError(error: any) {\r\n this.handleChunkError(error);\r\n Sentry.captureException(error.originalError || error);\r\n }\r\n\r\n handleChunkError(error: Error) {\r\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\r\n if (chunkFailedMessage.test(error.message)) {\r\n window.location.reload();\r\n }\r\n console.error(error);\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n ErrorHandler,\r\n InjectionToken,\r\n ModuleWithProviders,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\r\nimport { BrowserOptions } from '@sentry/browser';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\r\nimport { Configurations } from './configuration';\r\nimport { Router } from '@angular/router';\r\n\r\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\r\n 'forRoot() SentryErrorHandler options'\r\n);\r\n\r\nexport function sentryInit() {}\r\n\r\n@NgModule({\r\n declarations: [VcErrorHandlersComponent],\r\n imports: [],\r\n exports: [VcErrorHandlersComponent],\r\n})\r\nexport class VcErrorHandlersModule {\r\n public static forRoot(\r\n environmentConfig: Configurations\r\n ): ModuleWithProviders<VcErrorHandlersModule> {\r\n return {\r\n ngModule: VcErrorHandlersModule,\r\n providers: [\r\n { provide: Configurations, useValue: environmentConfig },\r\n { provide: ErrorHandler, useClass: SentryErrorHandler },\r\n {\r\n provide: ErrorHandler,\r\n useValue: Sentry.createErrorHandler({\r\n showDialog: false,\r\n }),\r\n },\r\n { provide: Sentry.TraceService, deps: [Router] },\r\n ],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of vc-error-handlers\r\n */\r\n\r\nexport * from './lib/vc-error-handlers.service';\r\nexport * from './lib/vc-error-handlers.component';\r\nexport * from './lib/vc-error-handlers.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAKa,sBAAsB;IAEjC,iBAAiB;;mHAFN,sBAAsB;uHAAtB,sBAAsB,cAFrB,MAAM;2FAEP,sBAAsB;kBAHlC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCQY,wBAAwB;IAEnC,iBAAiB;IAEjB,QAAQ;KACP;;qHALU,wBAAwB;yGAAxB,wBAAwB,6DARzB;;;;GAIT;2FAIU,wBAAwB;kBAVpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE;;;;GAIT;oBACD,MAAM,EAAE,EACP;iBACF;;;MCXY,cAAc;IAGzB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;;;MCAU,kBAAkB;IAC7B,YAAwB,MAAuB;QAC7C,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,EAAE;YACxB,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG;gBACvB,YAAY,EAAE;oBACZ,IAAI,MAAM,CAAC,cAAc,CAAC;wBACxB,uBAAuB,EAAE,aAAa,CAAC,YAAY;wBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;qBACtD,CAAC;iBACH;gBACD,gBAAgB,EAAE,aAAa,CAAC,kBAAkB;gBAClD,wBAAwB,EAAE,aAAa,CAAC,0BAA0B;gBAClE,wBAAwB,EAAE,aAAa,CAAC,2BAA2B;aACpE,CAAC,CAAC;SACJ;KACF;IAED,WAAW,CAAC,KAAU;QACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;KACvD;IAED,gBAAgB,CAAC,KAAY;QAC3B,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtB;;+GA9BU,kBAAkB;mHAAlB,kBAAkB;2FAAlB,kBAAkB;kBAD9B,UAAU;;;8BAEI,QAAQ;;;;MCQV,6BAA6B,GAAG,IAAI,cAAc,CAC7D,sCAAsC,EACtC;SAEc,UAAU,MAAK;MAOlB,qBAAqB;IACzB,OAAO,OAAO,CACnB,iBAAiC;QAEjC,OAAO;YACL,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBACxD,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;gBACvD;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,MAAM,CAAC,kBAAkB,CAAC;wBAClC,UAAU,EAAE,KAAK;qBAClB,CAAC;iBACH;gBACD,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;aACjD;SACF,CAAC;KACH;;kHAlBU,qBAAqB;mHAArB,qBAAqB,iBAJjB,wBAAwB,aAE7B,wBAAwB;mHAEvB,qBAAqB,YAHvB,EAAE;2FAGA,qBAAqB;kBALjC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACpC;;;ACxBD;;;;ACAA;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, Optional, InjectionToken, ErrorHandler, NgModule } from '@angular/core';
3
3
  import * as Sentry from '@sentry/angular-ivy';
4
+ import { Router } from '@angular/router';
4
5
 
5
6
  class VcErrorHandlersService {
6
7
  constructor() { }
@@ -20,19 +21,19 @@ class VcErrorHandlersComponent {
20
21
  }
21
22
  }
22
23
  VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
24
- <p>
25
- vc-error-handlers works!
26
- </p>
24
+ VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
25
+ <p>
26
+ vc-error-handlers works!
27
+ </p>
27
28
  `, isInline: true });
28
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
29
30
  type: Component,
30
31
  args: [{
31
32
  selector: 'lib-vc-error-handlers',
32
- template: `
33
- <p>
34
- vc-error-handlers works!
35
- </p>
33
+ template: `
34
+ <p>
35
+ vc-error-handlers works!
36
+ </p>
36
37
  `,
37
38
  styles: []
38
39
  }]
@@ -83,30 +84,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
83
84
  }] }]; } });
84
85
 
85
86
  const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
87
+ function sentryInit() { }
86
88
  class VcErrorHandlersModule {
87
89
  static forRoot(environmentConfig) {
88
90
  return {
89
91
  ngModule: VcErrorHandlersModule,
90
- providers: [{ provide: Configurations, useValue: environmentConfig }],
92
+ providers: [
93
+ { provide: Configurations, useValue: environmentConfig },
94
+ { provide: ErrorHandler, useClass: SentryErrorHandler },
95
+ {
96
+ provide: ErrorHandler,
97
+ useValue: Sentry.createErrorHandler({
98
+ showDialog: false,
99
+ }),
100
+ },
101
+ { provide: Sentry.TraceService, deps: [Router] },
102
+ ],
91
103
  };
92
104
  }
93
105
  }
94
106
  VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
95
107
  VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, declarations: [VcErrorHandlersComponent], exports: [VcErrorHandlersComponent] });
96
- VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
97
- { provide: ErrorHandler, useClass: SentryErrorHandler },
98
- // { provide: ErrorHandler, useClass: GlobalErrorHandler },
99
- ], imports: [[]] });
108
+ VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, imports: [[]] });
100
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
101
110
  type: NgModule,
102
111
  args: [{
103
112
  declarations: [VcErrorHandlersComponent],
104
113
  imports: [],
105
114
  exports: [VcErrorHandlersComponent],
106
- providers: [
107
- { provide: ErrorHandler, useClass: SentryErrorHandler },
108
- // { provide: ErrorHandler, useClass: GlobalErrorHandler },
109
- ],
110
115
  }]
111
116
  }] });
112
117
 
@@ -118,4 +123,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
118
123
  * Generated bundle index. Do not edit.
119
124
  */
120
125
 
121
- export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService };
126
+ export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService, sentryInit };
127
+ //# sourceMappingURL=vc-error-handlers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VcErrorHandlersService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-vc-error-handlers',\n template: `\n <p>\n vc-error-handlers works!\n </p>\n `,\n styles: [\n ]\n})\nexport class VcErrorHandlersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","export class Configurations {\r\n public sentryConfig: any;\r\n\r\n constructor() {\r\n this.sentryConfig = {};\r\n }\r\n}\r\n","import { ErrorHandler, Injectable, Optional, isDevMode } from '@angular/core';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { Configurations } from '../../configuration';\r\n\r\n@Injectable()\r\nexport class SentryErrorHandler implements ErrorHandler {\r\n constructor(@Optional() config?: Configurations) {\r\n if (config?.sentryConfig) {\r\n const SENTRY_CONFIG = config.sentryConfig;\r\n Sentry.init({\r\n dsn: SENTRY_CONFIG?.DSN,\r\n integrations: [\r\n new Sentry.BrowserTracing({\r\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\r\n routingInstrumentation: Sentry.routingInstrumentation,\r\n }),\r\n ],\r\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\r\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\r\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\r\n });\r\n }\r\n }\r\n\r\n handleError(error: any) {\r\n this.handleChunkError(error);\r\n Sentry.captureException(error.originalError || error);\r\n }\r\n\r\n handleChunkError(error: Error) {\r\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\r\n if (chunkFailedMessage.test(error.message)) {\r\n window.location.reload();\r\n }\r\n console.error(error);\r\n }\r\n}\r\n","import {\n ErrorHandler,\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\nimport { BrowserOptions } from '@sentry/browser';\nimport { GlobalErrorHandler } from './shared/errorhandler/chunk-error.handler';\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\nimport { Configurations } from './configuration';\n\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\n 'forRoot() SentryErrorHandler options'\n);\n\n@NgModule({\n declarations: [VcErrorHandlersComponent],\n imports: [],\n exports: [VcErrorHandlersComponent],\n providers: [\n { provide: ErrorHandler, useClass: SentryErrorHandler },\n // { provide: ErrorHandler, useClass: GlobalErrorHandler },\n ],\n})\nexport class VcErrorHandlersModule {\n public static forRoot(\n environmentConfig: Configurations\n ): ModuleWithProviders<VcErrorHandlersModule> {\n return {\n ngModule: VcErrorHandlersModule,\n providers: [{ provide: Configurations, useValue: environmentConfig }],\n };\n }\n}\n","/*\n * Public API Surface of vc-error-handlers\n */\n\nexport * from './lib/vc-error-handlers.service';\nexport * from './lib/vc-error-handlers.component';\nexport * from './lib/vc-error-handlers.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAKa,sBAAsB;IAEjC,iBAAiB;;mHAFN,sBAAsB;uHAAtB,sBAAsB,cAFrB,MAAM;2FAEP,sBAAsB;kBAHlC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCQY,wBAAwB;IAEnC,iBAAiB;IAEjB,QAAQ;KACP;;qHALU,wBAAwB;yGAAxB,wBAAwB,6DARzB;;;;GAIT;2FAIU,wBAAwB;kBAVpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE;;;;GAIT;oBACD,MAAM,EAAE,EACP;iBACF;;;MCXY,cAAc;IAGzB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;;;MCAU,kBAAkB;IAC7B,YAAwB,MAAuB;QAC7C,IAAI,MAAM,EAAE,YAAY,EAAE;YACxB,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,aAAa,EAAE,GAAG;gBACvB,YAAY,EAAE;oBACZ,IAAI,MAAM,CAAC,cAAc,CAAC;wBACxB,uBAAuB,EAAE,aAAa,CAAC,YAAY;wBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;qBACtD,CAAC;iBACH;gBACD,gBAAgB,EAAE,aAAa,CAAC,kBAAkB;gBAClD,wBAAwB,EAAE,aAAa,CAAC,0BAA0B;gBAClE,wBAAwB,EAAE,aAAa,CAAC,2BAA2B;aACpE,CAAC,CAAC;SACJ;KACF;IAED,WAAW,CAAC,KAAU;QACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;KACvD;IAED,gBAAgB,CAAC,KAAY;QAC3B,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtB;;+GA9BU,kBAAkB;mHAAlB,kBAAkB;2FAAlB,kBAAkB;kBAD9B,UAAU;;0BAEI,QAAQ;;;MCMV,6BAA6B,GAAG,IAAI,cAAc,CAC7D,sCAAsC,EACtC;MAWW,qBAAqB;IACzB,OAAO,OAAO,CACnB,iBAAiC;QAEjC,OAAO;YACL,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;SACtE,CAAC;KACH;;kHARU,qBAAqB;mHAArB,qBAAqB,iBARjB,wBAAwB,aAE7B,wBAAwB;mHAMvB,qBAAqB,aALrB;QACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;;KAExD,YALQ,EAAE;2FAOA,qBAAqB;kBATjC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,SAAS,EAAE;wBACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;;qBAExD;iBACF;;;ACxBD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VcErrorHandlersService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-handlers',\r\n template: `\r\n <p>\r\n vc-error-handlers works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class VcErrorHandlersComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export class Configurations {\r\n public sentryConfig: any;\r\n\r\n constructor() {\r\n this.sentryConfig = {};\r\n }\r\n}\r\n","import { ErrorHandler, Injectable, Optional, isDevMode } from '@angular/core';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { Configurations } from '../../configuration';\r\n\r\n@Injectable()\r\nexport class SentryErrorHandler implements ErrorHandler {\r\n constructor(@Optional() config?: Configurations) {\r\n if (config?.sentryConfig) {\r\n const SENTRY_CONFIG = config.sentryConfig;\r\n Sentry.init({\r\n dsn: SENTRY_CONFIG?.DSN,\r\n integrations: [\r\n new Sentry.BrowserTracing({\r\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\r\n routingInstrumentation: Sentry.routingInstrumentation,\r\n }),\r\n ],\r\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\r\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\r\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\r\n });\r\n }\r\n }\r\n\r\n handleError(error: any) {\r\n this.handleChunkError(error);\r\n Sentry.captureException(error.originalError || error);\r\n }\r\n\r\n handleChunkError(error: Error) {\r\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\r\n if (chunkFailedMessage.test(error.message)) {\r\n window.location.reload();\r\n }\r\n console.error(error);\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n ErrorHandler,\r\n InjectionToken,\r\n ModuleWithProviders,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\r\nimport { BrowserOptions } from '@sentry/browser';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\r\nimport { Configurations } from './configuration';\r\nimport { Router } from '@angular/router';\r\n\r\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\r\n 'forRoot() SentryErrorHandler options'\r\n);\r\n\r\nexport function sentryInit() {}\r\n\r\n@NgModule({\r\n declarations: [VcErrorHandlersComponent],\r\n imports: [],\r\n exports: [VcErrorHandlersComponent],\r\n})\r\nexport class VcErrorHandlersModule {\r\n public static forRoot(\r\n environmentConfig: Configurations\r\n ): ModuleWithProviders<VcErrorHandlersModule> {\r\n return {\r\n ngModule: VcErrorHandlersModule,\r\n providers: [\r\n { provide: Configurations, useValue: environmentConfig },\r\n { provide: ErrorHandler, useClass: SentryErrorHandler },\r\n {\r\n provide: ErrorHandler,\r\n useValue: Sentry.createErrorHandler({\r\n showDialog: false,\r\n }),\r\n },\r\n { provide: Sentry.TraceService, deps: [Router] },\r\n ],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of vc-error-handlers\r\n */\r\n\r\nexport * from './lib/vc-error-handlers.service';\r\nexport * from './lib/vc-error-handlers.component';\r\nexport * from './lib/vc-error-handlers.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAKa,sBAAsB;IAEjC,iBAAiB;;mHAFN,sBAAsB;uHAAtB,sBAAsB,cAFrB,MAAM;2FAEP,sBAAsB;kBAHlC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;MCQY,wBAAwB;IAEnC,iBAAiB;IAEjB,QAAQ;KACP;;qHALU,wBAAwB;yGAAxB,wBAAwB,6DARzB;;;;GAIT;2FAIU,wBAAwB;kBAVpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE;;;;GAIT;oBACD,MAAM,EAAE,EACP;iBACF;;;MCXY,cAAc;IAGzB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;;;MCAU,kBAAkB;IAC7B,YAAwB,MAAuB;QAC7C,IAAI,MAAM,EAAE,YAAY,EAAE;YACxB,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,aAAa,EAAE,GAAG;gBACvB,YAAY,EAAE;oBACZ,IAAI,MAAM,CAAC,cAAc,CAAC;wBACxB,uBAAuB,EAAE,aAAa,CAAC,YAAY;wBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;qBACtD,CAAC;iBACH;gBACD,gBAAgB,EAAE,aAAa,CAAC,kBAAkB;gBAClD,wBAAwB,EAAE,aAAa,CAAC,0BAA0B;gBAClE,wBAAwB,EAAE,aAAa,CAAC,2BAA2B;aACpE,CAAC,CAAC;SACJ;KACF;IAED,WAAW,CAAC,KAAU;QACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;KACvD;IAED,gBAAgB,CAAC,KAAY;QAC3B,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtB;;+GA9BU,kBAAkB;mHAAlB,kBAAkB;2FAAlB,kBAAkB;kBAD9B,UAAU;;0BAEI,QAAQ;;;MCQV,6BAA6B,GAAG,IAAI,cAAc,CAC7D,sCAAsC,EACtC;SAEc,UAAU,MAAK;MAOlB,qBAAqB;IACzB,OAAO,OAAO,CACnB,iBAAiC;QAEjC,OAAO;YACL,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBACxD,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;gBACvD;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,MAAM,CAAC,kBAAkB,CAAC;wBAClC,UAAU,EAAE,KAAK;qBAClB,CAAC;iBACH;gBACD,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;aACjD;SACF,CAAC;KACH;;kHAlBU,qBAAqB;mHAArB,qBAAqB,iBAJjB,wBAAwB,aAE7B,wBAAwB;mHAEvB,qBAAqB,YAHvB,EAAE;2FAGA,qBAAqB;kBALjC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACpC;;;ACxBD;;;;ACAA;;;;;;"}
@@ -4,6 +4,7 @@ import { Configurations } from './configuration';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./vc-error-handlers.component";
6
6
  export declare const FOR_ROOT_SENTRY_OPTIONS_TOKEN: InjectionToken<BrowserOptions>;
7
+ export declare function sentryInit(): void;
7
8
  export declare class VcErrorHandlersModule {
8
9
  static forRoot(environmentConfig: Configurations): ModuleWithProviders<VcErrorHandlersModule>;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<VcErrorHandlersModule, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vc-error-handlers",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "10.x || 11.x || 12.x || 13.x || 14.x || 15.x || 16.x",
6
6
  "@angular/core": "10.x || 11.x || 12.x || 13.x || 14.x || 15.x || 16.x"
@@ -1,18 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class GlobalErrorHandler {
4
- handleError(error) {
5
- const chunkFailedMessage = /Loading chunk [\d]+ failed/;
6
- if (chunkFailedMessage.test(error.message) &&
7
- confirm(`A new version is available. Please press "OK" to refresh the page.`)) {
8
- window.location.reload();
9
- }
10
- console.error(error);
11
- }
12
- }
13
- GlobalErrorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
- GlobalErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalErrorHandler });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalErrorHandler, decorators: [{
16
- type: Injectable
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmstZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2Vycm9yaGFuZGxlci9jaHVuay1lcnJvci5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd6RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsNEJBQTRCLENBQUM7UUFFeEQsSUFDRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN0QyxPQUFPLENBQ0wsb0VBQW9FLENBQ3JFLEVBQ0Q7WUFDQSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOzsrR0FiVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxFcnJvckhhbmRsZXIgaW1wbGVtZW50cyBFcnJvckhhbmRsZXIge1xyXG4gIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNodW5rRmFpbGVkTWVzc2FnZSA9IC9Mb2FkaW5nIGNodW5rIFtcXGRdKyBmYWlsZWQvO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgY2h1bmtGYWlsZWRNZXNzYWdlLnRlc3QoZXJyb3IubWVzc2FnZSkgJiZcclxuICAgICAgY29uZmlybShcclxuICAgICAgICBgQSBuZXcgdmVyc2lvbiBpcyBhdmFpbGFibGUuIFBsZWFzZSBwcmVzcyBcIk9LXCIgdG8gcmVmcmVzaCB0aGUgcGFnZS5gXHJcbiAgICAgIClcclxuICAgICkge1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +0,0 @@
1
- import { ErrorHandler } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class GlobalErrorHandler implements ErrorHandler {
4
- handleError(error: any): void;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<GlobalErrorHandler, never>;
6
- static ɵprov: i0.ɵɵInjectableDeclaration<GlobalErrorHandler>;
7
- }