nightingale-sentry 12.1.3 → 13.0.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 +35 -0
- package/README.md +3 -0
- package/dist/{index.d.ts → definitions/index.d.ts} +2 -4
- package/dist/definitions/index.d.ts.map +1 -0
- package/dist/index-browser.es.js +31 -39
- package/dist/index-browser.es.js.map +1 -1
- package/dist/index-browsermodern.es.js +14 -19
- package/dist/index-browsermodern.es.js.map +1 -1
- package/dist/{index-node14.mjs → index-node16.mjs} +16 -30
- package/dist/index-node16.mjs.map +1 -0
- package/package.json +26 -44
- package/src/index.ts +17 -28
- package/dist/index-browser.cjs.js +0 -84
- package/dist/index-browser.cjs.js.map +0 -1
- package/dist/index-node14.cjs.js +0 -99
- package/dist/index-node14.cjs.js.map +0 -1
- package/dist/index-node14.mjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/rollup.config.mjs +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
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
|
+
# [13.0.0](https://github.com/christophehurpeau/nightingale/compare/v12.1.4...v13.0.0) (2022-11-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Code Refactoring
|
|
10
|
+
|
|
11
|
+
* drop node 14 and cjs ([9a8ca06](https://github.com/christophehurpeau/nightingale/commit/9a8ca064449ddc0d69e26543e21c2d522536c50a))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* build for node 16 ([30ae3e9](https://github.com/christophehurpeau/nightingale/commit/30ae3e9c455dbad793c2f704b9d860069dc80c32))
|
|
17
|
+
* **nightingale-sentry:** update to v7 ([0188b65](https://github.com/christophehurpeau/nightingale/commit/0188b65014dcc4a492d9b868e86fb08ee0954b87))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### BREAKING CHANGES
|
|
21
|
+
|
|
22
|
+
* dropped node 14 and cjs
|
|
23
|
+
* **nightingale-sentry:** remove deprecated token passed in constructor. Use Sentry object instead and init in the app.
|
|
24
|
+
* drop node 14
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [12.1.4](https://github.com/christophehurpeau/nightingale/compare/v12.1.3...v12.1.4) (2022-02-05)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* cjs build ([2e24ac5](https://github.com/christophehurpeau/nightingale/commit/2e24ac5753ee386c5be9ca56796194ee598f10ff))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
## [12.1.3](https://github.com/christophehurpeau/nightingale/compare/v12.1.2...v12.1.3) (2022-01-15)
|
|
7
42
|
|
|
8
43
|
**Note:** Version bump only for package nightingale-sentry
|
package/README.md
CHANGED
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://npmjs.org/package/nightingale-sentry"><img src="https://img.shields.io/npm/v/nightingale-sentry.svg?style=flat-square"></a>
|
|
11
|
+
<a href="https://npmjs.org/package/nightingale-sentry"><img src="https://img.shields.io/npm/dw/nightingale-sentry.svg?style=flat-square"></a>
|
|
12
|
+
<a href="https://npmjs.org/package/nightingale-sentry"><img src="https://img.shields.io/node/v/nightingale-sentry.svg?style=flat-square"></a>
|
|
13
|
+
<a href="https://npmjs.org/package/nightingale-sentry"><img src="https://img.shields.io/npm/types/nightingale-sentry.svg?style=flat-square"></a>
|
|
11
14
|
</p>
|
|
12
15
|
|
|
13
16
|
## Install
|
|
@@ -2,7 +2,6 @@ import type { addBreadcrumb, captureException, captureMessage } from '@sentry/co
|
|
|
2
2
|
import type { User } from '@sentry/types';
|
|
3
3
|
import { Level } from 'nightingale-levels';
|
|
4
4
|
import type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';
|
|
5
|
-
import 'pob-babel';
|
|
6
5
|
export interface MetadataWithError extends Metadata {
|
|
7
6
|
error?: Error;
|
|
8
7
|
}
|
|
@@ -14,7 +13,7 @@ export interface Options {
|
|
|
14
13
|
shouldSendAsException?: <T extends MetadataWithError>(record: LogRecord<T>) => boolean;
|
|
15
14
|
shouldSendAsBreadcrumb?: <T extends Metadata>(record: LogRecord<T>) => boolean;
|
|
16
15
|
}
|
|
17
|
-
interface SentryRequiredMethods {
|
|
16
|
+
export interface SentryRequiredMethods {
|
|
18
17
|
addBreadcrumb: typeof addBreadcrumb;
|
|
19
18
|
captureException: typeof captureException;
|
|
20
19
|
captureMessage: typeof captureMessage;
|
|
@@ -22,7 +21,6 @@ interface SentryRequiredMethods {
|
|
|
22
21
|
export declare class SentryHandler<S extends SentryRequiredMethods> implements Handler {
|
|
23
22
|
minLevel: Level;
|
|
24
23
|
handle: Handle;
|
|
25
|
-
constructor(Sentry:
|
|
24
|
+
constructor(Sentry: S, minLevel: Level, options?: Options);
|
|
26
25
|
}
|
|
27
|
-
export {};
|
|
28
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,IAAI,EAAiB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAgB9E,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,iBAAiB,EACpC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,IAAI,GAAG,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,iBAAiB,EACpC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,qBAAqB,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,EACzC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,MAAM,GAAG,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,EACrC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,MAAM,GAAG,SAAS,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,CAAC,SAAS,iBAAiB,EAClD,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,OAAO,CAAC;IACb,sBAAsB,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,EAC1C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,OAAO,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,cAAc,EAAE,OAAO,cAAc,CAAC;CACvC;AA+CD,qBAAa,aAAa,CAAC,CAAC,SAAS,qBAAqB,CAAE,YAAW,OAAO;IAC5E,QAAQ,EAAE,KAAK,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO;CAI1D"}
|
package/dist/index-browser.es.js
CHANGED
|
@@ -1,53 +1,46 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
-
import { Severity } from '@sentry/types';
|
|
3
2
|
import { Level } from 'nightingale-levels';
|
|
4
3
|
|
|
5
4
|
var _mapToSentryLevel;
|
|
6
|
-
var mapToSentryLevel = (_mapToSentryLevel = {}, _mapToSentryLevel[Level.TRACE] =
|
|
7
|
-
|
|
5
|
+
var mapToSentryLevel = (_mapToSentryLevel = {}, _mapToSentryLevel[Level.TRACE] = 'debug', _mapToSentryLevel[Level.DEBUG] = 'debug', _mapToSentryLevel[Level.INFO] = 'info', _mapToSentryLevel[Level.NOTICE] = 'log', _mapToSentryLevel[Level.WARNING] = 'warning', _mapToSentryLevel[Level.ERROR] = 'error', _mapToSentryLevel[Level.CRITICAL] = 'fatal', _mapToSentryLevel[Level.FATAL] = 'fatal', _mapToSentryLevel[Level.EMERGENCY] = 'fatal', _mapToSentryLevel[Level.ALL] = 'error', _mapToSentryLevel);
|
|
8
6
|
var createHandler = function createHandler(Sentry, _temp) {
|
|
9
7
|
var _ref = _temp === void 0 ? {} : _temp,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} : _ref$shouldSendAsBrea;
|
|
36
|
-
|
|
8
|
+
_ref$getUser = _ref.getUser,
|
|
9
|
+
getUser = _ref$getUser === void 0 ? function () {
|
|
10
|
+
return undefined;
|
|
11
|
+
} : _ref$getUser,
|
|
12
|
+
_ref$getTags = _ref.getTags,
|
|
13
|
+
getTags = _ref$getTags === void 0 ? function () {
|
|
14
|
+
return {};
|
|
15
|
+
} : _ref$getTags,
|
|
16
|
+
_ref$getBreadcrumbCat = _ref.getBreadcrumbCategory,
|
|
17
|
+
getBreadcrumbCategory = _ref$getBreadcrumbCat === void 0 ? function () {
|
|
18
|
+
return undefined;
|
|
19
|
+
} : _ref$getBreadcrumbCat,
|
|
20
|
+
_ref$getBreadcrumbTyp = _ref.getBreadcrumbType,
|
|
21
|
+
getBreadcrumbType = _ref$getBreadcrumbTyp === void 0 ? function () {
|
|
22
|
+
return undefined;
|
|
23
|
+
} : _ref$getBreadcrumbTyp,
|
|
24
|
+
_ref$shouldSendAsExce = _ref.shouldSendAsException,
|
|
25
|
+
shouldSendAsException = _ref$shouldSendAsExce === void 0 ? function (record) {
|
|
26
|
+
var _record$metadata;
|
|
27
|
+
return ((_record$metadata = record.metadata) == null ? void 0 : _record$metadata.error) !== undefined && record.metadata.unhandled !== true;
|
|
28
|
+
} : _ref$shouldSendAsExce,
|
|
29
|
+
_ref$shouldSendAsBrea = _ref.shouldSendAsBreadcrumb,
|
|
30
|
+
shouldSendAsBreadcrumb = _ref$shouldSendAsBrea === void 0 ? function () {
|
|
31
|
+
return false;
|
|
32
|
+
} : _ref$shouldSendAsBrea;
|
|
37
33
|
return function (record) {
|
|
38
34
|
var key = record.key,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
level = record.level,
|
|
36
|
+
metadata = record.metadata,
|
|
37
|
+
extra = record.extra;
|
|
43
38
|
if (shouldSendAsException(record)) {
|
|
44
39
|
var error = (metadata == null ? void 0 : metadata.error) || record.message;
|
|
45
|
-
|
|
46
40
|
var extraData = _extends({}, metadata, extra);
|
|
47
|
-
|
|
48
41
|
delete extraData.error;
|
|
49
42
|
Sentry.captureException(error, {
|
|
50
|
-
level: mapToSentryLevel[level] ||
|
|
43
|
+
level: mapToSentryLevel[level] || 'error',
|
|
51
44
|
user: getUser(record),
|
|
52
45
|
tags: _extends({
|
|
53
46
|
loggerKey: key
|
|
@@ -56,7 +49,7 @@ var createHandler = function createHandler(Sentry, _temp) {
|
|
|
56
49
|
});
|
|
57
50
|
} else if (shouldSendAsBreadcrumb(record)) {
|
|
58
51
|
Sentry.addBreadcrumb({
|
|
59
|
-
level: mapToSentryLevel[level] ||
|
|
52
|
+
level: mapToSentryLevel[level] || 'error',
|
|
60
53
|
category: getBreadcrumbCategory(record),
|
|
61
54
|
type: getBreadcrumbType(record),
|
|
62
55
|
message: record.message,
|
|
@@ -66,7 +59,6 @@ var createHandler = function createHandler(Sentry, _temp) {
|
|
|
66
59
|
}
|
|
67
60
|
};
|
|
68
61
|
};
|
|
69
|
-
|
|
70
62
|
var SentryHandler = function SentryHandler(Sentry, minLevel, options) {
|
|
71
63
|
this.minLevel = minLevel;
|
|
72
64
|
this.handle = createHandler(Sentry, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport
|
|
1
|
+
{"version":3,"file":"index-browser.es.js","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport type { User, SeverityLevel } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, SeverityLevel> = {\n [Level.TRACE]: 'debug',\n [Level.DEBUG]: 'debug',\n [Level.INFO]: 'info',\n [Level.NOTICE]: 'log',\n [Level.WARNING]: 'warning',\n [Level.ERROR]: 'error',\n [Level.CRITICAL]: 'fatal',\n [Level.FATAL]: 'fatal',\n [Level.EMERGENCY]: 'fatal',\n // not a level\n [Level.ALL]: 'error',\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\nexport interface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || 'error',\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || 'error',\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport class SentryHandler<S extends SentryRequiredMethods> implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n this.handle = createHandler<S>(Sentry, options);\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","DEBUG","INFO","NOTICE","WARNING","ERROR","CRITICAL","FATAL","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","minLevel","options","handle"],"mappings":"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"}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
import { Severity } from '@sentry/types';
|
|
2
1
|
import { Level } from 'nightingale-levels';
|
|
3
2
|
|
|
4
3
|
const mapToSentryLevel = {
|
|
5
|
-
[Level.TRACE]:
|
|
6
|
-
[Level.DEBUG]:
|
|
7
|
-
[Level.INFO]:
|
|
8
|
-
[Level.NOTICE]:
|
|
9
|
-
[Level.WARNING]:
|
|
10
|
-
[Level.ERROR]:
|
|
11
|
-
[Level.CRITICAL]:
|
|
12
|
-
[Level.FATAL]:
|
|
13
|
-
[Level.EMERGENCY]:
|
|
4
|
+
[Level.TRACE]: 'debug',
|
|
5
|
+
[Level.DEBUG]: 'debug',
|
|
6
|
+
[Level.INFO]: 'info',
|
|
7
|
+
[Level.NOTICE]: 'log',
|
|
8
|
+
[Level.WARNING]: 'warning',
|
|
9
|
+
[Level.ERROR]: 'error',
|
|
10
|
+
[Level.CRITICAL]: 'fatal',
|
|
11
|
+
[Level.FATAL]: 'fatal',
|
|
12
|
+
[Level.EMERGENCY]: 'fatal',
|
|
14
13
|
// not a level
|
|
15
|
-
[Level.ALL]:
|
|
14
|
+
[Level.ALL]: 'error'
|
|
16
15
|
};
|
|
17
|
-
|
|
18
16
|
const createHandler = (Sentry, {
|
|
19
17
|
getUser = () => undefined,
|
|
20
18
|
getTags = () => ({}),
|
|
@@ -22,7 +20,6 @@ const createHandler = (Sentry, {
|
|
|
22
20
|
getBreadcrumbType = () => undefined,
|
|
23
21
|
shouldSendAsException = record => {
|
|
24
22
|
var _record$metadata;
|
|
25
|
-
|
|
26
23
|
return ((_record$metadata = record.metadata) === null || _record$metadata === void 0 ? void 0 : _record$metadata.error) !== undefined && record.metadata.unhandled !== true;
|
|
27
24
|
},
|
|
28
25
|
shouldSendAsBreadcrumb = () => false
|
|
@@ -34,15 +31,15 @@ const createHandler = (Sentry, {
|
|
|
34
31
|
metadata,
|
|
35
32
|
extra
|
|
36
33
|
} = record;
|
|
37
|
-
|
|
38
34
|
if (shouldSendAsException(record)) {
|
|
39
35
|
const error = (metadata === null || metadata === void 0 ? void 0 : metadata.error) || record.message;
|
|
40
|
-
const extraData = {
|
|
36
|
+
const extraData = {
|
|
37
|
+
...metadata,
|
|
41
38
|
...extra
|
|
42
39
|
};
|
|
43
40
|
delete extraData.error;
|
|
44
41
|
Sentry.captureException(error, {
|
|
45
|
-
level: mapToSentryLevel[level] ||
|
|
42
|
+
level: mapToSentryLevel[level] || 'error',
|
|
46
43
|
user: getUser(record),
|
|
47
44
|
tags: {
|
|
48
45
|
loggerKey: key,
|
|
@@ -52,7 +49,7 @@ const createHandler = (Sentry, {
|
|
|
52
49
|
});
|
|
53
50
|
} else if (shouldSendAsBreadcrumb(record)) {
|
|
54
51
|
Sentry.addBreadcrumb({
|
|
55
|
-
level: mapToSentryLevel[level] ||
|
|
52
|
+
level: mapToSentryLevel[level] || 'error',
|
|
56
53
|
category: getBreadcrumbCategory(record),
|
|
57
54
|
type: getBreadcrumbType(record),
|
|
58
55
|
message: record.message,
|
|
@@ -62,13 +59,11 @@ const createHandler = (Sentry, {
|
|
|
62
59
|
}
|
|
63
60
|
};
|
|
64
61
|
};
|
|
65
|
-
|
|
66
62
|
class SentryHandler {
|
|
67
63
|
constructor(Sentry, minLevel, options) {
|
|
68
64
|
this.minLevel = minLevel;
|
|
69
65
|
this.handle = createHandler(Sentry, options);
|
|
70
66
|
}
|
|
71
|
-
|
|
72
67
|
}
|
|
73
68
|
|
|
74
69
|
export { SentryHandler };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport
|
|
1
|
+
{"version":3,"file":"index-browsermodern.es.js","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport type { User, SeverityLevel } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, SeverityLevel> = {\n [Level.TRACE]: 'debug',\n [Level.DEBUG]: 'debug',\n [Level.INFO]: 'info',\n [Level.NOTICE]: 'log',\n [Level.WARNING]: 'warning',\n [Level.ERROR]: 'error',\n [Level.CRITICAL]: 'fatal',\n [Level.FATAL]: 'fatal',\n [Level.EMERGENCY]: 'fatal',\n // not a level\n [Level.ALL]: 'error',\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\nexport interface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || 'error',\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || 'error',\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport class SentryHandler<S extends SentryRequiredMethods> implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n this.handle = createHandler<S>(Sentry, options);\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","DEBUG","INFO","NOTICE","WARNING","ERROR","CRITICAL","FATAL","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","handle"],"mappings":"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"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import * as SentryNode from '@sentry/node';
|
|
2
|
-
import { Severity } from '@sentry/types';
|
|
3
1
|
import { Level } from 'nightingale-levels';
|
|
4
2
|
|
|
5
3
|
const mapToSentryLevel = {
|
|
6
|
-
[Level.TRACE]:
|
|
7
|
-
[Level.DEBUG]:
|
|
8
|
-
[Level.INFO]:
|
|
9
|
-
[Level.NOTICE]:
|
|
10
|
-
[Level.WARNING]:
|
|
11
|
-
[Level.ERROR]:
|
|
12
|
-
[Level.CRITICAL]:
|
|
13
|
-
[Level.FATAL]:
|
|
14
|
-
[Level.EMERGENCY]:
|
|
4
|
+
[Level.TRACE]: 'debug',
|
|
5
|
+
[Level.DEBUG]: 'debug',
|
|
6
|
+
[Level.INFO]: 'info',
|
|
7
|
+
[Level.NOTICE]: 'log',
|
|
8
|
+
[Level.WARNING]: 'warning',
|
|
9
|
+
[Level.ERROR]: 'error',
|
|
10
|
+
[Level.CRITICAL]: 'fatal',
|
|
11
|
+
[Level.FATAL]: 'fatal',
|
|
12
|
+
[Level.EMERGENCY]: 'fatal',
|
|
15
13
|
// not a level
|
|
16
|
-
[Level.ALL]:
|
|
14
|
+
[Level.ALL]: 'error'
|
|
17
15
|
};
|
|
18
|
-
|
|
19
16
|
const createHandler = (Sentry, {
|
|
20
17
|
getUser = () => undefined,
|
|
21
18
|
getTags = () => ({}),
|
|
@@ -31,15 +28,15 @@ const createHandler = (Sentry, {
|
|
|
31
28
|
metadata,
|
|
32
29
|
extra
|
|
33
30
|
} = record;
|
|
34
|
-
|
|
35
31
|
if (shouldSendAsException(record)) {
|
|
36
32
|
const error = metadata?.error || record.message;
|
|
37
|
-
const extraData = {
|
|
33
|
+
const extraData = {
|
|
34
|
+
...metadata,
|
|
38
35
|
...extra
|
|
39
36
|
};
|
|
40
37
|
delete extraData.error;
|
|
41
38
|
Sentry.captureException(error, {
|
|
42
|
-
level: mapToSentryLevel[level] ||
|
|
39
|
+
level: mapToSentryLevel[level] || 'error',
|
|
43
40
|
user: getUser(record),
|
|
44
41
|
tags: {
|
|
45
42
|
loggerKey: key,
|
|
@@ -49,7 +46,7 @@ const createHandler = (Sentry, {
|
|
|
49
46
|
});
|
|
50
47
|
} else if (shouldSendAsBreadcrumb(record)) {
|
|
51
48
|
Sentry.addBreadcrumb({
|
|
52
|
-
level: mapToSentryLevel[level] ||
|
|
49
|
+
level: mapToSentryLevel[level] || 'error',
|
|
53
50
|
category: getBreadcrumbCategory(record),
|
|
54
51
|
type: getBreadcrumbType(record),
|
|
55
52
|
message: record.message,
|
|
@@ -59,23 +56,12 @@ const createHandler = (Sentry, {
|
|
|
59
56
|
}
|
|
60
57
|
};
|
|
61
58
|
};
|
|
62
|
-
|
|
63
59
|
class SentryHandler {
|
|
64
60
|
constructor(Sentry, minLevel, options) {
|
|
65
61
|
this.minLevel = minLevel;
|
|
66
|
-
|
|
67
|
-
if (typeof Sentry === 'string') {
|
|
68
|
-
console.warn('nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.');
|
|
69
|
-
SentryNode.init({
|
|
70
|
-
dsn: Sentry
|
|
71
|
-
});
|
|
72
|
-
this.handle = createHandler(SentryNode, options);
|
|
73
|
-
} else {
|
|
74
|
-
this.handle = createHandler(Sentry, options);
|
|
75
|
-
}
|
|
62
|
+
this.handle = createHandler(Sentry, options);
|
|
76
63
|
}
|
|
77
|
-
|
|
78
64
|
}
|
|
79
65
|
|
|
80
66
|
export { SentryHandler };
|
|
81
|
-
//# sourceMappingURL=index-
|
|
67
|
+
//# sourceMappingURL=index-node16.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-node16.mjs","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport type { User, SeverityLevel } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\n\nconst mapToSentryLevel: Record<Level, SeverityLevel> = {\n [Level.TRACE]: 'debug',\n [Level.DEBUG]: 'debug',\n [Level.INFO]: 'info',\n [Level.NOTICE]: 'log',\n [Level.WARNING]: 'warning',\n [Level.ERROR]: 'error',\n [Level.CRITICAL]: 'fatal',\n [Level.FATAL]: 'fatal',\n [Level.EMERGENCY]: 'fatal',\n // not a level\n [Level.ALL]: 'error',\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\nexport interface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || 'error',\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || 'error',\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport class SentryHandler<S extends SentryRequiredMethods> implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n this.handle = createHandler<S>(Sentry, options);\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","DEBUG","INFO","NOTICE","WARNING","ERROR","CRITICAL","FATAL","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","handle"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nightingale-sentry",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "Sentry handler for nightingale",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nightingale",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"homepage": "https://github.com/christophehurpeau/nightingale",
|
|
17
17
|
"type": "module",
|
|
18
18
|
"engines": {
|
|
19
|
-
"node": "
|
|
19
|
+
"node": ">=16.0.0"
|
|
20
20
|
},
|
|
21
21
|
"browserslist": [
|
|
22
22
|
"defaults",
|
|
@@ -25,65 +25,47 @@
|
|
|
25
25
|
"not safari < 10",
|
|
26
26
|
"not ios_saf < 10"
|
|
27
27
|
],
|
|
28
|
-
"main": "./dist/index-
|
|
29
|
-
"types": "./dist/index.d.ts",
|
|
28
|
+
"main": "./dist/index-node16.mjs",
|
|
29
|
+
"types": "./dist/definitions/index.d.ts",
|
|
30
30
|
"module": "./dist/index-browser.es.js",
|
|
31
31
|
"browser": "./dist/index-browser.es.js",
|
|
32
32
|
"exports": {
|
|
33
33
|
"./package.json": "./package.json",
|
|
34
34
|
".": {
|
|
35
35
|
"node": {
|
|
36
|
-
"import": "./dist/index-
|
|
37
|
-
"require": "./dist/index-node14.cjs.js"
|
|
36
|
+
"import": "./dist/index-node16.mjs"
|
|
38
37
|
},
|
|
39
38
|
"browser": {
|
|
40
39
|
"browser:modern": {
|
|
41
40
|
"import": "./dist/index-browsermodern.es.js"
|
|
42
41
|
},
|
|
43
|
-
"import": "./dist/index-browser.es.js"
|
|
44
|
-
"require": "./dist/index-browser.cjs.js"
|
|
42
|
+
"import": "./dist/index-browser.es.js"
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
},
|
|
48
|
-
"module:node": "./dist/index-node14.mjs",
|
|
49
|
-
"module:modern-browsers": "./dist/index-browsermodern.es.js",
|
|
50
46
|
"sideEffects": false,
|
|
51
47
|
"scripts": {
|
|
52
|
-
"build": "
|
|
53
|
-
"build:definitions": "tsc -p
|
|
54
|
-
"clean": "
|
|
48
|
+
"build": "yarn clean:build && rollup --config rollup.config.mjs && yarn run build:definitions",
|
|
49
|
+
"build:definitions": "tsc -p",
|
|
50
|
+
"clean": "yarn clean:build",
|
|
51
|
+
"clean:build": "pob-babel-clean-out dist",
|
|
55
52
|
"lint": "yarn run lint:eslint",
|
|
56
|
-
"lint:eslint": "
|
|
57
|
-
"watch": "
|
|
58
|
-
},
|
|
59
|
-
"prettier": {
|
|
60
|
-
"trailingComma": "all",
|
|
61
|
-
"singleQuote": true,
|
|
62
|
-
"arrowParens": "always"
|
|
53
|
+
"lint:eslint": "yarn ../.. run eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet packages/nightingale-sentry",
|
|
54
|
+
"watch": "yarn clean:build && rollup --config rollup.config.mjs --watch"
|
|
63
55
|
},
|
|
56
|
+
"prettier": "@pob/root/prettier-config",
|
|
64
57
|
"pob": {
|
|
65
58
|
"babelEnvs": [
|
|
66
59
|
{
|
|
67
60
|
"target": "node",
|
|
68
|
-
"version": "
|
|
69
|
-
"formats": [
|
|
70
|
-
"cjs",
|
|
71
|
-
"es"
|
|
72
|
-
]
|
|
61
|
+
"version": "16"
|
|
73
62
|
},
|
|
74
63
|
{
|
|
75
64
|
"target": "browser",
|
|
76
|
-
"version": "modern"
|
|
77
|
-
"formats": [
|
|
78
|
-
"es"
|
|
79
|
-
]
|
|
65
|
+
"version": "modern"
|
|
80
66
|
},
|
|
81
67
|
{
|
|
82
|
-
"target": "browser"
|
|
83
|
-
"formats": [
|
|
84
|
-
"cjs",
|
|
85
|
-
"es"
|
|
86
|
-
]
|
|
68
|
+
"target": "browser"
|
|
87
69
|
}
|
|
88
70
|
],
|
|
89
71
|
"entries": [
|
|
@@ -91,18 +73,18 @@
|
|
|
91
73
|
]
|
|
92
74
|
},
|
|
93
75
|
"dependencies": {
|
|
94
|
-
"@sentry/core": "^
|
|
95
|
-
"@sentry/node": "^
|
|
96
|
-
"@sentry/types": "^
|
|
97
|
-
"nightingale-levels": "
|
|
98
|
-
"nightingale-types": "
|
|
76
|
+
"@sentry/core": "^7.19.0",
|
|
77
|
+
"@sentry/node": "^7.19.0",
|
|
78
|
+
"@sentry/types": "^7.19.0",
|
|
79
|
+
"nightingale-levels": "13.0.0",
|
|
80
|
+
"nightingale-types": "13.0.0"
|
|
99
81
|
},
|
|
100
82
|
"devDependencies": {
|
|
101
|
-
"@babel/core": "7.
|
|
102
|
-
"@babel/preset-env": "7.
|
|
83
|
+
"@babel/core": "7.20.2",
|
|
84
|
+
"@babel/preset-env": "7.20.2",
|
|
103
85
|
"babel-preset-modern-browsers": "15.0.2",
|
|
104
|
-
"pob-babel": "
|
|
105
|
-
"typescript": "4.
|
|
86
|
+
"pob-babel": "35.3.0",
|
|
87
|
+
"typescript": "4.9.3"
|
|
106
88
|
},
|
|
107
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "52cf7e3c8762a07891da9dde497ec03298c15654"
|
|
108
90
|
}
|
package/src/index.ts
CHANGED
|
@@ -3,25 +3,22 @@ import type {
|
|
|
3
3
|
captureException,
|
|
4
4
|
captureMessage,
|
|
5
5
|
} from '@sentry/core';
|
|
6
|
-
import
|
|
7
|
-
import type { User } from '@sentry/types';
|
|
8
|
-
import { Severity } from '@sentry/types';
|
|
6
|
+
import type { User, SeverityLevel } from '@sentry/types';
|
|
9
7
|
import { Level } from 'nightingale-levels';
|
|
10
8
|
import type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';
|
|
11
|
-
import 'pob-babel';
|
|
12
9
|
|
|
13
|
-
const mapToSentryLevel: Record<Level,
|
|
14
|
-
[Level.TRACE]:
|
|
15
|
-
[Level.DEBUG]:
|
|
16
|
-
[Level.INFO]:
|
|
17
|
-
[Level.NOTICE]:
|
|
18
|
-
[Level.WARNING]:
|
|
19
|
-
[Level.ERROR]:
|
|
20
|
-
[Level.CRITICAL]:
|
|
21
|
-
[Level.FATAL]:
|
|
22
|
-
[Level.EMERGENCY]:
|
|
10
|
+
const mapToSentryLevel: Record<Level, SeverityLevel> = {
|
|
11
|
+
[Level.TRACE]: 'debug',
|
|
12
|
+
[Level.DEBUG]: 'debug',
|
|
13
|
+
[Level.INFO]: 'info',
|
|
14
|
+
[Level.NOTICE]: 'log',
|
|
15
|
+
[Level.WARNING]: 'warning',
|
|
16
|
+
[Level.ERROR]: 'error',
|
|
17
|
+
[Level.CRITICAL]: 'fatal',
|
|
18
|
+
[Level.FATAL]: 'fatal',
|
|
19
|
+
[Level.EMERGENCY]: 'fatal',
|
|
23
20
|
// not a level
|
|
24
|
-
[Level.ALL]:
|
|
21
|
+
[Level.ALL]: 'error',
|
|
25
22
|
};
|
|
26
23
|
|
|
27
24
|
export interface MetadataWithError extends Metadata {
|
|
@@ -49,7 +46,7 @@ export interface Options {
|
|
|
49
46
|
) => boolean;
|
|
50
47
|
}
|
|
51
48
|
|
|
52
|
-
interface SentryRequiredMethods {
|
|
49
|
+
export interface SentryRequiredMethods {
|
|
53
50
|
addBreadcrumb: typeof addBreadcrumb;
|
|
54
51
|
captureException: typeof captureException;
|
|
55
52
|
captureMessage: typeof captureMessage;
|
|
@@ -79,7 +76,7 @@ const createHandler = <S extends SentryRequiredMethods>(
|
|
|
79
76
|
delete extraData.error;
|
|
80
77
|
|
|
81
78
|
Sentry.captureException(error, {
|
|
82
|
-
level: mapToSentryLevel[level] ||
|
|
79
|
+
level: mapToSentryLevel[level] || 'error',
|
|
83
80
|
user: getUser(record),
|
|
84
81
|
tags: {
|
|
85
82
|
loggerKey: key,
|
|
@@ -89,7 +86,7 @@ const createHandler = <S extends SentryRequiredMethods>(
|
|
|
89
86
|
});
|
|
90
87
|
} else if (shouldSendAsBreadcrumb(record)) {
|
|
91
88
|
Sentry.addBreadcrumb({
|
|
92
|
-
level: mapToSentryLevel[level] ||
|
|
89
|
+
level: mapToSentryLevel[level] || 'error',
|
|
93
90
|
category: getBreadcrumbCategory(record),
|
|
94
91
|
type: getBreadcrumbType(record),
|
|
95
92
|
message: record.message,
|
|
@@ -105,16 +102,8 @@ export class SentryHandler<S extends SentryRequiredMethods> implements Handler {
|
|
|
105
102
|
|
|
106
103
|
handle: Handle;
|
|
107
104
|
|
|
108
|
-
constructor(Sentry:
|
|
105
|
+
constructor(Sentry: S, minLevel: Level, options?: Options) {
|
|
109
106
|
this.minLevel = minLevel;
|
|
110
|
-
|
|
111
|
-
console.warn(
|
|
112
|
-
'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',
|
|
113
|
-
);
|
|
114
|
-
SentryNode.init({ dsn: Sentry });
|
|
115
|
-
this.handle = createHandler(SentryNode, options);
|
|
116
|
-
} else {
|
|
117
|
-
this.handle = createHandler<S>(Sentry as S, options);
|
|
118
|
-
}
|
|
107
|
+
this.handle = createHandler<S>(Sentry, options);
|
|
119
108
|
}
|
|
120
109
|
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var _extends = require('@babel/runtime/helpers/esm/extends');
|
|
6
|
-
var types = require('@sentry/types');
|
|
7
|
-
var nightingaleLevels = require('nightingale-levels');
|
|
8
|
-
|
|
9
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
10
|
-
|
|
11
|
-
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
12
|
-
|
|
13
|
-
var _mapToSentryLevel;
|
|
14
|
-
var mapToSentryLevel = (_mapToSentryLevel = {}, _mapToSentryLevel[nightingaleLevels.Level.TRACE] = types.Severity.Debug, _mapToSentryLevel[nightingaleLevels.Level.DEBUG] = types.Severity.Debug, _mapToSentryLevel[nightingaleLevels.Level.INFO] = types.Severity.Info, _mapToSentryLevel[nightingaleLevels.Level.NOTICE] = types.Severity.Log, _mapToSentryLevel[nightingaleLevels.Level.WARNING] = types.Severity.Warning, _mapToSentryLevel[nightingaleLevels.Level.ERROR] = types.Severity.Error, _mapToSentryLevel[nightingaleLevels.Level.CRITICAL] = types.Severity.Critical, _mapToSentryLevel[nightingaleLevels.Level.FATAL] = types.Severity.Fatal, _mapToSentryLevel[nightingaleLevels.Level.EMERGENCY] = types.Severity.Critical, _mapToSentryLevel[nightingaleLevels.Level.ALL] = types.Severity.Error, _mapToSentryLevel);
|
|
15
|
-
|
|
16
|
-
var createHandler = function createHandler(Sentry, _temp) {
|
|
17
|
-
var _ref = _temp === void 0 ? {} : _temp,
|
|
18
|
-
_ref$getUser = _ref.getUser,
|
|
19
|
-
getUser = _ref$getUser === void 0 ? function () {
|
|
20
|
-
return undefined;
|
|
21
|
-
} : _ref$getUser,
|
|
22
|
-
_ref$getTags = _ref.getTags,
|
|
23
|
-
getTags = _ref$getTags === void 0 ? function () {
|
|
24
|
-
return {};
|
|
25
|
-
} : _ref$getTags,
|
|
26
|
-
_ref$getBreadcrumbCat = _ref.getBreadcrumbCategory,
|
|
27
|
-
getBreadcrumbCategory = _ref$getBreadcrumbCat === void 0 ? function () {
|
|
28
|
-
return undefined;
|
|
29
|
-
} : _ref$getBreadcrumbCat,
|
|
30
|
-
_ref$getBreadcrumbTyp = _ref.getBreadcrumbType,
|
|
31
|
-
getBreadcrumbType = _ref$getBreadcrumbTyp === void 0 ? function () {
|
|
32
|
-
return undefined;
|
|
33
|
-
} : _ref$getBreadcrumbTyp,
|
|
34
|
-
_ref$shouldSendAsExce = _ref.shouldSendAsException,
|
|
35
|
-
shouldSendAsException = _ref$shouldSendAsExce === void 0 ? function (record) {
|
|
36
|
-
var _record$metadata;
|
|
37
|
-
|
|
38
|
-
return ((_record$metadata = record.metadata) == null ? void 0 : _record$metadata.error) !== undefined && record.metadata.unhandled !== true;
|
|
39
|
-
} : _ref$shouldSendAsExce,
|
|
40
|
-
_ref$shouldSendAsBrea = _ref.shouldSendAsBreadcrumb,
|
|
41
|
-
shouldSendAsBreadcrumb = _ref$shouldSendAsBrea === void 0 ? function () {
|
|
42
|
-
return false;
|
|
43
|
-
} : _ref$shouldSendAsBrea;
|
|
44
|
-
|
|
45
|
-
return function (record) {
|
|
46
|
-
var key = record.key,
|
|
47
|
-
level = record.level,
|
|
48
|
-
metadata = record.metadata,
|
|
49
|
-
extra = record.extra;
|
|
50
|
-
|
|
51
|
-
if (shouldSendAsException(record)) {
|
|
52
|
-
var error = (metadata == null ? void 0 : metadata.error) || record.message;
|
|
53
|
-
|
|
54
|
-
var extraData = _extends__default({}, metadata, extra);
|
|
55
|
-
|
|
56
|
-
delete extraData.error;
|
|
57
|
-
Sentry.captureException(error, {
|
|
58
|
-
level: mapToSentryLevel[level] || types.Severity.Error,
|
|
59
|
-
user: getUser(record),
|
|
60
|
-
tags: _extends__default({
|
|
61
|
-
loggerKey: key
|
|
62
|
-
}, getTags(record)),
|
|
63
|
-
extra: extraData
|
|
64
|
-
});
|
|
65
|
-
} else if (shouldSendAsBreadcrumb(record)) {
|
|
66
|
-
Sentry.addBreadcrumb({
|
|
67
|
-
level: mapToSentryLevel[level] || types.Severity.Error,
|
|
68
|
-
category: getBreadcrumbCategory(record),
|
|
69
|
-
type: getBreadcrumbType(record),
|
|
70
|
-
message: record.message,
|
|
71
|
-
data: record.metadata,
|
|
72
|
-
timestamp: record.datetime.getTime()
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var SentryHandler = function SentryHandler(Sentry, minLevel, options) {
|
|
79
|
-
this.minLevel = minLevel;
|
|
80
|
-
this.handle = createHandler(Sentry, options);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
exports.SentryHandler = SentryHandler;
|
|
84
|
-
//# sourceMappingURL=index-browser.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\nimport 'pob-babel';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport class SentryHandler<S extends SentryRequiredMethods> implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (__POB_TARGET__ === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","minLevel","options","handle"],"mappings":"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"}
|
package/dist/index-node14.cjs.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const SentryNode = require('@sentry/node');
|
|
6
|
-
const types = require('@sentry/types');
|
|
7
|
-
const nightingaleLevels = require('nightingale-levels');
|
|
8
|
-
|
|
9
|
-
function _interopNamespace(e) {
|
|
10
|
-
if (e && e.__esModule) return e;
|
|
11
|
-
const n = Object.create(null);
|
|
12
|
-
if (e) {
|
|
13
|
-
for (const k in e) {
|
|
14
|
-
n[k] = e[k];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
n["default"] = e;
|
|
18
|
-
return n;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const SentryNode__namespace = /*#__PURE__*/_interopNamespace(SentryNode);
|
|
22
|
-
|
|
23
|
-
const mapToSentryLevel = {
|
|
24
|
-
[nightingaleLevels.Level.TRACE]: types.Severity.Debug,
|
|
25
|
-
[nightingaleLevels.Level.DEBUG]: types.Severity.Debug,
|
|
26
|
-
[nightingaleLevels.Level.INFO]: types.Severity.Info,
|
|
27
|
-
[nightingaleLevels.Level.NOTICE]: types.Severity.Log,
|
|
28
|
-
[nightingaleLevels.Level.WARNING]: types.Severity.Warning,
|
|
29
|
-
[nightingaleLevels.Level.ERROR]: types.Severity.Error,
|
|
30
|
-
[nightingaleLevels.Level.CRITICAL]: types.Severity.Critical,
|
|
31
|
-
[nightingaleLevels.Level.FATAL]: types.Severity.Fatal,
|
|
32
|
-
[nightingaleLevels.Level.EMERGENCY]: types.Severity.Critical,
|
|
33
|
-
// not a level
|
|
34
|
-
[nightingaleLevels.Level.ALL]: types.Severity.Error
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const createHandler = (Sentry, {
|
|
38
|
-
getUser = () => undefined,
|
|
39
|
-
getTags = () => ({}),
|
|
40
|
-
getBreadcrumbCategory = () => undefined,
|
|
41
|
-
getBreadcrumbType = () => undefined,
|
|
42
|
-
shouldSendAsException = record => record.metadata?.error !== undefined && record.metadata.unhandled !== true,
|
|
43
|
-
shouldSendAsBreadcrumb = () => false
|
|
44
|
-
} = {}) => {
|
|
45
|
-
return record => {
|
|
46
|
-
const {
|
|
47
|
-
key,
|
|
48
|
-
level,
|
|
49
|
-
metadata,
|
|
50
|
-
extra
|
|
51
|
-
} = record;
|
|
52
|
-
|
|
53
|
-
if (shouldSendAsException(record)) {
|
|
54
|
-
const error = metadata?.error || record.message;
|
|
55
|
-
const extraData = { ...metadata,
|
|
56
|
-
...extra
|
|
57
|
-
};
|
|
58
|
-
delete extraData.error;
|
|
59
|
-
Sentry.captureException(error, {
|
|
60
|
-
level: mapToSentryLevel[level] || types.Severity.Error,
|
|
61
|
-
user: getUser(record),
|
|
62
|
-
tags: {
|
|
63
|
-
loggerKey: key,
|
|
64
|
-
...getTags(record)
|
|
65
|
-
},
|
|
66
|
-
extra: extraData
|
|
67
|
-
});
|
|
68
|
-
} else if (shouldSendAsBreadcrumb(record)) {
|
|
69
|
-
Sentry.addBreadcrumb({
|
|
70
|
-
level: mapToSentryLevel[level] || types.Severity.Error,
|
|
71
|
-
category: getBreadcrumbCategory(record),
|
|
72
|
-
type: getBreadcrumbType(record),
|
|
73
|
-
message: record.message,
|
|
74
|
-
data: record.metadata,
|
|
75
|
-
timestamp: record.datetime.getTime()
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
class SentryHandler {
|
|
82
|
-
constructor(Sentry, minLevel, options) {
|
|
83
|
-
this.minLevel = minLevel;
|
|
84
|
-
|
|
85
|
-
if (typeof Sentry === 'string') {
|
|
86
|
-
console.warn('nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.');
|
|
87
|
-
SentryNode__namespace.init({
|
|
88
|
-
dsn: Sentry
|
|
89
|
-
});
|
|
90
|
-
this.handle = createHandler(SentryNode__namespace, options);
|
|
91
|
-
} else {
|
|
92
|
-
this.handle = createHandler(Sentry, options);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
exports.SentryHandler = SentryHandler;
|
|
99
|
-
//# sourceMappingURL=index-node14.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node14.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\nimport 'pob-babel';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport class SentryHandler<S extends SentryRequiredMethods> implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (__POB_TARGET__ === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","console","warn","SentryNode","init","dsn","handle"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-node14.mjs","sources":["../src/index.ts"],"sourcesContent":["import type {\n addBreadcrumb,\n captureException,\n captureMessage,\n} from '@sentry/core';\nimport * as SentryNode from '@sentry/node';\nimport type { User } from '@sentry/types';\nimport { Severity } from '@sentry/types';\nimport { Level } from 'nightingale-levels';\nimport type { LogRecord, Handle, Metadata, Handler } from 'nightingale-types';\nimport 'pob-babel';\n\nconst mapToSentryLevel: Record<Level, Severity> = {\n [Level.TRACE]: Severity.Debug,\n [Level.DEBUG]: Severity.Debug,\n [Level.INFO]: Severity.Info,\n [Level.NOTICE]: Severity.Log,\n [Level.WARNING]: Severity.Warning,\n [Level.ERROR]: Severity.Error,\n [Level.CRITICAL]: Severity.Critical,\n [Level.FATAL]: Severity.Fatal,\n [Level.EMERGENCY]: Severity.Critical,\n // not a level\n [Level.ALL]: Severity.Error,\n};\n\nexport interface MetadataWithError extends Metadata {\n error?: Error;\n}\n\nexport interface Options {\n getUser?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => User | undefined;\n getTags?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => Record<string, string>;\n getBreadcrumbCategory?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n getBreadcrumbType?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => string | undefined;\n shouldSendAsException?: <T extends MetadataWithError>(\n record: LogRecord<T>,\n ) => boolean;\n shouldSendAsBreadcrumb?: <T extends Metadata>(\n record: LogRecord<T>,\n ) => boolean;\n}\n\ninterface SentryRequiredMethods {\n addBreadcrumb: typeof addBreadcrumb;\n captureException: typeof captureException;\n captureMessage: typeof captureMessage;\n}\n\nconst createHandler = <S extends SentryRequiredMethods>(\n Sentry: S,\n {\n getUser = () => undefined,\n getTags = () => ({}),\n getBreadcrumbCategory = () => undefined,\n getBreadcrumbType = () => undefined,\n shouldSendAsException = <T extends Metadata>(record: LogRecord<T>) =>\n record.metadata?.error !== undefined &&\n record.metadata.unhandled !== true,\n shouldSendAsBreadcrumb = <T extends Metadata>(record: LogRecord<T>) =>\n false,\n }: Options = {},\n): Handle => {\n return <T extends MetadataWithError>(record: LogRecord<T>) => {\n const { key, level, metadata, extra } = record;\n\n if (shouldSendAsException(record)) {\n const error = metadata?.error || record.message;\n\n const extraData: Record<string, unknown> = { ...metadata, ...extra };\n delete extraData.error;\n\n Sentry.captureException(error, {\n level: mapToSentryLevel[level] || Severity.Error,\n user: getUser(record),\n tags: {\n loggerKey: key,\n ...getTags(record),\n },\n extra: extraData,\n });\n } else if (shouldSendAsBreadcrumb(record)) {\n Sentry.addBreadcrumb({\n level: mapToSentryLevel[level] || Severity.Error,\n category: getBreadcrumbCategory(record),\n type: getBreadcrumbType(record),\n message: record.message,\n data: record.metadata,\n timestamp: record.datetime.getTime(),\n });\n }\n };\n};\n\nexport class SentryHandler<S extends SentryRequiredMethods> implements Handler {\n minLevel: Level;\n\n handle: Handle;\n\n constructor(Sentry: string | S, minLevel: Level, options?: Options) {\n this.minLevel = minLevel;\n if (__POB_TARGET__ === 'node' && typeof Sentry === 'string') {\n console.warn(\n 'nightingale-sentry: Passing DSN directly is deprecated, pass Sentry instead and init in your app.',\n );\n SentryNode.init({ dsn: Sentry });\n this.handle = createHandler(SentryNode, options);\n } else {\n this.handle = createHandler<S>(Sentry as S, options);\n }\n }\n}\n"],"names":["mapToSentryLevel","Level","TRACE","Severity","Debug","DEBUG","INFO","Info","NOTICE","Log","WARNING","Warning","ERROR","Error","CRITICAL","Critical","FATAL","Fatal","EMERGENCY","ALL","createHandler","Sentry","getUser","undefined","getTags","getBreadcrumbCategory","getBreadcrumbType","shouldSendAsException","record","metadata","error","unhandled","shouldSendAsBreadcrumb","key","level","extra","message","extraData","captureException","user","tags","loggerKey","addBreadcrumb","category","type","data","timestamp","datetime","getTime","SentryHandler","constructor","minLevel","options","console","warn","SentryNode","init","dsn","handle"],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,WAAW,CAAC;AAgBnB,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,iBAAiB,EACpC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,IAAI,GAAG,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,iBAAiB,EACpC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,qBAAqB,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,EACzC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,MAAM,GAAG,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,EACrC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,MAAM,GAAG,SAAS,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,CAAC,SAAS,iBAAiB,EAClD,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,OAAO,CAAC;IACb,sBAAsB,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,EAC1C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KACjB,OAAO,CAAC;CACd;AAED,UAAU,qBAAqB;IAC7B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,cAAc,EAAE,OAAO,cAAc,CAAC;CACvC;AA+CD,qBAAa,aAAa,CAAC,CAAC,SAAS,qBAAqB,CAAE,YAAW,OAAO;IAC5E,QAAQ,EAAE,KAAK,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO;CAYnE"}
|
package/rollup.config.mjs
DELETED