vc-error-handlers 0.0.2 → 0.0.4
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/esm2020/lib/shared/errorhandler/chunk-error.handler.mjs +18 -0
- package/esm2020/lib/shared/errorhandler/sentry-error.handler.mjs +2 -1
- package/esm2020/lib/vc-error-handlers.module.mjs +10 -16
- package/fesm2015/vc-error-handlers.mjs +11 -15
- package/fesm2015/vc-error-handlers.mjs.map +1 -1
- package/fesm2020/vc-error-handlers.mjs +11 -15
- package/fesm2020/vc-error-handlers.mjs.map +1 -1
- package/lib/shared/errorhandler/chunk-error.handler.d.ts +7 -0
- package/lib/vc-error-handlers.module.d.ts +0 -1
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
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
|
|
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../configuration";
|
|
5
5
|
export class SentryErrorHandler {
|
|
6
6
|
constructor(config) {
|
|
7
|
+
console.log('sentry config datra ', config);
|
|
7
8
|
if (config?.sentryConfig) {
|
|
8
9
|
const SENTRY_CONFIG = config.sentryConfig;
|
|
9
10
|
Sentry.init({
|
|
@@ -39,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
39
40
|
}], ctorParameters: function () { return [{ type: i1.Configurations, decorators: [{
|
|
40
41
|
type: Optional
|
|
41
42
|
}] }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LWVycm9yLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9lcnJvcmhhbmRsZXIvc2VudHJ5LWVycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sS0FBSyxNQUFNLE1BQU0scUJBQXFCLENBQUM7OztBQUk5QyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQXdCLE1BQXVCO1FBQzdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUMsSUFBSSxNQUFNLEVBQUUsWUFBWSxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixHQUFHLEVBQUUsYUFBYSxFQUFFLEdBQUc7Z0JBQ3ZCLFlBQVksRUFBRTtvQkFDWixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUM7d0JBQ3hCLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxZQUFZO3dCQUNuRCxzQkFBc0IsRUFBRSxNQUFNLENBQUMsc0JBQXNCO3FCQUN0RCxDQUFDO2lCQUNIO2dCQUNELGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxrQkFBa0I7Z0JBQ2xELHdCQUF3QixFQUFFLGFBQWEsQ0FBQywwQkFBMEI7Z0JBQ2xFLHdCQUF3QixFQUFFLGFBQWEsQ0FBQywyQkFBMkI7YUFDcEUsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQzNCLE1BQU0sa0JBQWtCLEdBQUcsNEJBQTRCLENBQUM7UUFDeEQsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDMUI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OytHQS9CVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFFSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFNlbnRyeSBmcm9tICdAc2VudHJ5L2FuZ3VsYXItaXZ5JztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNlbnRyeUVycm9ySGFuZGxlciBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIGNvbnNvbGUubG9nKCdzZW50cnkgY29uZmlnIGRhdHJhICcsIGNvbmZpZyk7XHJcbiAgICBpZiAoY29uZmlnPy5zZW50cnlDb25maWcpIHtcclxuICAgICAgY29uc3QgU0VOVFJZX0NPTkZJRyA9IGNvbmZpZy5zZW50cnlDb25maWc7XHJcbiAgICAgIFNlbnRyeS5pbml0KHtcclxuICAgICAgICBkc246IFNFTlRSWV9DT05GSUc/LkRTTixcclxuICAgICAgICBpbnRlZ3JhdGlvbnM6IFtcclxuICAgICAgICAgIG5ldyBTZW50cnkuQnJvd3NlclRyYWNpbmcoe1xyXG4gICAgICAgICAgICB0cmFjZVByb3BhZ2F0aW9uVGFyZ2V0czogU0VOVFJZX0NPTkZJRy5BTExPV19PUklHSU4sXHJcbiAgICAgICAgICAgIHJvdXRpbmdJbnN0cnVtZW50YXRpb246IFNlbnRyeS5yb3V0aW5nSW5zdHJ1bWVudGF0aW9uLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgXSxcclxuICAgICAgICB0cmFjZXNTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlRSQUNFU19TQU1QTEVfUkFURSxcclxuICAgICAgICByZXBsYXlzU2Vzc2lvblNhbXBsZVJhdGU6IFNFTlRSWV9DT05GSUcuUkVQTEFZX1NFU1NJT05fU0FNUExFX1JBVEUsXHJcbiAgICAgICAgcmVwbGF5c09uRXJyb3JTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlJFUExBWV9PTl9FUlJPUl9TQU1QTEVfUkFURSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XHJcbiAgICB0aGlzLmhhbmRsZUNodW5rRXJyb3IoZXJyb3IpO1xyXG4gICAgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oZXJyb3Iub3JpZ2luYWxFcnJvciB8fCBlcnJvcik7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaHVua0Vycm9yKGVycm9yOiBFcnJvcikge1xyXG4gICAgY29uc3QgY2h1bmtGYWlsZWRNZXNzYWdlID0gL0xvYWRpbmcgY2h1bmsgW1xcZF0rIGZhaWxlZC87XHJcbiAgICBpZiAoY2h1bmtGYWlsZWRNZXNzYWdlLnRlc3QoZXJyb3IubWVzc2FnZSkpIHtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,39 +1,33 @@
|
|
|
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';
|
|
4
3
|
import { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';
|
|
5
4
|
import { Configurations } from './configuration';
|
|
6
|
-
import { Router } from '@angular/router';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
export const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
|
|
9
|
-
export function sentryInit() { }
|
|
10
7
|
export class VcErrorHandlersModule {
|
|
11
8
|
static forRoot(environmentConfig) {
|
|
12
9
|
return {
|
|
13
10
|
ngModule: VcErrorHandlersModule,
|
|
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
|
-
],
|
|
11
|
+
providers: [{ provide: Configurations, useValue: environmentConfig }],
|
|
25
12
|
};
|
|
26
13
|
}
|
|
27
14
|
}
|
|
28
15
|
VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
16
|
VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, declarations: [VcErrorHandlersComponent], exports: [VcErrorHandlersComponent] });
|
|
30
|
-
VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule,
|
|
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: [[]] });
|
|
31
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
|
|
32
22
|
type: NgModule,
|
|
33
23
|
args: [{
|
|
34
24
|
declarations: [VcErrorHandlersComponent],
|
|
35
25
|
imports: [],
|
|
36
26
|
exports: [VcErrorHandlersComponent],
|
|
27
|
+
providers: [
|
|
28
|
+
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
29
|
+
// { provide: ErrorHandler, useClass: GlobalErrorHandler },
|
|
30
|
+
],
|
|
37
31
|
}]
|
|
38
32
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFakQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELHNDQUFzQyxDQUN2QyxDQUFDO0FBV0YsTUFBTSxPQUFPLHFCQUFxQjtJQUN6QixNQUFNLENBQUMsT0FBTyxDQUNuQixpQkFBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1NBQ3RFLENBQUM7SUFDSixDQUFDOztrSEFSVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFSakIsd0JBQXdCLGFBRTdCLHdCQUF3QjttSEFNdkIscUJBQXFCLGFBTHJCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtRQUN2RCw0REFBNEQ7S0FDN0QsWUFMUSxFQUFFOzJGQU9BLHFCQUFxQjtrQkFUakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3dCQUN2RCw0REFBNEQ7cUJBQzdEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRXJyb3JIYW5kbGVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IH0gZnJvbSAnLi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJvd3Nlck9wdGlvbnMgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xuaW1wb3J0IHsgR2xvYmFsRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9zaGFyZWQvZXJyb3JoYW5kbGVyL2NodW5rLWVycm9yLmhhbmRsZXInO1xuaW1wb3J0IHsgU2VudHJ5RXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9zaGFyZWQvZXJyb3JoYW5kbGVyL3NlbnRyeS1lcnJvci5oYW5kbGVyJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IEZPUl9ST09UX1NFTlRSWV9PUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEJyb3dzZXJPcHRpb25zPihcbiAgJ2ZvclJvb3QoKSBTZW50cnlFcnJvckhhbmRsZXIgb3B0aW9ucydcbik7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1ZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBTZW50cnlFcnJvckhhbmRsZXIgfSxcbiAgICAvLyAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBHbG9iYWxFcnJvckhhbmRsZXIgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZjRXJyb3JIYW5kbGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVmNFcnJvckhhbmRsZXJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb25maWd1cmF0aW9ucywgdXNlVmFsdWU6IGVudmlyb25tZW50Q29uZmlnIH1dLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
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';
|
|
5
4
|
|
|
6
5
|
class VcErrorHandlersService {
|
|
7
6
|
constructor() { }
|
|
@@ -47,6 +46,7 @@ class Configurations {
|
|
|
47
46
|
|
|
48
47
|
class SentryErrorHandler {
|
|
49
48
|
constructor(config) {
|
|
49
|
+
console.log('sentry config datra ', config);
|
|
50
50
|
if (config === null || config === void 0 ? void 0 : config.sentryConfig) {
|
|
51
51
|
const SENTRY_CONFIG = config.sentryConfig;
|
|
52
52
|
Sentry.init({
|
|
@@ -86,34 +86,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
86
86
|
} });
|
|
87
87
|
|
|
88
88
|
const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
|
|
89
|
-
function sentryInit() { }
|
|
90
89
|
class VcErrorHandlersModule {
|
|
91
90
|
static forRoot(environmentConfig) {
|
|
92
91
|
return {
|
|
93
92
|
ngModule: VcErrorHandlersModule,
|
|
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
|
+
providers: [{ provide: Configurations, useValue: environmentConfig }],
|
|
105
94
|
};
|
|
106
95
|
}
|
|
107
96
|
}
|
|
108
97
|
VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
109
98
|
VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, declarations: [VcErrorHandlersComponent], exports: [VcErrorHandlersComponent] });
|
|
110
|
-
VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule,
|
|
99
|
+
VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
|
|
100
|
+
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
101
|
+
// { provide: ErrorHandler, useClass: GlobalErrorHandler },
|
|
102
|
+
], imports: [[]] });
|
|
111
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
|
|
112
104
|
type: NgModule,
|
|
113
105
|
args: [{
|
|
114
106
|
declarations: [VcErrorHandlersComponent],
|
|
115
107
|
imports: [],
|
|
116
108
|
exports: [VcErrorHandlersComponent],
|
|
109
|
+
providers: [
|
|
110
|
+
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
111
|
+
// { provide: ErrorHandler, useClass: GlobalErrorHandler },
|
|
112
|
+
],
|
|
117
113
|
}]
|
|
118
114
|
}] });
|
|
119
115
|
|
|
@@ -125,5 +121,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
125
121
|
* Generated bundle index. Do not edit.
|
|
126
122
|
*/
|
|
127
123
|
|
|
128
|
-
export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService
|
|
124
|
+
export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService };
|
|
129
125
|
//# 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';\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 {\
|
|
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 console.log('sentry config datra ', config);\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","/*\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,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAC5C,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;;+GA/BU,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,7 +1,6 @@
|
|
|
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';
|
|
5
4
|
|
|
6
5
|
class VcErrorHandlersService {
|
|
7
6
|
constructor() { }
|
|
@@ -47,6 +46,7 @@ class Configurations {
|
|
|
47
46
|
|
|
48
47
|
class SentryErrorHandler {
|
|
49
48
|
constructor(config) {
|
|
49
|
+
console.log('sentry config datra ', config);
|
|
50
50
|
if (config?.sentryConfig) {
|
|
51
51
|
const SENTRY_CONFIG = config.sentryConfig;
|
|
52
52
|
Sentry.init({
|
|
@@ -84,34 +84,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
84
84
|
}] }]; } });
|
|
85
85
|
|
|
86
86
|
const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
|
|
87
|
-
function sentryInit() { }
|
|
88
87
|
class VcErrorHandlersModule {
|
|
89
88
|
static forRoot(environmentConfig) {
|
|
90
89
|
return {
|
|
91
90
|
ngModule: VcErrorHandlersModule,
|
|
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
|
+
providers: [{ provide: Configurations, useValue: environmentConfig }],
|
|
103
92
|
};
|
|
104
93
|
}
|
|
105
94
|
}
|
|
106
95
|
VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
107
96
|
VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, declarations: [VcErrorHandlersComponent], exports: [VcErrorHandlersComponent] });
|
|
108
|
-
VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule,
|
|
97
|
+
VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
|
|
98
|
+
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
99
|
+
// { provide: ErrorHandler, useClass: GlobalErrorHandler },
|
|
100
|
+
], imports: [[]] });
|
|
109
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
|
|
110
102
|
type: NgModule,
|
|
111
103
|
args: [{
|
|
112
104
|
declarations: [VcErrorHandlersComponent],
|
|
113
105
|
imports: [],
|
|
114
106
|
exports: [VcErrorHandlersComponent],
|
|
107
|
+
providers: [
|
|
108
|
+
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
109
|
+
// { provide: ErrorHandler, useClass: GlobalErrorHandler },
|
|
110
|
+
],
|
|
115
111
|
}]
|
|
116
112
|
}] });
|
|
117
113
|
|
|
@@ -123,5 +119,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
123
119
|
* Generated bundle index. Do not edit.
|
|
124
120
|
*/
|
|
125
121
|
|
|
126
|
-
export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService
|
|
122
|
+
export { FOR_ROOT_SENTRY_OPTIONS_TOKEN, VcErrorHandlersComponent, VcErrorHandlersModule, VcErrorHandlersService };
|
|
127
123
|
//# 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';\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 {\
|
|
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 console.log('sentry config datra ', config);\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","/*\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,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAC5C,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;;+GA/BU,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;;;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -4,7 +4,6 @@ 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;
|
|
8
7
|
export declare class VcErrorHandlersModule {
|
|
9
8
|
static forRoot(environmentConfig: Configurations): ModuleWithProviders<VcErrorHandlersModule>;
|
|
10
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<VcErrorHandlersModule, never>;
|
package/package.json
CHANGED