@rxap/nest-sentry 10.4.6-dev.0 → 10.5.0-dev.0
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 +6 -0
- package/package.json +44 -4
- package/src/lib/sentry.interfaces.d.ts +1 -0
- package/src/lib/sentry.module.d.ts +3 -1
- package/src/lib/sentry.module.js +20 -1
- package/src/lib/tokens.d.ts +3 -0
- package/src/lib/tokens.js +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
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
|
+
# [10.5.0-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/nest-sentry@10.4.6-dev.0...@rxap/nest-sentry@10.5.0-dev.0) (2025-01-15)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- support custom interceptors with module registration ([bb31033](https://gitlab.com/rxap/packages/commit/bb31033cce2f85a315909e477a3ac7605b6c0a9a))
|
|
11
|
+
|
|
6
12
|
## [10.4.6-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/nest-sentry@10.4.5...@rxap/nest-sentry@10.4.6-dev.0) (2025-01-08)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @rxap/nest-sentry
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "10.
|
|
2
|
+
"version": "10.5.0-dev.0",
|
|
3
3
|
"name": "@rxap/nest-sentry",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"dependencies": {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"@nestjs/common": "^10.3.8",
|
|
13
13
|
"@nestjs/config": "^3.2.2",
|
|
14
14
|
"@nestjs/core": "^10.3.8",
|
|
15
|
-
"@rxap/nest-logger": "^10.2.
|
|
16
|
-
"@rxap/nest-utilities": "^10.3.
|
|
15
|
+
"@rxap/nest-logger": "^10.2.11-dev.0",
|
|
16
|
+
"@rxap/nest-utilities": "^10.3.9-dev.0",
|
|
17
17
|
"@sentry/core": "^8.18.0",
|
|
18
18
|
"@sentry/nestjs": "^8.18.0",
|
|
19
19
|
"@sentry/node": "^8.18.0",
|
|
@@ -45,6 +45,10 @@
|
|
|
45
45
|
},
|
|
46
46
|
"nx-migrations": {
|
|
47
47
|
"packageGroup": [
|
|
48
|
+
{
|
|
49
|
+
"package": "@nestjs/cache-manager",
|
|
50
|
+
"version": "2.2.2"
|
|
51
|
+
},
|
|
48
52
|
{
|
|
49
53
|
"package": "@nestjs/common",
|
|
50
54
|
"version": "10.3.8"
|
|
@@ -65,9 +69,45 @@
|
|
|
65
69
|
"package": "@nestjs/platform-express",
|
|
66
70
|
"version": "10.3.8"
|
|
67
71
|
},
|
|
72
|
+
{
|
|
73
|
+
"package": "@nestjs/throttler",
|
|
74
|
+
"version": "5.1.2"
|
|
75
|
+
},
|
|
68
76
|
{
|
|
69
77
|
"package": "@nestjs/websockets",
|
|
70
78
|
"version": "10.0.0"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"package": "@rxap/nest-logger",
|
|
82
|
+
"version": "10.2.11-dev.0"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"package": "@rxap/nest-utilities",
|
|
86
|
+
"version": "10.3.9-dev.0"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"package": "@sentry/core",
|
|
90
|
+
"version": "8.18.0"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"package": "@sentry/nestjs",
|
|
94
|
+
"version": "8.18.0"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"package": "@sentry/node",
|
|
98
|
+
"version": "8.18.0"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"package": "@sentry/profiling-node",
|
|
102
|
+
"version": "8.18.0"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"package": "@sentry/types",
|
|
106
|
+
"version": "8.18.0"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"package": "@sentry/utils",
|
|
110
|
+
"version": "8.18.0"
|
|
71
111
|
}
|
|
72
112
|
]
|
|
73
113
|
},
|
|
@@ -81,7 +121,7 @@
|
|
|
81
121
|
"directory": "packages/nest/sentry"
|
|
82
122
|
},
|
|
83
123
|
"type": "commonjs",
|
|
84
|
-
"gitHead": "
|
|
124
|
+
"gitHead": "53662c33c565118f22d8d14ea8205f530437cf8f",
|
|
85
125
|
"types": "./src/index.d.ts",
|
|
86
126
|
"main": "./src/index.js"
|
|
87
127
|
}
|
|
@@ -10,6 +10,7 @@ export interface SentryCloseOptions {
|
|
|
10
10
|
export type SentryModuleOptions = Omit<NodeOptions, 'integrations'> & {
|
|
11
11
|
integrations?: Integration[];
|
|
12
12
|
close?: SentryCloseOptions;
|
|
13
|
+
interceptors?: SentryInterceptorOptions;
|
|
13
14
|
} & ConsoleLoggerOptions;
|
|
14
15
|
export interface ISentryOptionsFactory {
|
|
15
16
|
createSentryModuleOptions(): Promise<SentryModuleOptions> | SentryModuleOptions;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { ConsoleLoggerOptions, DynamicModule } from '@nestjs/common';
|
|
2
|
-
import { SentryModuleOptions } from './sentry.interfaces';
|
|
2
|
+
import { SentryInterceptorOptions, SentryModuleOptions } from './sentry.interfaces';
|
|
3
3
|
export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<SentryModuleOptions, "register", "create", {
|
|
4
4
|
isGlobal: boolean;
|
|
5
5
|
}>, MODULE_OPTIONS_TOKEN: string | symbol, OPTIONS_TYPE: Omit<import("@sentry/node").NodeOptions, "integrations"> & {
|
|
6
6
|
integrations?: import("@sentry/types").Integration[];
|
|
7
7
|
close?: import("./sentry.interfaces").SentryCloseOptions;
|
|
8
|
+
interceptors?: SentryInterceptorOptions;
|
|
8
9
|
} & ConsoleLoggerOptions & Partial<{
|
|
9
10
|
isGlobal: boolean;
|
|
10
11
|
}>, ASYNC_OPTIONS_TYPE: import("@nestjs/common").ConfigurableModuleAsyncOptions<SentryModuleOptions, "create"> & Partial<{
|
|
11
12
|
isGlobal: boolean;
|
|
12
13
|
}>;
|
|
14
|
+
export declare const DEFAULT_SENTRY_INTERCEPTOR_OPTIONS: SentryInterceptorOptions;
|
|
13
15
|
export declare class SentryModule extends ConfigurableModuleClass {
|
|
14
16
|
static register(options?: typeof OPTIONS_TYPE, consoleLoggerOptions?: ConsoleLoggerOptions): DynamicModule;
|
|
15
17
|
static registerAsync(options: typeof ASYNC_OPTIONS_TYPE, consoleLoggerOptions?: ConsoleLoggerOptions): DynamicModule;
|
package/src/lib/sentry.module.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.SentryModule = exports.ASYNC_OPTIONS_TYPE = exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
|
|
4
|
+
exports.SentryModule = exports.DEFAULT_SENTRY_INTERCEPTOR_OPTIONS = exports.ASYNC_OPTIONS_TYPE = exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const common_1 = require("@nestjs/common");
|
|
7
7
|
const config_1 = require("@nestjs/config");
|
|
@@ -9,11 +9,21 @@ const nest_logger_1 = require("@rxap/nest-logger");
|
|
|
9
9
|
const sentry_logger_1 = require("./sentry.logger");
|
|
10
10
|
const sentry_service_1 = require("./sentry.service");
|
|
11
11
|
const tokens_1 = require("./tokens");
|
|
12
|
+
const core_1 = require("@nestjs/core");
|
|
13
|
+
const sentry_interceptor_1 = require("./sentry.interceptor");
|
|
12
14
|
_a = new common_1.ConfigurableModuleBuilder()
|
|
13
15
|
.setExtras({
|
|
14
16
|
isGlobal: true,
|
|
15
17
|
})
|
|
16
18
|
.build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN, exports.OPTIONS_TYPE = _a.OPTIONS_TYPE, exports.ASYNC_OPTIONS_TYPE = _a.ASYNC_OPTIONS_TYPE;
|
|
19
|
+
exports.DEFAULT_SENTRY_INTERCEPTOR_OPTIONS = {
|
|
20
|
+
filters: [
|
|
21
|
+
{
|
|
22
|
+
type: common_1.HttpException,
|
|
23
|
+
filter: (exception) => 500 > exception.getStatus(),
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
};
|
|
17
27
|
let SentryModule = class SentryModule extends exports.ConfigurableModuleClass {
|
|
18
28
|
static register(options = {}, consoleLoggerOptions = {}) {
|
|
19
29
|
return this.updateProviders(super.register(options), consoleLoggerOptions);
|
|
@@ -35,6 +45,15 @@ let SentryModule = class SentryModule extends exports.ConfigurableModuleClass {
|
|
|
35
45
|
logLevels: logLevels ?? ['log', 'error', 'warn'],
|
|
36
46
|
},
|
|
37
47
|
});
|
|
48
|
+
module.providers.push({
|
|
49
|
+
provide: tokens_1.SENTRY_INTERCEPTOR_OPTIONS,
|
|
50
|
+
useFactory: (options) => options.interceptors ?? exports.DEFAULT_SENTRY_INTERCEPTOR_OPTIONS,
|
|
51
|
+
inject: [exports.MODULE_OPTIONS_TOKEN]
|
|
52
|
+
});
|
|
53
|
+
module.providers.push({
|
|
54
|
+
provide: core_1.APP_INTERCEPTOR,
|
|
55
|
+
useClass: sentry_interceptor_1.SentryInterceptor,
|
|
56
|
+
});
|
|
38
57
|
return module;
|
|
39
58
|
}
|
|
40
59
|
static forRoot(options, consoleLoggerOptions = {}) {
|
package/src/lib/tokens.d.ts
CHANGED
package/src/lib/tokens.js
CHANGED
|
@@ -2,4 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SENTRY_INTERCEPTOR_OPTIONS = exports.SENTRY_MODULE_OPTIONS = void 0;
|
|
4
4
|
exports.SENTRY_MODULE_OPTIONS = Symbol('SentryModuleOptions');
|
|
5
|
+
/**
|
|
6
|
+
* InjectionToken for an object of type SentryInterceptorOptions
|
|
7
|
+
*/
|
|
5
8
|
exports.SENTRY_INTERCEPTOR_OPTIONS = Symbol('SENTRY_INTERCEPTOR_OPTIONS');
|