@sentry/core
Advanced tools
+1
-1
| export { addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, startTransaction, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, } from '@sentry/minimal'; | ||
| export { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, Scope } from '@sentry/hub'; | ||
| export { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, makeMain, Scope } from '@sentry/hub'; | ||
| export { API } from './api'; | ||
@@ -4,0 +4,0 @@ export { BaseClient } from './baseclient'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC"} |
+1
-0
@@ -21,2 +21,3 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Hub = hub_1.Hub; | ||
| exports.makeMain = hub_1.makeMain; | ||
| exports.Scope = hub_1.Scope; | ||
@@ -23,0 +24,0 @@ var api_1 = require("./api"); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,2CAcyB;AAbvB,kCAAA,aAAa,CAAA;AACb,qCAAA,gBAAgB,CAAA;AAChB,iCAAA,YAAY,CAAA;AACZ,mCAAA,cAAc,CAAA;AACd,mCAAA,cAAc,CAAA;AACd,qCAAA,gBAAgB,CAAA;AAChB,+BAAA,UAAU,CAAA;AACV,6BAAA,QAAQ,CAAA;AACR,8BAAA,SAAS,CAAA;AACT,2BAAA,MAAM,CAAA;AACN,4BAAA,OAAO,CAAA;AACP,4BAAA,OAAO,CAAA;AACP,8BAAA,SAAS,CAAA;AAEX,mCAAoG;AAA3F,wCAAA,uBAAuB,CAAA;AAAE,8BAAA,aAAa,CAAA;AAAE,kCAAA,iBAAiB,CAAA;AAAE,oBAAA,GAAG,CAAA;AAAE,sBAAA,KAAK,CAAA;AAC9E,6BAA4B;AAAnB,oBAAA,GAAG,CAAA;AACZ,2CAA0C;AAAjC,kCAAA,UAAU,CAAA;AACnB,6CAA0D;AAAnC,oCAAA,WAAW,CAAA;AAClC,qCAAiD;AAAxC,yCAAA,oBAAoB,CAAA;AAC7B,6BAAiD;AAAxC,4BAAA,WAAW,CAAA;AACpB,0CAAkD;AAAzC,+BAAA,aAAa,CAAA;AAEtB,6CAA+C;AAEtC,oCAAY","sourcesContent":["export {\n addBreadcrumb,\n captureException,\n captureEvent,\n captureMessage,\n configureScope,\n startTransaction,\n setContext,\n setExtra,\n setExtras,\n setTag,\n setTags,\n setUser,\n withScope,\n} from '@sentry/minimal';\nexport { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, Scope } from '@sentry/hub';\nexport { API } from './api';\nexport { BaseClient } from './baseclient';\nexport { BackendClass, BaseBackend } from './basebackend';\nexport { eventToSentryRequest } from './request';\nexport { initAndBind, ClientClass } from './sdk';\nexport { NoopTransport } from './transports/noop';\n\nimport * as Integrations from './integrations';\n\nexport { Integrations };\n"]} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,2CAcyB;AAbvB,kCAAA,aAAa,CAAA;AACb,qCAAA,gBAAgB,CAAA;AAChB,iCAAA,YAAY,CAAA;AACZ,mCAAA,cAAc,CAAA;AACd,mCAAA,cAAc,CAAA;AACd,qCAAA,gBAAgB,CAAA;AAChB,+BAAA,UAAU,CAAA;AACV,6BAAA,QAAQ,CAAA;AACR,8BAAA,SAAS,CAAA;AACT,2BAAA,MAAM,CAAA;AACN,4BAAA,OAAO,CAAA;AACP,4BAAA,OAAO,CAAA;AACP,8BAAA,SAAS,CAAA;AAEX,mCAA8G;AAArG,wCAAA,uBAAuB,CAAA;AAAE,8BAAA,aAAa,CAAA;AAAE,kCAAA,iBAAiB,CAAA;AAAE,oBAAA,GAAG,CAAA;AAAE,yBAAA,QAAQ,CAAA;AAAE,sBAAA,KAAK,CAAA;AACxF,6BAA4B;AAAnB,oBAAA,GAAG,CAAA;AACZ,2CAA0C;AAAjC,kCAAA,UAAU,CAAA;AACnB,6CAA0D;AAAnC,oCAAA,WAAW,CAAA;AAClC,qCAAiD;AAAxC,yCAAA,oBAAoB,CAAA;AAC7B,6BAAiD;AAAxC,4BAAA,WAAW,CAAA;AACpB,0CAAkD;AAAzC,+BAAA,aAAa,CAAA;AAEtB,6CAA+C;AAEtC,oCAAY","sourcesContent":["export {\n addBreadcrumb,\n captureException,\n captureEvent,\n captureMessage,\n configureScope,\n startTransaction,\n setContext,\n setExtra,\n setExtras,\n setTag,\n setTags,\n setUser,\n withScope,\n} from '@sentry/minimal';\nexport { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, makeMain, Scope } from '@sentry/hub';\nexport { API } from './api';\nexport { BaseClient } from './baseclient';\nexport { BackendClass, BaseBackend } from './basebackend';\nexport { eventToSentryRequest } from './request';\nexport { initAndBind, ClientClass } from './sdk';\nexport { NoopTransport } from './transports/noop';\n\nimport * as Integrations from './integrations';\n\nexport { Integrations };\n"]} |
| import { Integration } from '@sentry/types'; | ||
| /** JSDoc */ | ||
| interface InboundFiltersOptions { | ||
| blacklistUrls?: Array<string | RegExp>; | ||
| ignoreErrors?: Array<string | RegExp>; | ||
| ignoreInternal?: boolean; | ||
| whitelistUrls?: Array<string | RegExp>; | ||
| allowUrls: Array<string | RegExp>; | ||
| denyUrls: Array<string | RegExp>; | ||
| ignoreErrors: Array<string | RegExp>; | ||
| ignoreInternal: boolean; | ||
| /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */ | ||
| whitelistUrls: Array<string | RegExp>; | ||
| /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */ | ||
| blacklistUrls: Array<string | RegExp>; | ||
| } | ||
@@ -20,3 +24,3 @@ /** Inbound filters configurable by the user */ | ||
| static id: string; | ||
| constructor(_options?: InboundFiltersOptions); | ||
| constructor(_options?: Partial<InboundFiltersOptions>); | ||
| /** | ||
@@ -33,5 +37,5 @@ * @inheritDoc | ||
| /** JSDoc */ | ||
| private _isBlacklistedUrl; | ||
| private _isDeniedUrl; | ||
| /** JSDoc */ | ||
| private _isWhitelistedUrl; | ||
| private _isAllowedUrl; | ||
| /** JSDoc */ | ||
@@ -38,0 +42,0 @@ private _mergeOptions; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"inboundfilters.d.ts","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,WAAW,EAAE,MAAM,eAAe,CAAC;AAOnD,YAAY;AACZ,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACxC;AAED,+CAA+C;AAC/C,qBAAa,cAAe,YAAW,WAAW;IAU7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT5C;;OAEG;IACI,IAAI,EAAE,MAAM,CAAqB;IACxC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAoB;gBAER,QAAQ,GAAE,qBAA0B;IAExE;;OAEG;IACI,SAAS,IAAI,IAAI;IAmBxB,YAAY;IACZ,OAAO,CAAC,gBAAgB;IA8BxB,YAAY;IACZ,OAAO,CAAC,cAAc;IAmBtB,YAAY;IACZ,OAAO,CAAC,eAAe;IAWvB,YAAY;IACZ,OAAO,CAAC,iBAAiB;IASzB,YAAY;IACZ,OAAO,CAAC,iBAAiB;IASzB,YAAY;IACZ,OAAO,CAAC,aAAa;IAarB,YAAY;IACZ,OAAO,CAAC,yBAAyB;IAgBjC,YAAY;IACZ,OAAO,CAAC,kBAAkB;CAiB3B"} | ||
| {"version":3,"file":"inboundfilters.d.ts","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,WAAW,EAAE,MAAM,eAAe,CAAC;AAOnD,YAAY;AACZ,UAAU,qBAAqB;IAC7B,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;IAExB,uEAAuE;IACvE,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,sEAAsE;IACtE,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACvC;AAED,+CAA+C;AAC/C,qBAAa,cAAe,YAAW,WAAW;IAU7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT5C;;OAEG;IACI,IAAI,EAAE,MAAM,CAAqB;IACxC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAoB;gBAER,QAAQ,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAEjF;;OAEG;IACI,SAAS,IAAI,IAAI;IAmBxB,YAAY;IACZ,OAAO,CAAC,gBAAgB;IA8BxB,YAAY;IACZ,OAAO,CAAC,cAAc;IAmBtB,YAAY;IACZ,OAAO,CAAC,eAAe;IAWvB,YAAY;IACZ,OAAO,CAAC,YAAY;IASpB,YAAY;IACZ,OAAO,CAAC,aAAa;IASrB,YAAY;IACZ,OAAO,CAAC,aAAa;IAwBrB,YAAY;IACZ,OAAO,CAAC,yBAAyB;IAgBjC,YAAY;IACZ,OAAO,CAAC,kBAAkB;CAiB3B"} |
@@ -49,8 +49,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
| } | ||
| if (this._isBlacklistedUrl(event, options)) { | ||
| utils_1.logger.warn("Event dropped due to being matched by `blacklistUrls` option.\nEvent: " + utils_1.getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| if (this._isDeniedUrl(event, options)) { | ||
| utils_1.logger.warn("Event dropped due to being matched by `denyUrls` option.\nEvent: " + utils_1.getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| return true; | ||
| } | ||
| if (!this._isWhitelistedUrl(event, options)) { | ||
| utils_1.logger.warn("Event dropped due to not being matched by `whitelistUrls` option.\nEvent: " + utils_1.getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| if (!this._isAllowedUrl(event, options)) { | ||
| utils_1.logger.warn("Event dropped due to not being matched by `allowUrls` option.\nEvent: " + utils_1.getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| return true; | ||
@@ -62,3 +62,2 @@ } | ||
| InboundFilters.prototype._isSentryError = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| if (!options.ignoreInternal) { | ||
@@ -81,3 +80,2 @@ return false; | ||
| InboundFilters.prototype._isIgnoredError = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| if (!options.ignoreErrors || !options.ignoreErrors.length) { | ||
@@ -92,20 +90,18 @@ return false; | ||
| /** JSDoc */ | ||
| InboundFilters.prototype._isBlacklistedUrl = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| InboundFilters.prototype._isDeniedUrl = function (event, options) { | ||
| // TODO: Use Glob instead? | ||
| if (!options.blacklistUrls || !options.blacklistUrls.length) { | ||
| if (!options.denyUrls || !options.denyUrls.length) { | ||
| return false; | ||
| } | ||
| var url = this._getEventFilterUrl(event); | ||
| return !url ? false : options.blacklistUrls.some(function (pattern) { return utils_1.isMatchingPattern(url, pattern); }); | ||
| return !url ? false : options.denyUrls.some(function (pattern) { return utils_1.isMatchingPattern(url, pattern); }); | ||
| }; | ||
| /** JSDoc */ | ||
| InboundFilters.prototype._isWhitelistedUrl = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| InboundFilters.prototype._isAllowedUrl = function (event, options) { | ||
| // TODO: Use Glob instead? | ||
| if (!options.whitelistUrls || !options.whitelistUrls.length) { | ||
| if (!options.allowUrls || !options.allowUrls.length) { | ||
| return true; | ||
| } | ||
| var url = this._getEventFilterUrl(event); | ||
| return !url ? true : options.whitelistUrls.some(function (pattern) { return utils_1.isMatchingPattern(url, pattern); }); | ||
| return !url ? true : options.allowUrls.some(function (pattern) { return utils_1.isMatchingPattern(url, pattern); }); | ||
| }; | ||
@@ -115,7 +111,8 @@ /** JSDoc */ | ||
| if (clientOptions === void 0) { clientOptions = {}; } | ||
| // tslint:disable:deprecation | ||
| return { | ||
| blacklistUrls: tslib_1.__spread((this._options.blacklistUrls || []), (clientOptions.blacklistUrls || [])), | ||
| allowUrls: tslib_1.__spread((this._options.whitelistUrls || []), (this._options.allowUrls || []), (clientOptions.whitelistUrls || []), (clientOptions.allowUrls || [])), | ||
| denyUrls: tslib_1.__spread((this._options.blacklistUrls || []), (this._options.denyUrls || []), (clientOptions.blacklistUrls || []), (clientOptions.denyUrls || [])), | ||
| ignoreErrors: tslib_1.__spread((this._options.ignoreErrors || []), (clientOptions.ignoreErrors || []), DEFAULT_IGNORE_ERRORS), | ||
| ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true, | ||
| whitelistUrls: tslib_1.__spread((this._options.whitelistUrls || []), (clientOptions.whitelistUrls || [])), | ||
| }; | ||
@@ -122,0 +119,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"inboundfilters.js","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":"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","sourcesContent":["import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Event, Integration } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** JSDoc */\ninterface InboundFiltersOptions {\n blacklistUrls?: Array<string | RegExp>;\n ignoreErrors?: Array<string | RegExp>;\n ignoreInternal?: boolean;\n whitelistUrls?: Array<string | RegExp>;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n public constructor(private readonly _options: InboundFiltersOptions = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n }\n\n /** JSDoc */\n private _shouldDropEvent(event: Event, options: InboundFiltersOptions): boolean {\n if (this._isSentryError(event, options)) {\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (this._isBlacklistedUrl(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`blacklistUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!this._isWhitelistedUrl(event, options)) {\n logger.warn(\n `Event dropped due to not being matched by \\`whitelistUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n }\n\n /** JSDoc */\n private _isSentryError(event: Event, options: InboundFiltersOptions = {}): boolean {\n if (!options.ignoreInternal) {\n return false;\n }\n\n try {\n return (\n (event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false\n );\n } catch (_oO) {\n return false;\n }\n }\n\n /** JSDoc */\n private _isIgnoredError(event: Event, options: InboundFiltersOptions = {}): boolean {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n\n return this._getPossibleEventMessages(event).some(message =>\n // Not sure why TypeScript complains here...\n (options.ignoreErrors as Array<RegExp | string>).some(pattern => isMatchingPattern(message, pattern)),\n );\n }\n\n /** JSDoc */\n private _isBlacklistedUrl(event: Event, options: InboundFiltersOptions = {}): boolean {\n // TODO: Use Glob instead?\n if (!options.blacklistUrls || !options.blacklistUrls.length) {\n return false;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? false : options.blacklistUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _isWhitelistedUrl(event: Event, options: InboundFiltersOptions = {}): boolean {\n // TODO: Use Glob instead?\n if (!options.whitelistUrls || !options.whitelistUrls.length) {\n return true;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? true : options.whitelistUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _mergeOptions(clientOptions: InboundFiltersOptions = {}): InboundFiltersOptions {\n return {\n blacklistUrls: [...(this._options.blacklistUrls || []), ...(clientOptions.blacklistUrls || [])],\n ignoreErrors: [\n ...(this._options.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n whitelistUrls: [...(this._options.whitelistUrls || []), ...(clientOptions.whitelistUrls || [])],\n };\n }\n\n /** JSDoc */\n private _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n }\n\n /** JSDoc */\n private _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n const frames = event.stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n if (event.exception) {\n const frames =\n event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n return null;\n } catch (oO) {\n logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n }\n}\n"]} | ||
| {"version":3,"file":"inboundfilters.js","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":";;AAAA,mCAAqE;AAErE,uCAA+E;AAE/E,6EAA6E;AAC7E,mFAAmF;AACnF,IAAM,qBAAqB,GAAG,CAAC,mBAAmB,EAAE,+CAA+C,CAAC,CAAC;AAerG,+CAA+C;AAC/C;IAUE,wBAAoC,QAA6C;QAA7C,yBAAA,EAAA,aAA6C;QAA7C,aAAQ,GAAR,QAAQ,CAAqC;QATjF;;WAEG;QACI,SAAI,GAAW,cAAc,CAAC,EAAE,CAAC;IAM4C,CAAC;IAErF;;OAEG;IACI,kCAAS,GAAhB;QACE,6BAAuB,CAAC,UAAC,KAAY;YACnC,IAAM,GAAG,GAAG,mBAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,KAAK,CAAC;aACd;YACD,IAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,IAAI,EAAE;gBACR,IAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC/B,IAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;oBACzC,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IACJ,yCAAgB,GAAxB,UAAyB,KAAY,EAAE,OAAuC;QAC5E,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACvC,cAAM,CAAC,IAAI,CAAC,+DAA6D,2BAAmB,CAAC,KAAK,CAAG,CAAC,CAAC;YACvG,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACxC,cAAM,CAAC,IAAI,CACT,0EAA0E,2BAAmB,CAAC,KAAK,CAAG,CACvG,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACrC,cAAM,CAAC,IAAI,CACT,sEAAsE,2BAAmB,CACvF,KAAK,CACN,gBAAW,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAG,CAC7C,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACvC,cAAM,CAAC,IAAI,CACT,2EAA2E,2BAAmB,CAC5F,KAAK,CACN,gBAAW,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAG,CAC7C,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;IACJ,uCAAc,GAAtB,UAAuB,KAAY,EAAE,OAAuC;QAC1E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,KAAK,CAAC;SACd;QAED,IAAI;YACF,OAAO,CACL,CAAC,KAAK;gBACJ,KAAK,CAAC,SAAS;gBACf,KAAK,CAAC,SAAS,CAAC,MAAM;gBACtB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;gBACnD,KAAK,CACN,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,YAAY;IACJ,wCAAe,GAAvB,UAAwB,KAAY,EAAE,OAAuC;QAC3E,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAA,OAAO;YACvD,4CAA4C;YAC5C,OAAC,OAAO,CAAC,YAAuC,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAA,yBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAnC,CAAmC,CAAC;QAArG,CAAqG,CACtG,CAAC;IACJ,CAAC;IAED,YAAY;IACJ,qCAAY,GAApB,UAAqB,KAAY,EAAE,OAAuC;QACxE,0BAA0B;QAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;YACjD,OAAO,KAAK,CAAC;SACd;QACD,IAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAA,yBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,EAA/B,CAA+B,CAAC,CAAC;IAC1F,CAAC;IAED,YAAY;IACJ,sCAAa,GAArB,UAAsB,KAAY,EAAE,OAAuC;QACzE,0BAA0B;QAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YACnD,OAAO,IAAI,CAAC;SACb;QACD,IAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAA,yBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,EAA/B,CAA+B,CAAC,CAAC;IAC1F,CAAC;IAED,YAAY;IACJ,sCAAa,GAArB,UAAsB,aAAkD;QAAlD,8BAAA,EAAA,kBAAkD;QACtE,6BAA6B;QAC7B,OAAO;YACL,SAAS,mBACJ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,EACnC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,EAC/B,CAAC,aAAa,CAAC,aAAa,IAAI,EAAE,CAAC,EACnC,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CACnC;YACD,QAAQ,mBACH,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,EACnC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAC9B,CAAC,aAAa,CAAC,aAAa,IAAI,EAAE,CAAC,EACnC,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAClC;YACD,YAAY,mBACP,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,EAClC,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC,EAClC,qBAAqB,CACzB;YACD,cAAc,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;SAC1G,CAAC;IACJ,CAAC;IAED,YAAY;IACJ,kDAAyB,GAAjC,UAAkC,KAAY;QAC5C,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACxB;QACD,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,IAAI;gBACI,IAAA,gEAAuF,EAArF,YAAS,EAAT,8BAAS,EAAE,aAAU,EAAV,+BAA0E,CAAC;gBAC9F,OAAO,CAAC,KAAG,KAAO,EAAK,IAAI,UAAK,KAAO,CAAC,CAAC;aAC1C;YAAC,OAAO,EAAE,EAAE;gBACX,cAAM,CAAC,KAAK,CAAC,sCAAoC,2BAAmB,CAAC,KAAK,CAAG,CAAC,CAAC;gBAC/E,OAAO,EAAE,CAAC;aACX;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY;IACJ,2CAAkB,GAA1B,UAA2B,KAAY;QACrC,IAAI;YACF,IAAI,KAAK,CAAC,UAAU,EAAE;gBACpB,IAAM,QAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvC,OAAO,CAAC,QAAM,IAAI,QAAM,CAAC,QAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;aAC/D;YACD,IAAI,KAAK,CAAC,SAAS,EAAE;gBACnB,IAAM,QAAM,GACV,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBAChH,OAAO,CAAC,QAAM,IAAI,QAAM,CAAC,QAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;aAC/D;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,EAAE,EAAE;YACX,cAAM,CAAC,KAAK,CAAC,kCAAgC,2BAAmB,CAAC,KAAK,CAAG,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IA3KD;;OAEG;IACW,iBAAE,GAAW,gBAAgB,CAAC;IAyK9C,qBAAC;CAAA,AAjLD,IAiLC;AAjLY,wCAAc","sourcesContent":["import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Event, Integration } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** JSDoc */\ninterface InboundFiltersOptions {\n allowUrls: Array<string | RegExp>;\n denyUrls: Array<string | RegExp>;\n ignoreErrors: Array<string | RegExp>;\n ignoreInternal: boolean;\n\n /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */\n whitelistUrls: Array<string | RegExp>;\n /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */\n blacklistUrls: Array<string | RegExp>;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n public constructor(private readonly _options: Partial<InboundFiltersOptions> = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n }\n\n /** JSDoc */\n private _shouldDropEvent(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n if (this._isSentryError(event, options)) {\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (this._isDeniedUrl(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!this._isAllowedUrl(event, options)) {\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n }\n\n /** JSDoc */\n private _isSentryError(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n if (!options.ignoreInternal) {\n return false;\n }\n\n try {\n return (\n (event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false\n );\n } catch (_oO) {\n return false;\n }\n }\n\n /** JSDoc */\n private _isIgnoredError(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n\n return this._getPossibleEventMessages(event).some(message =>\n // Not sure why TypeScript complains here...\n (options.ignoreErrors as Array<RegExp | string>).some(pattern => isMatchingPattern(message, pattern)),\n );\n }\n\n /** JSDoc */\n private _isDeniedUrl(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n // TODO: Use Glob instead?\n if (!options.denyUrls || !options.denyUrls.length) {\n return false;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? false : options.denyUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _isAllowedUrl(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n // TODO: Use Glob instead?\n if (!options.allowUrls || !options.allowUrls.length) {\n return true;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? true : options.allowUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _mergeOptions(clientOptions: Partial<InboundFiltersOptions> = {}): Partial<InboundFiltersOptions> {\n // tslint:disable:deprecation\n return {\n allowUrls: [\n ...(this._options.whitelistUrls || []),\n ...(this._options.allowUrls || []),\n ...(clientOptions.whitelistUrls || []),\n ...(clientOptions.allowUrls || []),\n ],\n denyUrls: [\n ...(this._options.blacklistUrls || []),\n ...(this._options.denyUrls || []),\n ...(clientOptions.blacklistUrls || []),\n ...(clientOptions.denyUrls || []),\n ],\n ignoreErrors: [\n ...(this._options.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n };\n }\n\n /** JSDoc */\n private _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n }\n\n /** JSDoc */\n private _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n const frames = event.stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n if (event.exception) {\n const frames =\n event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n return null;\n } catch (oO) {\n logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n }\n}\n"]} |
+1
-1
| export { addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, startTransaction, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, } from '@sentry/minimal'; | ||
| export { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, Scope } from '@sentry/hub'; | ||
| export { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, makeMain, Scope } from '@sentry/hub'; | ||
| export { API } from './api'; | ||
@@ -4,0 +4,0 @@ export { BaseClient } from './baseclient'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC"} |
+1
-1
| export { addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, startTransaction, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, } from '@sentry/minimal'; | ||
| export { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, Scope } from '@sentry/hub'; | ||
| export { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, makeMain, Scope } from '@sentry/hub'; | ||
| export { API } from './api'; | ||
@@ -4,0 +4,0 @@ export { BaseClient } from './baseclient'; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAgB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,WAAW,EAAe,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["export {\n addBreadcrumb,\n captureException,\n captureEvent,\n captureMessage,\n configureScope,\n startTransaction,\n setContext,\n setExtra,\n setExtras,\n setTag,\n setTags,\n setUser,\n withScope,\n} from '@sentry/minimal';\nexport { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, Scope } from '@sentry/hub';\nexport { API } from './api';\nexport { BaseClient } from './baseclient';\nexport { BackendClass, BaseBackend } from './basebackend';\nexport { eventToSentryRequest } from './request';\nexport { initAndBind, ClientClass } from './sdk';\nexport { NoopTransport } from './transports/noop';\n\nimport * as Integrations from './integrations';\n\nexport { Integrations };\n"]} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAgB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,WAAW,EAAe,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["export {\n addBreadcrumb,\n captureException,\n captureEvent,\n captureMessage,\n configureScope,\n startTransaction,\n setContext,\n setExtra,\n setExtras,\n setTag,\n setTags,\n setUser,\n withScope,\n} from '@sentry/minimal';\nexport { addGlobalEventProcessor, getCurrentHub, getHubFromCarrier, Hub, makeMain, Scope } from '@sentry/hub';\nexport { API } from './api';\nexport { BaseClient } from './baseclient';\nexport { BackendClass, BaseBackend } from './basebackend';\nexport { eventToSentryRequest } from './request';\nexport { initAndBind, ClientClass } from './sdk';\nexport { NoopTransport } from './transports/noop';\n\nimport * as Integrations from './integrations';\n\nexport { Integrations };\n"]} |
| import { Integration } from '@sentry/types'; | ||
| /** JSDoc */ | ||
| interface InboundFiltersOptions { | ||
| blacklistUrls?: Array<string | RegExp>; | ||
| ignoreErrors?: Array<string | RegExp>; | ||
| ignoreInternal?: boolean; | ||
| whitelistUrls?: Array<string | RegExp>; | ||
| allowUrls: Array<string | RegExp>; | ||
| denyUrls: Array<string | RegExp>; | ||
| ignoreErrors: Array<string | RegExp>; | ||
| ignoreInternal: boolean; | ||
| /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */ | ||
| whitelistUrls: Array<string | RegExp>; | ||
| /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */ | ||
| blacklistUrls: Array<string | RegExp>; | ||
| } | ||
@@ -20,3 +24,3 @@ /** Inbound filters configurable by the user */ | ||
| static id: string; | ||
| constructor(_options?: InboundFiltersOptions); | ||
| constructor(_options?: Partial<InboundFiltersOptions>); | ||
| /** | ||
@@ -33,5 +37,5 @@ * @inheritDoc | ||
| /** JSDoc */ | ||
| private _isBlacklistedUrl; | ||
| private _isDeniedUrl; | ||
| /** JSDoc */ | ||
| private _isWhitelistedUrl; | ||
| private _isAllowedUrl; | ||
| /** JSDoc */ | ||
@@ -38,0 +42,0 @@ private _mergeOptions; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"inboundfilters.d.ts","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,WAAW,EAAE,MAAM,eAAe,CAAC;AAOnD,YAAY;AACZ,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACxC;AAED,+CAA+C;AAC/C,qBAAa,cAAe,YAAW,WAAW;IAU7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT5C;;OAEG;IACI,IAAI,EAAE,MAAM,CAAqB;IACxC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAoB;gBAER,QAAQ,GAAE,qBAA0B;IAExE;;OAEG;IACI,SAAS,IAAI,IAAI;IAmBxB,YAAY;IACZ,OAAO,CAAC,gBAAgB;IA8BxB,YAAY;IACZ,OAAO,CAAC,cAAc;IAmBtB,YAAY;IACZ,OAAO,CAAC,eAAe;IAWvB,YAAY;IACZ,OAAO,CAAC,iBAAiB;IASzB,YAAY;IACZ,OAAO,CAAC,iBAAiB;IASzB,YAAY;IACZ,OAAO,CAAC,aAAa;IAarB,YAAY;IACZ,OAAO,CAAC,yBAAyB;IAgBjC,YAAY;IACZ,OAAO,CAAC,kBAAkB;CAiB3B"} | ||
| {"version":3,"file":"inboundfilters.d.ts","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,WAAW,EAAE,MAAM,eAAe,CAAC;AAOnD,YAAY;AACZ,UAAU,qBAAqB;IAC7B,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;IAExB,uEAAuE;IACvE,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,sEAAsE;IACtE,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACvC;AAED,+CAA+C;AAC/C,qBAAa,cAAe,YAAW,WAAW;IAU7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT5C;;OAEG;IACI,IAAI,EAAE,MAAM,CAAqB;IACxC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAoB;gBAER,QAAQ,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAEjF;;OAEG;IACI,SAAS,IAAI,IAAI;IAmBxB,YAAY;IACZ,OAAO,CAAC,gBAAgB;IA8BxB,YAAY;IACZ,OAAO,CAAC,cAAc;IAmBtB,YAAY;IACZ,OAAO,CAAC,eAAe;IAWvB,YAAY;IACZ,OAAO,CAAC,YAAY;IASpB,YAAY;IACZ,OAAO,CAAC,aAAa;IASrB,YAAY;IACZ,OAAO,CAAC,aAAa;IAwBrB,YAAY;IACZ,OAAO,CAAC,yBAAyB;IAgBjC,YAAY;IACZ,OAAO,CAAC,kBAAkB;CAiB3B"} |
@@ -48,8 +48,8 @@ import * as tslib_1 from "tslib"; | ||
| } | ||
| if (this._isBlacklistedUrl(event, options)) { | ||
| logger.warn("Event dropped due to being matched by `blacklistUrls` option.\nEvent: " + getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| if (this._isDeniedUrl(event, options)) { | ||
| logger.warn("Event dropped due to being matched by `denyUrls` option.\nEvent: " + getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| return true; | ||
| } | ||
| if (!this._isWhitelistedUrl(event, options)) { | ||
| logger.warn("Event dropped due to not being matched by `whitelistUrls` option.\nEvent: " + getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| if (!this._isAllowedUrl(event, options)) { | ||
| logger.warn("Event dropped due to not being matched by `allowUrls` option.\nEvent: " + getEventDescription(event) + ".\nUrl: " + this._getEventFilterUrl(event)); | ||
| return true; | ||
@@ -61,3 +61,2 @@ } | ||
| InboundFilters.prototype._isSentryError = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| if (!options.ignoreInternal) { | ||
@@ -80,3 +79,2 @@ return false; | ||
| InboundFilters.prototype._isIgnoredError = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| if (!options.ignoreErrors || !options.ignoreErrors.length) { | ||
@@ -91,20 +89,18 @@ return false; | ||
| /** JSDoc */ | ||
| InboundFilters.prototype._isBlacklistedUrl = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| InboundFilters.prototype._isDeniedUrl = function (event, options) { | ||
| // TODO: Use Glob instead? | ||
| if (!options.blacklistUrls || !options.blacklistUrls.length) { | ||
| if (!options.denyUrls || !options.denyUrls.length) { | ||
| return false; | ||
| } | ||
| var url = this._getEventFilterUrl(event); | ||
| return !url ? false : options.blacklistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); }); | ||
| return !url ? false : options.denyUrls.some(function (pattern) { return isMatchingPattern(url, pattern); }); | ||
| }; | ||
| /** JSDoc */ | ||
| InboundFilters.prototype._isWhitelistedUrl = function (event, options) { | ||
| if (options === void 0) { options = {}; } | ||
| InboundFilters.prototype._isAllowedUrl = function (event, options) { | ||
| // TODO: Use Glob instead? | ||
| if (!options.whitelistUrls || !options.whitelistUrls.length) { | ||
| if (!options.allowUrls || !options.allowUrls.length) { | ||
| return true; | ||
| } | ||
| var url = this._getEventFilterUrl(event); | ||
| return !url ? true : options.whitelistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); }); | ||
| return !url ? true : options.allowUrls.some(function (pattern) { return isMatchingPattern(url, pattern); }); | ||
| }; | ||
@@ -114,7 +110,8 @@ /** JSDoc */ | ||
| if (clientOptions === void 0) { clientOptions = {}; } | ||
| // tslint:disable:deprecation | ||
| return { | ||
| blacklistUrls: tslib_1.__spread((this._options.blacklistUrls || []), (clientOptions.blacklistUrls || [])), | ||
| allowUrls: tslib_1.__spread((this._options.whitelistUrls || []), (this._options.allowUrls || []), (clientOptions.whitelistUrls || []), (clientOptions.allowUrls || [])), | ||
| denyUrls: tslib_1.__spread((this._options.blacklistUrls || []), (this._options.denyUrls || []), (clientOptions.blacklistUrls || []), (clientOptions.denyUrls || [])), | ||
| ignoreErrors: tslib_1.__spread((this._options.ignoreErrors || []), (clientOptions.ignoreErrors || []), DEFAULT_IGNORE_ERRORS), | ||
| ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true, | ||
| whitelistUrls: tslib_1.__spread((this._options.whitelistUrls || []), (clientOptions.whitelistUrls || [])), | ||
| }; | ||
@@ -121,0 +118,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"inboundfilters.js","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":"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","sourcesContent":["import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Event, Integration } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** JSDoc */\ninterface InboundFiltersOptions {\n blacklistUrls?: Array<string | RegExp>;\n ignoreErrors?: Array<string | RegExp>;\n ignoreInternal?: boolean;\n whitelistUrls?: Array<string | RegExp>;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n public constructor(private readonly _options: InboundFiltersOptions = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n }\n\n /** JSDoc */\n private _shouldDropEvent(event: Event, options: InboundFiltersOptions): boolean {\n if (this._isSentryError(event, options)) {\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (this._isBlacklistedUrl(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`blacklistUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!this._isWhitelistedUrl(event, options)) {\n logger.warn(\n `Event dropped due to not being matched by \\`whitelistUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n }\n\n /** JSDoc */\n private _isSentryError(event: Event, options: InboundFiltersOptions = {}): boolean {\n if (!options.ignoreInternal) {\n return false;\n }\n\n try {\n return (\n (event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false\n );\n } catch (_oO) {\n return false;\n }\n }\n\n /** JSDoc */\n private _isIgnoredError(event: Event, options: InboundFiltersOptions = {}): boolean {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n\n return this._getPossibleEventMessages(event).some(message =>\n // Not sure why TypeScript complains here...\n (options.ignoreErrors as Array<RegExp | string>).some(pattern => isMatchingPattern(message, pattern)),\n );\n }\n\n /** JSDoc */\n private _isBlacklistedUrl(event: Event, options: InboundFiltersOptions = {}): boolean {\n // TODO: Use Glob instead?\n if (!options.blacklistUrls || !options.blacklistUrls.length) {\n return false;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? false : options.blacklistUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _isWhitelistedUrl(event: Event, options: InboundFiltersOptions = {}): boolean {\n // TODO: Use Glob instead?\n if (!options.whitelistUrls || !options.whitelistUrls.length) {\n return true;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? true : options.whitelistUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _mergeOptions(clientOptions: InboundFiltersOptions = {}): InboundFiltersOptions {\n return {\n blacklistUrls: [...(this._options.blacklistUrls || []), ...(clientOptions.blacklistUrls || [])],\n ignoreErrors: [\n ...(this._options.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n whitelistUrls: [...(this._options.whitelistUrls || []), ...(clientOptions.whitelistUrls || [])],\n };\n }\n\n /** JSDoc */\n private _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n }\n\n /** JSDoc */\n private _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n const frames = event.stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n if (event.exception) {\n const frames =\n event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n return null;\n } catch (oO) {\n logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n }\n}\n"]} | ||
| {"version":3,"file":"inboundfilters.js","sourceRoot":"","sources":["../../src/integrations/inboundfilters.ts"],"names":[],"mappings":"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","sourcesContent":["import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Event, Integration } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** JSDoc */\ninterface InboundFiltersOptions {\n allowUrls: Array<string | RegExp>;\n denyUrls: Array<string | RegExp>;\n ignoreErrors: Array<string | RegExp>;\n ignoreInternal: boolean;\n\n /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */\n whitelistUrls: Array<string | RegExp>;\n /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */\n blacklistUrls: Array<string | RegExp>;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n public constructor(private readonly _options: Partial<InboundFiltersOptions> = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n }\n\n /** JSDoc */\n private _shouldDropEvent(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n if (this._isSentryError(event, options)) {\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (this._isDeniedUrl(event, options)) {\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!this._isAllowedUrl(event, options)) {\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${this._getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n }\n\n /** JSDoc */\n private _isSentryError(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n if (!options.ignoreInternal) {\n return false;\n }\n\n try {\n return (\n (event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false\n );\n } catch (_oO) {\n return false;\n }\n }\n\n /** JSDoc */\n private _isIgnoredError(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n\n return this._getPossibleEventMessages(event).some(message =>\n // Not sure why TypeScript complains here...\n (options.ignoreErrors as Array<RegExp | string>).some(pattern => isMatchingPattern(message, pattern)),\n );\n }\n\n /** JSDoc */\n private _isDeniedUrl(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n // TODO: Use Glob instead?\n if (!options.denyUrls || !options.denyUrls.length) {\n return false;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? false : options.denyUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _isAllowedUrl(event: Event, options: Partial<InboundFiltersOptions>): boolean {\n // TODO: Use Glob instead?\n if (!options.allowUrls || !options.allowUrls.length) {\n return true;\n }\n const url = this._getEventFilterUrl(event);\n return !url ? true : options.allowUrls.some(pattern => isMatchingPattern(url, pattern));\n }\n\n /** JSDoc */\n private _mergeOptions(clientOptions: Partial<InboundFiltersOptions> = {}): Partial<InboundFiltersOptions> {\n // tslint:disable:deprecation\n return {\n allowUrls: [\n ...(this._options.whitelistUrls || []),\n ...(this._options.allowUrls || []),\n ...(clientOptions.whitelistUrls || []),\n ...(clientOptions.allowUrls || []),\n ],\n denyUrls: [\n ...(this._options.blacklistUrls || []),\n ...(this._options.denyUrls || []),\n ...(clientOptions.blacklistUrls || []),\n ...(clientOptions.denyUrls || []),\n ],\n ignoreErrors: [\n ...(this._options.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n };\n }\n\n /** JSDoc */\n private _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n }\n\n /** JSDoc */\n private _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n const frames = event.stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n if (event.exception) {\n const frames =\n event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames && frames[frames.length - 1].filename) || null;\n }\n return null;\n } catch (oO) {\n logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n }\n}\n"]} |
+5
-5
| { | ||
| "name": "@sentry/core", | ||
| "version": "5.17.0", | ||
| "version": "5.18.0", | ||
| "description": "Base implementation for all Sentry JavaScript SDKs", | ||
@@ -19,6 +19,6 @@ "repository": "git://github.com/getsentry/sentry-javascript.git", | ||
| "dependencies": { | ||
| "@sentry/hub": "5.17.0", | ||
| "@sentry/minimal": "5.17.0", | ||
| "@sentry/types": "5.17.0", | ||
| "@sentry/utils": "5.17.0", | ||
| "@sentry/hub": "5.18.0", | ||
| "@sentry/minimal": "5.18.0", | ||
| "@sentry/types": "5.18.0", | ||
| "@sentry/utils": "5.18.0", | ||
| "tslib": "^1.9.3" | ||
@@ -25,0 +25,0 @@ }, |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
259818
0.7%2699
0.11%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated