@sentry/browser 7.0.0-beta.0 → 7.0.0-rc.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/README.md +2 -3
- package/cjs/client.js +125 -102
- package/cjs/client.js.map +1 -1
- package/cjs/eventbuilder.js +225 -165
- package/cjs/eventbuilder.js.map +1 -1
- package/cjs/exports.js +55 -59
- package/cjs/exports.js.map +1 -1
- package/cjs/flags.js +7 -3
- package/cjs/flags.js.map +1 -1
- package/cjs/helpers.js +125 -97
- package/cjs/helpers.js.map +1 -1
- package/cjs/index.js +77 -10
- package/cjs/index.js.map +1 -1
- package/cjs/integrations/breadcrumbs.js +222 -174
- package/cjs/integrations/breadcrumbs.js.map +1 -1
- package/cjs/integrations/dedupe.js +184 -142
- package/cjs/integrations/dedupe.js.map +1 -1
- package/cjs/integrations/globalhandlers.js +211 -170
- package/cjs/integrations/globalhandlers.js.map +1 -1
- package/cjs/integrations/httpcontext.js +51 -0
- package/cjs/integrations/httpcontext.js.map +1 -0
- package/cjs/integrations/index.js +18 -14
- package/cjs/integrations/index.js.map +1 -1
- package/cjs/integrations/linkederrors.js +81 -50
- package/cjs/integrations/linkederrors.js.map +1 -1
- package/cjs/integrations/trycatch.js +252 -208
- package/cjs/integrations/trycatch.js.map +1 -1
- package/cjs/sdk.js +166 -125
- package/cjs/sdk.js.map +1 -1
- package/cjs/stack-parsers.js +143 -93
- package/cjs/stack-parsers.js.map +1 -1
- package/cjs/transports/fetch.js +30 -15
- package/cjs/transports/fetch.js.map +1 -1
- package/cjs/transports/index.js +10 -6
- package/cjs/transports/index.js.map +1 -1
- package/cjs/transports/utils.js +56 -52
- package/cjs/transports/utils.js.map +1 -1
- package/cjs/transports/xhr.js +40 -30
- package/cjs/transports/xhr.js.map +1 -1
- package/esm/client.js +124 -101
- package/esm/client.js.map +1 -1
- package/esm/eventbuilder.js +218 -158
- package/esm/eventbuilder.js.map +1 -1
- package/esm/exports.js +12 -8
- package/esm/exports.js.map +1 -1
- package/esm/flags.js +5 -2
- package/esm/flags.js.map +1 -1
- package/esm/helpers.js +124 -96
- package/esm/helpers.js.map +1 -1
- package/esm/index.js +27 -7
- package/esm/index.js.map +1 -1
- package/esm/integrations/breadcrumbs.js +218 -171
- package/esm/integrations/breadcrumbs.js.map +1 -1
- package/esm/integrations/dedupe.js +181 -139
- package/esm/integrations/dedupe.js.map +1 -1
- package/esm/integrations/globalhandlers.js +208 -167
- package/esm/integrations/globalhandlers.js.map +1 -1
- package/esm/integrations/httpcontext.js +49 -0
- package/esm/integrations/httpcontext.js.map +1 -0
- package/esm/integrations/index.js +7 -7
- package/esm/integrations/index.js.map +1 -1
- package/esm/integrations/linkederrors.js +77 -46
- package/esm/integrations/linkederrors.js.map +1 -1
- package/esm/integrations/trycatch.js +249 -205
- package/esm/integrations/trycatch.js.map +1 -1
- package/esm/sdk.js +163 -123
- package/esm/sdk.js.map +1 -1
- package/esm/stack-parsers.js +134 -91
- package/esm/stack-parsers.js.map +1 -1
- package/esm/transports/fetch.js +28 -13
- package/esm/transports/fetch.js.map +1 -1
- package/esm/transports/index.js +3 -3
- package/esm/transports/index.js.map +1 -1
- package/esm/transports/utils.js +55 -51
- package/esm/transports/utils.js.map +1 -1
- package/esm/transports/xhr.js +38 -28
- package/esm/transports/xhr.js.map +1 -1
- package/package.json +4 -4
- package/types/client.d.ts +5 -4
- package/types/client.d.ts.map +1 -1
- package/types/exports.d.ts +3 -4
- package/types/exports.d.ts.map +1 -1
- package/types/helpers.d.ts +2 -1
- package/types/helpers.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/integrations/{useragent.d.ts → httpcontext.d.ts} +3 -3
- package/types/integrations/httpcontext.d.ts.map +1 -0
- package/types/integrations/index.d.ts +1 -1
- package/types/integrations/index.d.ts.map +1 -1
- package/types/sdk.d.ts +2 -2
- package/types/sdk.d.ts.map +1 -1
- package/types/transports/fetch.d.ts +3 -5
- package/types/transports/fetch.d.ts.map +1 -1
- package/types/transports/types.d.ts +10 -0
- package/types/transports/types.d.ts.map +1 -0
- package/types/transports/utils.d.ts +1 -1
- package/types/transports/utils.d.ts.map +1 -1
- package/types/transports/xhr.d.ts +3 -7
- package/types/transports/xhr.d.ts.map +1 -1
- package/cjs/client.d.ts +0 -63
- package/cjs/client.d.ts.map +0 -1
- package/cjs/eventbuilder.d.ts +0 -37
- package/cjs/eventbuilder.d.ts.map +0 -1
- package/cjs/exports.d.ts +0 -11
- package/cjs/exports.d.ts.map +0 -1
- package/cjs/flags.d.ts +0 -3
- package/cjs/flags.d.ts.map +0 -1
- package/cjs/helpers.d.ts +0 -47
- package/cjs/helpers.d.ts.map +0 -1
- package/cjs/index.d.ts +0 -15
- package/cjs/index.d.ts.map +0 -1
- package/cjs/integrations/breadcrumbs.d.ts +0 -46
- package/cjs/integrations/breadcrumbs.d.ts.map +0 -1
- package/cjs/integrations/dedupe.d.ts +0 -21
- package/cjs/integrations/dedupe.d.ts.map +0 -1
- package/cjs/integrations/globalhandlers.d.ts +0 -30
- package/cjs/integrations/globalhandlers.d.ts.map +0 -1
- package/cjs/integrations/index.d.ts +0 -7
- package/cjs/integrations/index.d.ts.map +0 -1
- package/cjs/integrations/linkederrors.d.ts +0 -42
- package/cjs/integrations/linkederrors.d.ts.map +0 -1
- package/cjs/integrations/trycatch.d.ts +0 -33
- package/cjs/integrations/trycatch.d.ts.map +0 -1
- package/cjs/integrations/useragent.d.ts +0 -17
- package/cjs/integrations/useragent.d.ts.map +0 -1
- package/cjs/integrations/useragent.js +0 -40
- package/cjs/integrations/useragent.js.map +0 -1
- package/cjs/sdk.d.ts +0 -112
- package/cjs/sdk.d.ts.map +0 -1
- package/cjs/stack-parsers.d.ts +0 -9
- package/cjs/stack-parsers.d.ts.map +0 -1
- package/cjs/transports/fetch.d.ts +0 -10
- package/cjs/transports/fetch.d.ts.map +0 -1
- package/cjs/transports/index.d.ts +0 -3
- package/cjs/transports/index.d.ts.map +0 -1
- package/cjs/transports/utils.d.ts +0 -48
- package/cjs/transports/utils.d.ts.map +0 -1
- package/cjs/transports/xhr.d.ts +0 -11
- package/cjs/transports/xhr.d.ts.map +0 -1
- package/cjs/version.d.ts +0 -2
- package/cjs/version.d.ts.map +0 -1
- package/cjs/version.js +0 -4
- package/cjs/version.js.map +0 -1
- package/esm/client.d.ts +0 -63
- package/esm/client.d.ts.map +0 -1
- package/esm/eventbuilder.d.ts +0 -37
- package/esm/eventbuilder.d.ts.map +0 -1
- package/esm/exports.d.ts +0 -11
- package/esm/exports.d.ts.map +0 -1
- package/esm/flags.d.ts +0 -3
- package/esm/flags.d.ts.map +0 -1
- package/esm/helpers.d.ts +0 -47
- package/esm/helpers.d.ts.map +0 -1
- package/esm/index.d.ts +0 -15
- package/esm/index.d.ts.map +0 -1
- package/esm/integrations/breadcrumbs.d.ts +0 -46
- package/esm/integrations/breadcrumbs.d.ts.map +0 -1
- package/esm/integrations/dedupe.d.ts +0 -21
- package/esm/integrations/dedupe.d.ts.map +0 -1
- package/esm/integrations/globalhandlers.d.ts +0 -30
- package/esm/integrations/globalhandlers.d.ts.map +0 -1
- package/esm/integrations/index.d.ts +0 -7
- package/esm/integrations/index.d.ts.map +0 -1
- package/esm/integrations/linkederrors.d.ts +0 -42
- package/esm/integrations/linkederrors.d.ts.map +0 -1
- package/esm/integrations/trycatch.d.ts +0 -33
- package/esm/integrations/trycatch.d.ts.map +0 -1
- package/esm/integrations/useragent.d.ts +0 -17
- package/esm/integrations/useragent.d.ts.map +0 -1
- package/esm/integrations/useragent.js +0 -38
- package/esm/integrations/useragent.js.map +0 -1
- package/esm/sdk.d.ts +0 -112
- package/esm/sdk.d.ts.map +0 -1
- package/esm/stack-parsers.d.ts +0 -9
- package/esm/stack-parsers.d.ts.map +0 -1
- package/esm/transports/fetch.d.ts +0 -10
- package/esm/transports/fetch.d.ts.map +0 -1
- package/esm/transports/index.d.ts +0 -3
- package/esm/transports/index.d.ts.map +0 -1
- package/esm/transports/utils.d.ts +0 -48
- package/esm/transports/utils.d.ts.map +0 -1
- package/esm/transports/xhr.d.ts +0 -11
- package/esm/transports/xhr.d.ts.map +0 -1
- package/esm/version.d.ts +0 -2
- package/esm/version.d.ts.map +0 -1
- package/esm/version.js +0 -3
- package/esm/version.js.map +0 -1
- package/types/integrations/useragent.d.ts.map +0 -1
- package/types/version.d.ts +0 -2
- package/types/version.d.ts.map +0 -1
package/cjs/flags.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking
|
|
3
5
|
* for users.
|
|
@@ -11,7 +13,9 @@
|
|
|
11
13
|
* our, or the user's build process. Take care when introducing new flags - they must not throw if they are not
|
|
12
14
|
* replaced.
|
|
13
15
|
*/
|
|
14
|
-
|
|
16
|
+
|
|
15
17
|
/** Flag that is true for debug builds, false otherwise. */
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
var IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;
|
|
19
|
+
|
|
20
|
+
exports.IS_DEBUG_BUILD = IS_DEBUG_BUILD;
|
|
21
|
+
//# sourceMappingURL=flags.js.map
|
package/cjs/flags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","
|
|
1
|
+
{"version":3,"file":"flags.js","sources":["../../../src/flags.ts"],"sourcesContent":["/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;;;;;"}
|
package/cjs/helpers.js
CHANGED
|
@@ -1,122 +1,150 @@
|
|
|
1
|
-
Object.defineProperty(exports,
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
+
|
|
3
|
+
var core = require('@sentry/core');
|
|
4
|
+
var utils = require('@sentry/utils');
|
|
5
|
+
|
|
4
6
|
let ignoreOnError = 0;
|
|
7
|
+
|
|
5
8
|
/**
|
|
6
9
|
* @hidden
|
|
7
10
|
*/
|
|
8
11
|
function shouldIgnoreOnError() {
|
|
9
|
-
|
|
12
|
+
return ignoreOnError > 0;
|
|
10
13
|
}
|
|
11
|
-
|
|
14
|
+
|
|
12
15
|
/**
|
|
13
16
|
* @hidden
|
|
14
17
|
*/
|
|
15
18
|
function ignoreNextOnError() {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
// onerror should trigger before setTimeout
|
|
20
|
+
ignoreOnError += 1;
|
|
21
|
+
setTimeout(() => {
|
|
22
|
+
ignoreOnError -= 1;
|
|
23
|
+
});
|
|
21
24
|
}
|
|
22
|
-
|
|
25
|
+
|
|
23
26
|
/**
|
|
24
27
|
* Instruments the given function and sends an event to Sentry every time the
|
|
25
28
|
* function throws an exception.
|
|
26
29
|
*
|
|
27
|
-
* @param fn A function to wrap.
|
|
30
|
+
* @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always
|
|
31
|
+
* has a correct `this` context.
|
|
28
32
|
* @returns The wrapped function.
|
|
29
33
|
* @hidden
|
|
30
34
|
*/
|
|
31
|
-
function wrap(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
function wrap(
|
|
36
|
+
fn,
|
|
37
|
+
options
|
|
38
|
+
|
|
39
|
+
= {},
|
|
40
|
+
before,
|
|
41
|
+
) {
|
|
42
|
+
// for future readers what this does is wrap a function and then create
|
|
43
|
+
// a bi-directional wrapping between them.
|
|
44
|
+
//
|
|
45
|
+
// example: wrapped = wrap(original);
|
|
46
|
+
// original.__sentry_wrapped__ -> wrapped
|
|
47
|
+
// wrapped.__sentry_original__ -> original
|
|
48
|
+
|
|
49
|
+
if (typeof fn !== 'function') {
|
|
50
|
+
return fn;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
try {
|
|
54
|
+
// if we're dealing with a function that was previously wrapped, return
|
|
55
|
+
// the original wrapper.
|
|
56
|
+
var wrapper = fn.__sentry_wrapped__;
|
|
57
|
+
if (wrapper) {
|
|
58
|
+
return wrapper;
|
|
40
59
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (wrapper) {
|
|
46
|
-
return wrapper;
|
|
47
|
-
}
|
|
48
|
-
// We don't wanna wrap it twice
|
|
49
|
-
if (utils_1.getOriginalFunction(fn)) {
|
|
50
|
-
return fn;
|
|
51
|
-
}
|
|
60
|
+
|
|
61
|
+
// We don't wanna wrap it twice
|
|
62
|
+
if (utils.getOriginalFunction(fn)) {
|
|
63
|
+
return fn;
|
|
52
64
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (before && typeof before === 'function') {
|
|
65
|
-
before.apply(this, arguments);
|
|
66
|
-
}
|
|
67
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
|
|
68
|
-
const wrappedArguments = args.map((arg) => wrap(arg, options));
|
|
69
|
-
// Attempt to invoke user-land function
|
|
70
|
-
// NOTE: If you are a Sentry user, and you are seeing this stack frame, it
|
|
71
|
-
// means the sentry.javascript SDK caught an error invoking your application code. This
|
|
72
|
-
// is expected behavior and NOT indicative of a bug with sentry.javascript.
|
|
73
|
-
return fn.apply(this, wrappedArguments);
|
|
74
|
-
}
|
|
75
|
-
catch (ex) {
|
|
76
|
-
ignoreNextOnError();
|
|
77
|
-
core_1.withScope((scope) => {
|
|
78
|
-
scope.addEventProcessor((event) => {
|
|
79
|
-
if (options.mechanism) {
|
|
80
|
-
utils_1.addExceptionTypeValue(event, undefined, undefined);
|
|
81
|
-
utils_1.addExceptionMechanism(event, options.mechanism);
|
|
82
|
-
}
|
|
83
|
-
event.extra = Object.assign(Object.assign({}, event.extra), { arguments: args });
|
|
84
|
-
return event;
|
|
85
|
-
});
|
|
86
|
-
core_1.captureException(ex);
|
|
87
|
-
});
|
|
88
|
-
throw ex;
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
/* eslint-enable prefer-rest-params */
|
|
92
|
-
// Accessing some objects may throw
|
|
93
|
-
// ref: https://github.com/getsentry/sentry-javascript/issues/1168
|
|
65
|
+
} catch (e) {
|
|
66
|
+
// Just accessing custom props in some Selenium environments
|
|
67
|
+
// can cause a "Permission denied" exception (see raven-js#495).
|
|
68
|
+
// Bail on wrapping and return the function as-is (defers to window.onerror).
|
|
69
|
+
return fn;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`
|
|
73
|
+
var sentryWrapped = function () {
|
|
74
|
+
var args = Array.prototype.slice.call(arguments);
|
|
75
|
+
|
|
94
76
|
try {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
77
|
+
if (before && typeof before === 'function') {
|
|
78
|
+
before.apply(this, arguments);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
var wrappedArguments = args.map((arg) => wrap(arg, options));
|
|
82
|
+
|
|
83
|
+
// Attempt to invoke user-land function
|
|
84
|
+
// NOTE: If you are a Sentry user, and you are seeing this stack frame, it
|
|
85
|
+
// means the sentry.javascript SDK caught an error invoking your application code. This
|
|
86
|
+
// is expected behavior and NOT indicative of a bug with sentry.javascript.
|
|
87
|
+
return fn.apply(this, wrappedArguments);
|
|
88
|
+
} catch (ex) {
|
|
89
|
+
ignoreNextOnError();
|
|
90
|
+
|
|
91
|
+
core.withScope((scope) => {
|
|
92
|
+
scope.addEventProcessor((event) => {
|
|
93
|
+
if (options.mechanism) {
|
|
94
|
+
utils.addExceptionTypeValue(event, undefined, undefined);
|
|
95
|
+
utils.addExceptionMechanism(event, options.mechanism);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
event.extra = {
|
|
99
|
+
...event.extra,
|
|
100
|
+
arguments: args,
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
return event;
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
core.captureException(ex);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
throw ex;
|
|
100
110
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
Object.defineProperty(sentryWrapped, 'name', {
|
|
111
|
-
get() {
|
|
112
|
-
return fn.name;
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
// eslint-disable-next-line no-empty
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
// Accessing some objects may throw
|
|
114
|
+
// ref: https://github.com/getsentry/sentry-javascript/issues/1168
|
|
115
|
+
try {
|
|
116
|
+
for (var property in fn) {
|
|
117
|
+
if (Object.prototype.hasOwnProperty.call(fn, property)) {
|
|
118
|
+
sentryWrapped[property] = fn[property];
|
|
119
|
+
}
|
|
117
120
|
}
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
} catch (_oO) {}
|
|
122
|
+
// Signal that this function has been wrapped/filled already
|
|
123
|
+
// for both debugging and to prevent it to being wrapped/filled twice
|
|
124
|
+
utils.markFunctionWrapped(sentryWrapped, fn);
|
|
125
|
+
|
|
126
|
+
utils.addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);
|
|
127
|
+
|
|
128
|
+
// Restore original function name (not all browsers allow that)
|
|
129
|
+
try {
|
|
130
|
+
var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') ;
|
|
131
|
+
if (descriptor.configurable) {
|
|
132
|
+
Object.defineProperty(sentryWrapped, 'name', {
|
|
133
|
+
get() {
|
|
134
|
+
return fn.name;
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
} catch (_oO) {}
|
|
139
|
+
|
|
140
|
+
return sentryWrapped;
|
|
120
141
|
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* All properties the report dialog supports
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
exports.ignoreNextOnError = ignoreNextOnError;
|
|
148
|
+
exports.shouldIgnoreOnError = shouldIgnoreOnError;
|
|
121
149
|
exports.wrap = wrap;
|
|
122
|
-
//# sourceMappingURL=helpers.js.map
|
|
150
|
+
//# sourceMappingURL=helpers.js.map
|
package/cjs/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../src/helpers.ts"],"sourcesContent":["import { captureException, withScope } from '@sentry/core';\nimport { DsnLike, Event as SentryEvent, Mechanism, Scope, WrappedFunction } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getOriginalFunction,\n markFunctionWrapped,\n} from '@sentry/utils';\n\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n const sentryWrapped: WrappedFunction = function (this: unknown): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope: Scope) => {\n scope.addEventProcessor((event: SentryEvent) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n"],"names":[],"mappings":";;;;;AAUA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
|
package/cjs/index.js
CHANGED
|
@@ -1,15 +1,82 @@
|
|
|
1
|
-
Object.defineProperty(exports,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
+
|
|
3
|
+
require('./exports.js');
|
|
4
|
+
var core = require('@sentry/core');
|
|
5
|
+
var utils = require('@sentry/utils');
|
|
6
|
+
var index = require('./integrations/index.js');
|
|
7
|
+
var client = require('./client.js');
|
|
8
|
+
var fetch = require('./transports/fetch.js');
|
|
9
|
+
var xhr = require('./transports/xhr.js');
|
|
10
|
+
var stackParsers = require('./stack-parsers.js');
|
|
11
|
+
var sdk = require('./sdk.js');
|
|
12
|
+
var globalhandlers = require('./integrations/globalhandlers.js');
|
|
13
|
+
var trycatch = require('./integrations/trycatch.js');
|
|
14
|
+
var breadcrumbs = require('./integrations/breadcrumbs.js');
|
|
15
|
+
var linkederrors = require('./integrations/linkederrors.js');
|
|
16
|
+
var httpcontext = require('./integrations/httpcontext.js');
|
|
17
|
+
var dedupe = require('./integrations/dedupe.js');
|
|
18
|
+
|
|
7
19
|
let windowIntegrations = {};
|
|
20
|
+
|
|
8
21
|
// This block is needed to add compatibility with the integrations packages when used with a CDN
|
|
9
|
-
|
|
22
|
+
var _window = utils.getGlobalObject();
|
|
10
23
|
if (_window.Sentry && _window.Sentry.Integrations) {
|
|
11
|
-
|
|
24
|
+
windowIntegrations = _window.Sentry.Integrations;
|
|
12
25
|
}
|
|
13
|
-
|
|
26
|
+
|
|
27
|
+
var INTEGRATIONS = {
|
|
28
|
+
...windowIntegrations,
|
|
29
|
+
...core.Integrations,
|
|
30
|
+
...index,
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.FunctionToString = core.FunctionToString;
|
|
34
|
+
exports.Hub = core.Hub;
|
|
35
|
+
exports.InboundFilters = core.InboundFilters;
|
|
36
|
+
exports.SDK_VERSION = core.SDK_VERSION;
|
|
37
|
+
exports.Scope = core.Scope;
|
|
38
|
+
exports.addBreadcrumb = core.addBreadcrumb;
|
|
39
|
+
exports.addGlobalEventProcessor = core.addGlobalEventProcessor;
|
|
40
|
+
exports.captureEvent = core.captureEvent;
|
|
41
|
+
exports.captureException = core.captureException;
|
|
42
|
+
exports.captureMessage = core.captureMessage;
|
|
43
|
+
exports.configureScope = core.configureScope;
|
|
44
|
+
exports.createTransport = core.createTransport;
|
|
45
|
+
exports.getCurrentHub = core.getCurrentHub;
|
|
46
|
+
exports.getHubFromCarrier = core.getHubFromCarrier;
|
|
47
|
+
exports.makeMain = core.makeMain;
|
|
48
|
+
exports.setContext = core.setContext;
|
|
49
|
+
exports.setExtra = core.setExtra;
|
|
50
|
+
exports.setExtras = core.setExtras;
|
|
51
|
+
exports.setTag = core.setTag;
|
|
52
|
+
exports.setTags = core.setTags;
|
|
53
|
+
exports.setUser = core.setUser;
|
|
54
|
+
exports.startTransaction = core.startTransaction;
|
|
55
|
+
exports.withScope = core.withScope;
|
|
56
|
+
exports.BrowserClient = client.BrowserClient;
|
|
57
|
+
exports.makeFetchTransport = fetch.makeFetchTransport;
|
|
58
|
+
exports.makeXHRTransport = xhr.makeXHRTransport;
|
|
59
|
+
exports.chromeStackLineParser = stackParsers.chromeStackLineParser;
|
|
60
|
+
exports.defaultStackLineParsers = stackParsers.defaultStackLineParsers;
|
|
61
|
+
exports.defaultStackParser = stackParsers.defaultStackParser;
|
|
62
|
+
exports.geckoStackLineParser = stackParsers.geckoStackLineParser;
|
|
63
|
+
exports.opera10StackLineParser = stackParsers.opera10StackLineParser;
|
|
64
|
+
exports.opera11StackLineParser = stackParsers.opera11StackLineParser;
|
|
65
|
+
exports.winjsStackLineParser = stackParsers.winjsStackLineParser;
|
|
66
|
+
exports.close = sdk.close;
|
|
67
|
+
exports.defaultIntegrations = sdk.defaultIntegrations;
|
|
68
|
+
exports.flush = sdk.flush;
|
|
69
|
+
exports.forceLoad = sdk.forceLoad;
|
|
70
|
+
exports.init = sdk.init;
|
|
71
|
+
exports.lastEventId = sdk.lastEventId;
|
|
72
|
+
exports.onLoad = sdk.onLoad;
|
|
73
|
+
exports.showReportDialog = sdk.showReportDialog;
|
|
74
|
+
exports.wrap = sdk.wrap;
|
|
75
|
+
exports.GlobalHandlers = globalhandlers.GlobalHandlers;
|
|
76
|
+
exports.TryCatch = trycatch.TryCatch;
|
|
77
|
+
exports.Breadcrumbs = breadcrumbs.Breadcrumbs;
|
|
78
|
+
exports.LinkedErrors = linkederrors.LinkedErrors;
|
|
79
|
+
exports.HttpContext = httpcontext.HttpContext;
|
|
80
|
+
exports.Dedupe = dedupe.Dedupe;
|
|
14
81
|
exports.Integrations = INTEGRATIONS;
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
82
|
+
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":["export * from './exports';\n\nimport { Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\n\nimport * as BrowserIntegrations from './integrations';\n\nlet windowIntegrations = {};\n\n// This block is needed to add compatibility with the integrations packages when used with a CDN\nconst _window = getGlobalObject<Window>();\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\n\nconst INTEGRATIONS = {\n ...windowIntegrations,\n ...CoreIntegrations,\n ...BrowserIntegrations,\n};\n\nexport { INTEGRATIONS as Integrations };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|