@rxap/nest-sentry 9.0.2 → 9.0.3-dev.1
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/CHANGELOG.md +22 -0
- package/package.json +1 -1
- package/src/lib/sentry.interceptor.js +13 -10
- package/src/lib/sentry.interceptor.js.map +1 -1
- package/src/lib/sentry.logger.d.ts +2 -2
- package/src/lib/sentry.logger.js +30 -14
- package/src/lib/sentry.logger.js.map +1 -1
- package/src/lib/sentry.module.js +1 -0
- package/src/lib/sentry.module.js.map +1 -1
- package/src/lib/sentry.service.d.ts +3 -2
- package/src/lib/sentry.service.js +12 -8
- package/src/lib/sentry.service.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [9.0.3-dev.1](https://gitlab.com/rxap/nest/compare/@rxap/nest-sentry@9.0.3-dev.0...@rxap/nest-sentry@9.0.3-dev.1) (2023-03-13)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* add Global decorator to SentryModule ([9777d29](https://gitlab.com/rxap/nest/commit/9777d2911c140291786d81ca892e2eeabb817eff))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [9.0.3-dev.0](https://gitlab.com/rxap/nest/compare/@rxap/nest-sentry@9.0.2...@rxap/nest-sentry@9.0.3-dev.0) (2023-01-23)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **sentry:** support optional sentry dsn ([85688ab](https://gitlab.com/rxap/nest/commit/85688ab8812d782d2074ad6601e85324e25541f5))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## 9.0.2 (2022-12-28)
|
|
7
29
|
|
|
8
30
|
**Note:** Version bump only for package @rxap/nest-sentry
|
package/package.json
CHANGED
|
@@ -9,16 +9,19 @@ const sentry_service_1 = require("./sentry.service");
|
|
|
9
9
|
const tokens_1 = require("./tokens");
|
|
10
10
|
let SentryInterceptor = class SentryInterceptor {
|
|
11
11
|
intercept(context, next) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
if (this.client.hasInstance) {
|
|
13
|
+
// first param would be for events, second is for errors
|
|
14
|
+
return next.handle().pipe((0, operators_1.tap)({
|
|
15
|
+
error: (exception) => {
|
|
16
|
+
if (this.shouldReport(exception)) {
|
|
17
|
+
this.client.instance().withScope((scope) => {
|
|
18
|
+
return this.captureException(context, scope, exception);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
return next.handle();
|
|
22
25
|
}
|
|
23
26
|
captureException(context, scope, exception) {
|
|
24
27
|
switch (context.getType()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.interceptor.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.interceptor.ts"],"names":[],"mappings":";;;;AAAA,2CAQwB;AAGxB,uCAAqD;AAErD,8CAAqC;AAGrC,qDAAiD;AACjD,qCAAsD;AAI/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAS5B,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,wDAAwD;
|
|
1
|
+
{"version":3,"file":"sentry.interceptor.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ConsoleLogger } from '@nestjs/common';
|
|
2
2
|
import { SentryModuleOptions } from './sentry.interfaces';
|
|
3
3
|
export declare class SentryLogger extends ConsoleLogger {
|
|
4
|
-
readonly
|
|
5
|
-
constructor(
|
|
4
|
+
protected readonly options: SentryModuleOptions;
|
|
5
|
+
constructor(options: SentryModuleOptions);
|
|
6
6
|
log(message: string, context?: string, asBreadcrumb?: boolean): void;
|
|
7
7
|
error(message: string, stack?: string, context?: string): void;
|
|
8
8
|
warn(message: string, context?: string, asBreadcrumb?: boolean): void;
|
package/src/lib/sentry.logger.js
CHANGED
|
@@ -6,14 +6,16 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const Sentry = require("@sentry/node");
|
|
7
7
|
const tokens_1 = require("./tokens");
|
|
8
8
|
let SentryLogger = class SentryLogger extends common_1.ConsoleLogger {
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(options) {
|
|
10
10
|
super();
|
|
11
|
-
this.
|
|
11
|
+
this.options = options;
|
|
12
12
|
}
|
|
13
13
|
log(message, context, asBreadcrumb) {
|
|
14
|
-
var _a;
|
|
15
14
|
super.log(message, context);
|
|
16
|
-
if (
|
|
15
|
+
if (!this.options.dsn) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (this.options.logLevels && !this.options.logLevels.includes('log')) {
|
|
17
19
|
return;
|
|
18
20
|
}
|
|
19
21
|
try {
|
|
@@ -29,23 +31,31 @@ let SentryLogger = class SentryLogger extends common_1.ConsoleLogger {
|
|
|
29
31
|
level: 'log',
|
|
30
32
|
});
|
|
31
33
|
}
|
|
32
|
-
catch (err) {
|
|
34
|
+
catch (err) {
|
|
35
|
+
console.error('Failed to capture message with sentry: ' + err.message);
|
|
36
|
+
}
|
|
33
37
|
}
|
|
34
38
|
error(message, stack, context) {
|
|
35
|
-
var _a;
|
|
36
39
|
super.error(message, stack, context);
|
|
37
|
-
if (
|
|
40
|
+
if (!this.options.dsn) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (this.options.logLevels && !this.options.logLevels.includes('error')) {
|
|
38
44
|
return;
|
|
39
45
|
}
|
|
40
46
|
try {
|
|
41
47
|
Sentry.captureMessage(message, { level: 'error' });
|
|
42
48
|
}
|
|
43
|
-
catch (err) {
|
|
49
|
+
catch (err) {
|
|
50
|
+
console.error('Failed to capture message with sentry: ' + err.message);
|
|
51
|
+
}
|
|
44
52
|
}
|
|
45
53
|
warn(message, context, asBreadcrumb) {
|
|
46
|
-
var _a;
|
|
47
54
|
super.warn(message, context);
|
|
48
|
-
if (
|
|
55
|
+
if (!this.options.dsn) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (this.options.logLevels && !this.options.logLevels.includes('warn')) {
|
|
49
59
|
return;
|
|
50
60
|
}
|
|
51
61
|
try {
|
|
@@ -59,12 +69,16 @@ let SentryLogger = class SentryLogger extends common_1.ConsoleLogger {
|
|
|
59
69
|
}) :
|
|
60
70
|
Sentry.captureMessage(message, { level: 'warning' });
|
|
61
71
|
}
|
|
62
|
-
catch (err) {
|
|
72
|
+
catch (err) {
|
|
73
|
+
console.error('Failed to capture message with sentry: ' + err.message);
|
|
74
|
+
}
|
|
63
75
|
}
|
|
64
76
|
debug(message, context, asBreadcrumb) {
|
|
65
|
-
var _a;
|
|
66
77
|
super.debug(message, context);
|
|
67
|
-
if (
|
|
78
|
+
if (!this.options.dsn) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (this.options.logLevels && !this.options.logLevels.includes('debug')) {
|
|
68
82
|
return;
|
|
69
83
|
}
|
|
70
84
|
try {
|
|
@@ -78,7 +92,9 @@ let SentryLogger = class SentryLogger extends common_1.ConsoleLogger {
|
|
|
78
92
|
}) :
|
|
79
93
|
Sentry.captureMessage(message, { level: 'debug' });
|
|
80
94
|
}
|
|
81
|
-
catch (err) {
|
|
95
|
+
catch (err) {
|
|
96
|
+
console.error('Failed to capture message with sentry: ' + err.message);
|
|
97
|
+
}
|
|
82
98
|
}
|
|
83
99
|
};
|
|
84
100
|
SentryLogger = tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.logger.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.logger.ts"],"names":[],"mappings":";;;;AAAA,2CAAmE;AACnE,uCAAuC;AAEvC,qCAAiD;AAG1C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,sBAAa;IAE7C,
|
|
1
|
+
{"version":3,"file":"sentry.logger.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.logger.ts"],"names":[],"mappings":"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"}
|
package/src/lib/sentry.module.js
CHANGED
|
@@ -62,6 +62,7 @@ let SentryModule = SentryModule_1 = class SentryModule {
|
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
SentryModule = SentryModule_1 = tslib_1.__decorate([
|
|
65
|
+
(0, common_1.Global)(),
|
|
65
66
|
(0, common_1.Module)({
|
|
66
67
|
providers: [sentry_logger_1.SentryLogger, sentry_service_1.SentryService],
|
|
67
68
|
exports: [sentry_logger_1.SentryLogger, sentry_service_1.SentryService]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.module.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.module.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"sentry.module.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAA+E;AAC/E,qCAAiD;AAEjD,mDAA+C;AAC/C,qDAAiD;AAO1C,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAChB,MAAM,CAAC,OAAO,CAAC,OAA4B;QAChD,OAAO;YACL,OAAO,EAAE,CAAC,8BAAa,CAAC;YACxB,MAAM,EAAE,cAAY;YACpB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,8BAAqB;oBAC9B,QAAQ,EAAE,OAAO;iBAClB;aACF;SACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,YAAY,CACxB,OAAiC;QAEjC,OAAO;YACL,OAAO,EAAE,CAAC,8BAAa,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,cAAY;YACpB,SAAS,EAAE;gBACT,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;aACtC;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAiC;QAEjC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE;YAC7C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;SACnD;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAsC,CAAC;QAChE,OAAO;YACL,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACxC;gBACE,OAAO,EAAE,QAAQ;gBACjB,QAAQ;aACT;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CACvC,OAAiC;QAEjC,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;gBAC5B,OAAO,EAAE,8BAAqB;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;SACH;QACD,MAAM,MAAM,GAAG;YACb,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAA+B;SACxE,CAAC;QACF,OAAO;YACL,OAAO,EAAE,8BAAqB;YAC9B,UAAU,EAAE,CAAO,cAAoC,EAAE,EAAE,wDACzD,OAAA,MAAM,cAAc,CAAC,yBAAyB,EAAE,CAAA,GAAA;YAClD,MAAM;SACP,CAAC;IACJ,CAAC;CAEF,CAAA;AAhEY,YAAY;IALxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAE,4BAAY,EAAE,8BAAa,CAAE;QAC1C,OAAO,EAAE,CAAE,4BAAY,EAAE,8BAAa,CAAE;KACzC,CAAC;GACW,YAAY,CAgExB;AAhEY,oCAAY"}
|
|
@@ -2,8 +2,9 @@ import { OnApplicationShutdown } from '@nestjs/common';
|
|
|
2
2
|
import * as Sentry from '@sentry/node';
|
|
3
3
|
import { SentryModuleOptions } from './sentry.interfaces';
|
|
4
4
|
export declare class SentryService implements OnApplicationShutdown {
|
|
5
|
-
readonly
|
|
6
|
-
|
|
5
|
+
private readonly options;
|
|
6
|
+
get hasInstance(): boolean;
|
|
7
|
+
constructor(options: SentryModuleOptions);
|
|
7
8
|
instance(): typeof Sentry;
|
|
8
9
|
onApplicationShutdown(signal?: string): Promise<void>;
|
|
9
10
|
}
|
|
@@ -6,12 +6,13 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const Sentry = require("@sentry/node");
|
|
7
7
|
const tokens_1 = require("./tokens");
|
|
8
8
|
let SentryService = class SentryService {
|
|
9
|
-
constructor(
|
|
10
|
-
this.
|
|
11
|
-
if (!
|
|
12
|
-
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.options = options;
|
|
11
|
+
if (!options.dsn) {
|
|
12
|
+
console.warn('Could not create SentryService instance. The required option dsn is not defined');
|
|
13
|
+
return;
|
|
13
14
|
}
|
|
14
|
-
const { integrations = [] } =
|
|
15
|
+
const { integrations = [] } = options, sentryOptions = tslib_1.__rest(options, ["integrations"]);
|
|
15
16
|
Sentry.init(Object.assign(Object.assign({}, sentryOptions), { integrations: [
|
|
16
17
|
new Sentry.Integrations.OnUncaughtException({
|
|
17
18
|
onFatalError: (err) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -30,14 +31,17 @@ let SentryService = class SentryService {
|
|
|
30
31
|
...integrations,
|
|
31
32
|
] }));
|
|
32
33
|
}
|
|
34
|
+
get hasInstance() {
|
|
35
|
+
return !!this.options.dsn;
|
|
36
|
+
}
|
|
33
37
|
instance() {
|
|
34
38
|
return Sentry;
|
|
35
39
|
}
|
|
36
40
|
onApplicationShutdown(signal) {
|
|
37
|
-
var _a
|
|
41
|
+
var _a;
|
|
38
42
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
if (
|
|
40
|
-
yield Sentry.close(
|
|
43
|
+
if (this.hasInstance && ((_a = this.options.close) === null || _a === void 0 ? void 0 : _a.enabled) === true) {
|
|
44
|
+
yield Sentry.close(this.options.close.timeout);
|
|
41
45
|
}
|
|
42
46
|
});
|
|
43
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.service.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.service.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"sentry.service.js","sourceRoot":"","sources":["../../../../../libs/sentry/src/lib/sentry.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA2E;AAE3E,uCAAuC;AACvC,qCAAiD;AAI1C,IAAM,aAAa,GAAnB,MAAM,aAAa;IAMxB,YAEmB,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QAE7C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YAChG,OAAO;SACR;QACD,MAAM,EAAE,YAAY,GAAG,EAAE,KAAuB,OAAO,EAAzB,aAAa,kBAAK,OAAO,EAAjD,gBAAuC,CAAU,CAAC;QACxD,MAAM,CAAC,IAAI,iCACN,aAAa,KAChB,YAAY,EAAE;gBACZ,IAAI,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC;oBAC1C,YAAY,EAAE,CAAO,GAAG,EAAE,EAAE;wBAC1B,gDAAgD;wBAChD,sBAAsB;wBACtB,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE;4BAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBAClB;6BAAM;4BAEH,MAAM,CAAC,aAAa,EAAE,CAAC,SAAS,EAGjC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;4BACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjB;oBACH,CAAC,CAAA;iBACF,CAAC;gBACF,IAAI,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC9D,GAAG,YAAY;aAChB,IACD,CAAC;IACL,CAAC;IApCD,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5B,CAAC;IAoCD,QAAQ;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;IAEK,qBAAqB,CAAC,MAAe;;;YACzC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,KAAK,0CAAE,OAAO,MAAK,IAAI,EAAE;gBAC5D,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAChD;;KACF;CAEF,CAAA;AAlDY,aAAa;IADzB,IAAA,mBAAU,GAAE;IAQR,mBAAA,IAAA,eAAM,EAAC,8BAAqB,CAAC,CAAA;;GAPrB,aAAa,CAkDzB;AAlDY,sCAAa"}
|