@cloudcare/browser-core 3.0.23 → 3.1.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/cjs/browser/addEventListener.js +11 -14
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/cookie.js +3 -14
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.js +8 -23
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/htmlDomUtils.js +3 -9
- package/cjs/browser/htmlDomUtils.js.map +1 -0
- package/cjs/browser/pageExitObservable.js +3 -9
- package/cjs/browser/pageExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.js +2 -4
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/scroll.js +32 -0
- package/cjs/browser/scroll.js.map +1 -0
- package/cjs/browser/xhrObservable.js +2 -21
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/configuration/configuration.js +9 -20
- package/cjs/configuration/configuration.js.map +1 -0
- package/cjs/configuration/transportConfiguration.js +6 -20
- package/cjs/configuration/transportConfiguration.js.map +1 -0
- package/cjs/console/consoleObservable.js +7 -21
- package/cjs/console/consoleObservable.js.map +1 -0
- package/cjs/dataMap.js +24 -10
- package/cjs/dataMap.js.map +1 -0
- package/cjs/error/trackRuntimeError.js +3 -7
- package/cjs/error/trackRuntimeError.js.map +1 -0
- package/cjs/helper/boundedBuffer.js +2 -6
- package/cjs/helper/boundedBuffer.js.map +1 -0
- package/cjs/helper/byteUtils.js +6 -16
- package/cjs/helper/byteUtils.js.map +1 -0
- package/cjs/helper/catchUserErrors.js +2 -4
- package/cjs/helper/catchUserErrors.js.map +1 -0
- package/cjs/helper/contextHistory.js +21 -37
- package/cjs/helper/contextHistory.js.map +1 -0
- package/cjs/helper/createEventRateLimiter.js +2 -10
- package/cjs/helper/createEventRateLimiter.js.map +1 -0
- package/cjs/helper/deviceInfo.js +10 -64
- package/cjs/helper/deviceInfo.js.map +1 -0
- package/cjs/helper/display.js +2 -5
- package/cjs/helper/display.js.map +1 -0
- package/cjs/helper/enums.js +8 -2
- package/cjs/helper/enums.js.map +1 -0
- package/cjs/helper/errorTools.js +38 -40
- package/cjs/helper/errorTools.js.map +1 -0
- package/cjs/helper/eventEmitter.js +2 -6
- package/cjs/helper/eventEmitter.js.map +1 -0
- package/cjs/helper/getZoneJsOriginalValue.js +2 -5
- package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/helper/instrumentMethod.js +11 -21
- package/cjs/helper/instrumentMethod.js.map +1 -0
- package/cjs/helper/lifeCycle.js +2 -9
- package/cjs/helper/lifeCycle.js.map +1 -0
- package/cjs/helper/limitModification.js +4 -22
- package/cjs/helper/limitModification.js.map +1 -0
- package/cjs/helper/mobileUtil.js +2 -20
- package/cjs/helper/mobileUtil.js.map +1 -0
- package/cjs/helper/monitor.js +50 -0
- package/cjs/helper/monitor.js.map +1 -0
- package/cjs/helper/observable.js +2 -9
- package/cjs/helper/observable.js.map +1 -0
- package/cjs/helper/readBytesFromStream.js +8 -16
- package/cjs/helper/readBytesFromStream.js.map +1 -0
- package/cjs/helper/sanitize.js +38 -61
- package/cjs/helper/sanitize.js.map +1 -0
- package/cjs/helper/serialisation/contextManager.js +5 -15
- package/cjs/helper/serialisation/contextManager.js.map +1 -0
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/cjs/helper/serialisation/jsonStringify.js +6 -12
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
- package/cjs/helper/serialisation/rowData.js +3 -10
- package/cjs/helper/serialisation/rowData.js.map +1 -0
- package/cjs/helper/timer.js +5 -9
- package/cjs/helper/timer.js.map +1 -0
- package/cjs/helper/tools.js +58 -463
- package/cjs/helper/tools.js.map +1 -0
- package/cjs/helper/urlPolyfill.js +5 -18
- package/cjs/helper/urlPolyfill.js.map +1 -0
- package/cjs/index.js +35 -93
- package/cjs/index.js.map +1 -0
- package/cjs/init.js +24 -36
- package/cjs/init.js.map +1 -0
- package/cjs/report/reportObservable.js +8 -26
- package/cjs/report/reportObservable.js.map +1 -0
- package/cjs/session/sessionConstants.js +2 -3
- package/cjs/session/sessionConstants.js.map +1 -0
- package/cjs/session/sessionCookieStore.js +11 -46
- package/cjs/session/sessionCookieStore.js.map +1 -0
- package/cjs/session/sessionManagement.js +2 -19
- package/cjs/session/sessionManagement.js.map +1 -0
- package/cjs/session/sessionStore.js +3 -28
- package/cjs/session/sessionStore.js.map +1 -0
- package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
- package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/synthetics/usr.js +2 -8
- package/cjs/synthetics/usr.js.map +1 -0
- package/cjs/telemetry/telemetry.js +125 -0
- package/cjs/telemetry/telemetry.js.map +1 -0
- package/cjs/telemetry/types.js +17 -0
- package/cjs/telemetry/types.js.map +1 -0
- package/cjs/tracekit/computeStackTrace.js +4 -34
- package/cjs/tracekit/computeStackTrace.js.map +1 -0
- package/cjs/tracekit/index.js +2 -3
- package/cjs/tracekit/index.js.map +1 -0
- package/cjs/tracekit/tracekit.js +3 -18
- package/cjs/tracekit/tracekit.js.map +1 -0
- package/cjs/transport/batch.js +7 -56
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.js +2 -7
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.js +8 -21
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.js +8 -20
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.js +2 -6
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.js +4 -23
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/cjs/transport/startBatchWithReplica.js +2 -7
- package/cjs/transport/startBatchWithReplica.js.map +1 -0
- package/cjs/user/index.js +2 -3
- package/cjs/user/index.js.map +1 -0
- package/cjs/user/user.js +3 -8
- package/cjs/user/user.js.map +1 -0
- package/cjs/worker.js +2 -2
- package/cjs/worker.js.map +1 -0
- package/esm/browser/addEventListener.js +11 -10
- package/esm/browser/addEventListener.js.map +1 -0
- package/esm/browser/cookie.js +3 -6
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.js +8 -17
- package/esm/browser/fetchObservable.js.map +1 -0
- package/esm/browser/htmlDomUtils.js +3 -2
- package/esm/browser/htmlDomUtils.js.map +1 -0
- package/esm/browser/pageExitObservable.js +3 -2
- package/esm/browser/pageExitObservable.js.map +1 -0
- package/esm/browser/runOnReadyState.js +2 -1
- package/esm/browser/runOnReadyState.js.map +1 -0
- package/esm/browser/scroll.js +25 -0
- package/esm/browser/scroll.js.map +1 -0
- package/esm/browser/xhrObservable.js +2 -14
- package/esm/browser/xhrObservable.js.map +1 -0
- package/esm/configuration/configuration.js +9 -9
- package/esm/configuration/configuration.js.map +1 -0
- package/esm/configuration/transportConfiguration.js +6 -17
- package/esm/configuration/transportConfiguration.js.map +1 -0
- package/esm/console/consoleObservable.js +7 -12
- package/esm/console/consoleObservable.js.map +1 -0
- package/esm/dataMap.js +24 -8
- package/esm/dataMap.js.map +1 -0
- package/esm/error/trackRuntimeError.js +4 -3
- package/esm/error/trackRuntimeError.js.map +1 -0
- package/esm/helper/boundedBuffer.js +2 -4
- package/esm/helper/boundedBuffer.js.map +1 -0
- package/esm/helper/byteUtils.js +6 -13
- package/esm/helper/byteUtils.js.map +1 -0
- package/esm/helper/catchUserErrors.js +2 -2
- package/esm/helper/catchUserErrors.js.map +1 -0
- package/esm/helper/contextHistory.js +21 -33
- package/esm/helper/contextHistory.js.map +1 -0
- package/esm/helper/createEventRateLimiter.js +2 -6
- package/esm/helper/createEventRateLimiter.js.map +1 -0
- package/esm/helper/deviceInfo.js +10 -62
- package/esm/helper/deviceInfo.js.map +1 -0
- package/esm/helper/display.js +2 -3
- package/esm/helper/display.js.map +1 -0
- package/esm/helper/enums.js +6 -1
- package/esm/helper/enums.js.map +1 -0
- package/esm/helper/errorTools.js +36 -28
- package/esm/helper/errorTools.js.map +1 -0
- package/esm/helper/eventEmitter.js +2 -5
- package/esm/helper/eventEmitter.js.map +1 -0
- package/esm/helper/getZoneJsOriginalValue.js +2 -4
- package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
- package/esm/helper/instrumentMethod.js +11 -16
- package/esm/helper/instrumentMethod.js.map +1 -0
- package/esm/helper/lifeCycle.js +2 -5
- package/esm/helper/lifeCycle.js.map +1 -0
- package/esm/helper/limitModification.js +5 -20
- package/esm/helper/limitModification.js.map +1 -0
- package/esm/helper/mobileUtil.js +2 -16
- package/esm/helper/mobileUtil.js.map +1 -0
- package/esm/helper/monitor.js +39 -0
- package/esm/helper/monitor.js.map +1 -0
- package/esm/helper/observable.js +2 -7
- package/esm/helper/observable.js.map +1 -0
- package/esm/helper/readBytesFromStream.js +8 -15
- package/esm/helper/readBytesFromStream.js.map +1 -0
- package/esm/helper/sanitize.js +40 -57
- package/esm/helper/sanitize.js.map +1 -0
- package/esm/helper/serialisation/contextManager.js +5 -9
- package/esm/helper/serialisation/contextManager.js.map +1 -0
- package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
- package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/esm/helper/serialisation/jsonStringify.js +7 -10
- package/esm/helper/serialisation/jsonStringify.js.map +1 -0
- package/esm/helper/serialisation/rowData.js +3 -4
- package/esm/helper/serialisation/rowData.js.map +1 -0
- package/esm/helper/timer.js +5 -3
- package/esm/helper/timer.js.map +1 -0
- package/esm/helper/tools.js +58 -273
- package/esm/helper/tools.js.map +1 -0
- package/esm/helper/urlPolyfill.js +5 -9
- package/esm/helper/urlPolyfill.js.map +1 -0
- package/esm/index.js +5 -1
- package/esm/index.js.map +1 -0
- package/esm/init.js +25 -31
- package/esm/init.js.map +1 -0
- package/esm/report/reportObservable.js +8 -19
- package/esm/report/reportObservable.js.map +1 -0
- package/esm/session/sessionConstants.js +2 -1
- package/esm/session/sessionConstants.js.map +1 -0
- package/esm/session/sessionCookieStore.js +11 -38
- package/esm/session/sessionCookieStore.js.map +1 -0
- package/esm/session/sessionManagement.js +2 -8
- package/esm/session/sessionManagement.js.map +1 -0
- package/esm/session/sessionStore.js +4 -22
- package/esm/session/sessionStore.js.map +1 -0
- package/esm/synthetics/syntheticsWorkerValues.js +2 -1
- package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/esm/synthetics/usr.js +2 -3
- package/esm/synthetics/usr.js.map +1 -0
- package/esm/telemetry/telemetry.js +111 -0
- package/esm/telemetry/telemetry.js.map +1 -0
- package/esm/telemetry/types.js +9 -0
- package/esm/telemetry/types.js.map +1 -0
- package/esm/tracekit/computeStackTrace.js +4 -31
- package/esm/tracekit/computeStackTrace.js.map +1 -0
- package/esm/tracekit/index.js +2 -1
- package/esm/tracekit/index.js.map +1 -0
- package/esm/tracekit/tracekit.js +5 -14
- package/esm/tracekit/tracekit.js.map +1 -0
- package/esm/transport/batch.js +9 -47
- package/esm/transport/batch.js.map +1 -0
- package/esm/transport/eventBridge.js +2 -5
- package/esm/transport/eventBridge.js.map +1 -0
- package/esm/transport/flushController.js +11 -20
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.js +8 -18
- package/esm/transport/httpRequest.js.map +1 -0
- package/esm/transport/index.js +2 -1
- package/esm/transport/index.js.map +1 -0
- package/esm/transport/sendWithRetryStrategy.js +4 -17
- package/esm/transport/sendWithRetryStrategy.js.map +1 -0
- package/esm/transport/startBatchWithReplica.js +2 -3
- package/esm/transport/startBatchWithReplica.js.map +1 -0
- package/esm/user/index.js.map +1 -0
- package/esm/user/user.js +4 -5
- package/esm/user/user.js.map +1 -0
- package/esm/worker.js.map +1 -0
- package/package.json +2 -2
- package/src/browser/addEventListener.js +8 -7
- package/src/browser/fetchObservable.js +12 -3
- package/src/browser/scroll.js +25 -0
- package/src/configuration/configuration.js +16 -0
- package/src/configuration/transportConfiguration.js +2 -2
- package/src/console/consoleObservable.js +4 -2
- package/src/dataMap.js +17 -3
- package/src/error/trackRuntimeError.js +2 -2
- package/src/helper/contextHistory.js +3 -3
- package/src/helper/enums.js +4 -0
- package/src/helper/errorTools.js +55 -24
- package/src/helper/instrumentMethod.js +5 -2
- package/src/helper/monitor.js +44 -0
- package/src/helper/observable.js +10 -8
- package/src/helper/readBytesFromStream.js +5 -5
- package/src/helper/timer.js +3 -3
- package/src/helper/tools.js +2 -17
- package/src/index.js +4 -0
- package/src/init.js +19 -21
- package/src/report/reportObservable.js +6 -5
- package/src/telemetry/telemetry.js +164 -0
- package/src/telemetry/types.js +9 -0
- package/src/transport/batch.js +4 -4
- package/src/transport/httpRequest.js +5 -4
package/cjs/synthetics/usr.js
CHANGED
|
@@ -4,29 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.startCacheUsrCache = exports.ANONYMOUS_ID_EXPIRATION = exports.ANONYMOUS_ID_COOKIE_NAME = void 0;
|
|
7
|
-
|
|
8
7
|
var _cookie = require("../browser/cookie");
|
|
9
|
-
|
|
10
8
|
var _tools = require("../helper/tools");
|
|
11
|
-
|
|
12
9
|
var ANONYMOUS_ID_COOKIE_NAME = '_dataflulx_usr_id';
|
|
13
10
|
exports.ANONYMOUS_ID_COOKIE_NAME = ANONYMOUS_ID_COOKIE_NAME;
|
|
14
11
|
var ANONYMOUS_ID_EXPIRATION = 60 * 24 * _tools.ONE_HOUR;
|
|
15
12
|
exports.ANONYMOUS_ID_EXPIRATION = ANONYMOUS_ID_EXPIRATION;
|
|
16
|
-
|
|
17
13
|
var startCacheUsrCache = function startCacheUsrCache(configuration) {
|
|
18
14
|
var usrCacheId = (0, _cookie.getCookie)(ANONYMOUS_ID_COOKIE_NAME);
|
|
19
|
-
|
|
20
15
|
if (!usrCacheId) {
|
|
21
16
|
usrCacheId = (0, _tools.UUID)();
|
|
22
17
|
(0, _cookie.setCookie)(ANONYMOUS_ID_COOKIE_NAME, usrCacheId, ANONYMOUS_ID_EXPIRATION, configuration.cookieOptions);
|
|
23
18
|
}
|
|
24
|
-
|
|
25
19
|
return {
|
|
26
20
|
getUsrId: function getUsrId() {
|
|
27
21
|
return usrCacheId;
|
|
28
22
|
}
|
|
29
23
|
};
|
|
30
24
|
};
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
exports.startCacheUsrCache = startCacheUsrCache;
|
|
26
|
+
//# sourceMappingURL=usr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usr.js","names":["_cookie","require","_tools","ANONYMOUS_ID_COOKIE_NAME","exports","ANONYMOUS_ID_EXPIRATION","ONE_HOUR","startCacheUsrCache","configuration","usrCacheId","getCookie","UUID","setCookie","cookieOptions","getUsrId"],"sources":["../../src/synthetics/usr.js"],"sourcesContent":["import { getCookie, setCookie } from '../browser/cookie'\nimport { ONE_HOUR, UUID } from '../helper/tools'\n\nexport var ANONYMOUS_ID_COOKIE_NAME = '_dataflulx_usr_id'\nexport var ANONYMOUS_ID_EXPIRATION = 60 * 24 * ONE_HOUR\n\nexport var startCacheUsrCache = function(configuration) {\n var usrCacheId = getCookie(ANONYMOUS_ID_COOKIE_NAME)\n if (!usrCacheId) {\n usrCacheId = UUID()\n setCookie(ANONYMOUS_ID_COOKIE_NAME, usrCacheId, ANONYMOUS_ID_EXPIRATION, configuration.cookieOptions)\n }\n return {\n getUsrId: function() {\n return usrCacheId\n }\n }\n}"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,IAAIE,wBAAwB,GAAG,mBAAmB;AAAAC,OAAA,CAAAD,wBAAA,GAAAA,wBAAA;AAClD,IAAIE,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAGC,eAAQ;AAAAF,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAEhD,IAAIE,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAYC,aAAa,EAAE;EACtD,IAAIC,UAAU,GAAG,IAAAC,iBAAS,EAACP,wBAAwB,CAAC;EACpD,IAAI,CAACM,UAAU,EAAE;IACfA,UAAU,GAAG,IAAAE,WAAI,EAAC,CAAC;IACnB,IAAAC,iBAAS,EAACT,wBAAwB,EAAEM,UAAU,EAAEJ,uBAAuB,EAAEG,aAAa,CAACK,aAAa,CAAC;EACvG;EACA,OAAO;IACLC,QAAQ,EAAE,SAAAA,SAAA,EAAW;MACnB,OAAOL,UAAU;IACnB;EACF,CAAC;AACH,CAAC;AAAAL,OAAA,CAAAG,kBAAA,GAAAA,kBAAA"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TelemetryService = void 0;
|
|
7
|
+
exports.addTelemetryConfiguration = addTelemetryConfiguration;
|
|
8
|
+
exports.addTelemetryDebug = addTelemetryDebug;
|
|
9
|
+
exports.addTelemetryError = addTelemetryError;
|
|
10
|
+
exports.formatError = formatError;
|
|
11
|
+
exports.resetTelemetry = resetTelemetry;
|
|
12
|
+
exports.scrubCustomerFrames = scrubCustomerFrames;
|
|
13
|
+
exports.startTelemetry = startTelemetry;
|
|
14
|
+
var _display = require("../helper/display");
|
|
15
|
+
var _errorTools = require("../helper/errorTools");
|
|
16
|
+
var _tracekit = require("../tracekit");
|
|
17
|
+
var _observable = require("../helper/observable");
|
|
18
|
+
var _monitor = require("..//helper/monitor");
|
|
19
|
+
var _tools = require("../helper/tools");
|
|
20
|
+
var _jsonStringify = require("../helper/serialisation/jsonStringify");
|
|
21
|
+
var _enums = require("../helper/enums");
|
|
22
|
+
var _types = require("./types");
|
|
23
|
+
var ALLOWED_FRAME_URLS = ['https://static.guance.com', 'http://localhost', '<anonymous>'];
|
|
24
|
+
var TelemetryService = {
|
|
25
|
+
LOGS: 'browser-logs-sdk',
|
|
26
|
+
RUM: 'browser-rum-sdk'
|
|
27
|
+
};
|
|
28
|
+
exports.TelemetryService = TelemetryService;
|
|
29
|
+
var telemetryConfiguration = {
|
|
30
|
+
maxEventsPerPage: 0,
|
|
31
|
+
sentEventCount: 0,
|
|
32
|
+
telemetryEnabled: false
|
|
33
|
+
};
|
|
34
|
+
var onRawTelemetryEventCollected;
|
|
35
|
+
function startTelemetry(telemetryService, configuration) {
|
|
36
|
+
var contextProvider;
|
|
37
|
+
var observable = new _observable.Observable();
|
|
38
|
+
telemetryConfiguration.telemetryEnabled = configuration.telemetryEnabled && (0, _tools.performDraw)(configuration.telemetrySampleRate);
|
|
39
|
+
onRawTelemetryEventCollected = function onRawTelemetryEventCollected(rawEvent) {
|
|
40
|
+
if (telemetryConfiguration.telemetryEnabled) {
|
|
41
|
+
var event = toTelemetryEvent(telemetryService, rawEvent);
|
|
42
|
+
observable.notify(event);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
(0, _monitor.startMonitorErrorCollection)(addTelemetryError);
|
|
46
|
+
(0, _tools.assign)(telemetryConfiguration, {
|
|
47
|
+
maxEventsPerPage: configuration.maxTelemetryEventsPerPage,
|
|
48
|
+
sentEventCount: 0
|
|
49
|
+
});
|
|
50
|
+
function toTelemetryEvent(telemetryService, event) {
|
|
51
|
+
return (0, _tools.extend2Lev)({
|
|
52
|
+
type: 'telemetry',
|
|
53
|
+
date: (0, _tools.timeStampNow)(),
|
|
54
|
+
service: telemetryService,
|
|
55
|
+
version: __BUILD_ENV__SDK_VERSION__,
|
|
56
|
+
source: 'browser',
|
|
57
|
+
telemetry: event // https://github.com/microsoft/TypeScript/issues/48457
|
|
58
|
+
}, contextProvider !== undefined ? contextProvider() : {});
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
setContextProvider: function setContextProvider(provider) {
|
|
62
|
+
contextProvider = provider;
|
|
63
|
+
},
|
|
64
|
+
observable: observable,
|
|
65
|
+
enabled: telemetryConfiguration.telemetryEnabled
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function resetTelemetry() {
|
|
69
|
+
onRawTelemetryEventCollected = undefined;
|
|
70
|
+
}
|
|
71
|
+
function addTelemetryDebug(message, context) {
|
|
72
|
+
(0, _monitor.displayIfDebugEnabled)(_display.ConsoleApiName.debug, message, context);
|
|
73
|
+
addTelemetry((0, _tools.assign)({
|
|
74
|
+
type: _types.TelemetryType.log,
|
|
75
|
+
message: message,
|
|
76
|
+
status: _types.TelemetryStatusType.debug
|
|
77
|
+
}, context));
|
|
78
|
+
}
|
|
79
|
+
function addTelemetryError(e, context) {
|
|
80
|
+
addTelemetry((0, _tools.assign)({
|
|
81
|
+
type: _types.TelemetryType.log,
|
|
82
|
+
status: _types.TelemetryStatusType.error
|
|
83
|
+
}, formatError(e), context));
|
|
84
|
+
}
|
|
85
|
+
function addTelemetryConfiguration(configuration) {
|
|
86
|
+
if (telemetryConfiguration.telemetryEnabled) {
|
|
87
|
+
addTelemetry({
|
|
88
|
+
type: _types.TelemetryType.configuration,
|
|
89
|
+
configuration: configuration
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function addTelemetry(event) {
|
|
94
|
+
if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {
|
|
95
|
+
telemetryConfiguration.sentEventCount += 1;
|
|
96
|
+
onRawTelemetryEventCollected(event);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function formatError(e) {
|
|
100
|
+
if (e instanceof Error) {
|
|
101
|
+
var stackTrace = (0, _tracekit.computeStackTrace)(e);
|
|
102
|
+
return {
|
|
103
|
+
error: {
|
|
104
|
+
kind: stackTrace.name,
|
|
105
|
+
stack: (0, _errorTools.toStackTraceString)(scrubCustomerFrames(stackTrace))
|
|
106
|
+
},
|
|
107
|
+
message: stackTrace.message
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
error: {
|
|
112
|
+
stack: _errorTools.NO_ERROR_STACK_PRESENT_MESSAGE
|
|
113
|
+
},
|
|
114
|
+
message: _enums.NonErrorPrefix.UNCAUGHT + ' ' + (0, _jsonStringify.jsonStringify)(e)
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function scrubCustomerFrames(stackTrace) {
|
|
118
|
+
stackTrace.stack = stackTrace.stack.filter(function (frame) {
|
|
119
|
+
return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) {
|
|
120
|
+
return (0, _tools.startsWith)(frame.url, allowedFrameUrl);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
return stackTrace;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","names":["_display","require","_errorTools","_tracekit","_observable","_monitor","_tools","_jsonStringify","_enums","_types","ALLOWED_FRAME_URLS","TelemetryService","LOGS","RUM","exports","telemetryConfiguration","maxEventsPerPage","sentEventCount","telemetryEnabled","onRawTelemetryEventCollected","startTelemetry","telemetryService","configuration","contextProvider","observable","Observable","performDraw","telemetrySampleRate","rawEvent","event","toTelemetryEvent","notify","startMonitorErrorCollection","addTelemetryError","assign","maxTelemetryEventsPerPage","extend2Lev","type","date","timeStampNow","service","version","__BUILD_ENV__SDK_VERSION__","source","telemetry","undefined","setContextProvider","provider","enabled","resetTelemetry","addTelemetryDebug","message","context","displayIfDebugEnabled","ConsoleApiName","debug","addTelemetry","TelemetryType","log","status","TelemetryStatusType","e","error","formatError","addTelemetryConfiguration","Error","stackTrace","computeStackTrace","kind","name","stack","toStackTraceString","scrubCustomerFrames","NO_ERROR_STACK_PRESENT_MESSAGE","NonErrorPrefix","UNCAUGHT","jsonStringify","filter","frame","url","some","allowedFrameUrl","startsWith"],"sources":["../../src/telemetry/telemetry.js"],"sourcesContent":["import { ConsoleApiName } from '../helper/display'\nimport {\n toStackTraceString,\n NO_ERROR_STACK_PRESENT_MESSAGE\n} from '../helper/errorTools'\nimport { computeStackTrace } from '../tracekit'\nimport { Observable } from '../helper/observable'\nimport {\n displayIfDebugEnabled,\n startMonitorErrorCollection\n} from '..//helper/monitor'\nimport {\n startsWith,\n assign,\n performDraw,\n timeStampNow,\n extend2Lev\n} from '../helper/tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { NonErrorPrefix } from '../helper/enums'\nimport { TelemetryStatusType, TelemetryType } from './types'\n\nconst ALLOWED_FRAME_URLS = [\n 'https://static.guance.com',\n 'http://localhost',\n '<anonymous>'\n]\n\nexport var TelemetryService = {\n LOGS: 'browser-logs-sdk',\n RUM: 'browser-rum-sdk'\n}\n\nvar telemetryConfiguration = {\n maxEventsPerPage: 0,\n sentEventCount: 0,\n telemetryEnabled: false\n}\n\nvar onRawTelemetryEventCollected\n\nexport function startTelemetry(telemetryService, configuration) {\n let contextProvider\n var observable = new Observable()\n telemetryConfiguration.telemetryEnabled =\n configuration.telemetryEnabled &&\n performDraw(configuration.telemetrySampleRate)\n\n onRawTelemetryEventCollected = function (rawEvent) {\n if (telemetryConfiguration.telemetryEnabled) {\n var event = toTelemetryEvent(telemetryService, rawEvent)\n observable.notify(event)\n }\n }\n startMonitorErrorCollection(addTelemetryError)\n\n assign(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0\n })\n\n function toTelemetryEvent(telemetryService, event) {\n return extend2Lev(\n {\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: __BUILD_ENV__SDK_VERSION__,\n source: 'browser',\n telemetry: event // https://github.com/microsoft/TypeScript/issues/48457\n },\n contextProvider !== undefined ? contextProvider() : {}\n )\n }\n\n return {\n setContextProvider: function (provider) {\n contextProvider = provider\n },\n observable: observable,\n enabled: telemetryConfiguration.telemetryEnabled\n }\n}\n\nexport function resetTelemetry() {\n onRawTelemetryEventCollected = undefined\n}\n\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context)\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n message: message,\n status: TelemetryStatusType.debug\n },\n context\n )\n )\n}\n\nexport function addTelemetryError(e, context) {\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n status: TelemetryStatusType.error\n },\n formatError(e),\n context\n )\n )\n}\n\nexport function addTelemetryConfiguration(configuration) {\n if (telemetryConfiguration.telemetryEnabled) {\n addTelemetry({\n type: TelemetryType.configuration,\n configuration: configuration\n })\n }\n}\n\nfunction addTelemetry(event) {\n if (\n onRawTelemetryEventCollected &&\n telemetryConfiguration.sentEventCount <\n telemetryConfiguration.maxEventsPerPage\n ) {\n telemetryConfiguration.sentEventCount += 1\n onRawTelemetryEventCollected(event)\n }\n}\n\nexport function formatError(e) {\n if (e instanceof Error) {\n var stackTrace = computeStackTrace(e)\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace))\n },\n message: stackTrace.message\n }\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE\n },\n message: NonErrorPrefix.UNCAUGHT + ' ' + jsonStringify(e)\n }\n}\n\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(\n (frame) =>\n !frame.url ||\n ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) {\n return startsWith(frame.url, allowedFrameUrl)\n })\n )\n return stackTrace\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TelemetryType = exports.TelemetryStatusType = void 0;
|
|
7
|
+
var TelemetryType = {
|
|
8
|
+
log: 'log',
|
|
9
|
+
configuration: 'configuration'
|
|
10
|
+
};
|
|
11
|
+
exports.TelemetryType = TelemetryType;
|
|
12
|
+
var TelemetryStatusType = {
|
|
13
|
+
debug: 'debug',
|
|
14
|
+
error: 'error'
|
|
15
|
+
};
|
|
16
|
+
exports.TelemetryStatusType = TelemetryStatusType;
|
|
17
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":["TelemetryType","log","configuration","exports","TelemetryStatusType","debug","error"],"sources":["../../src/telemetry/types.js"],"sourcesContent":["export var TelemetryType = {\n log: 'log',\n configuration: 'configuration'\n}\n\nexport var TelemetryStatusType = {\n debug: 'debug',\n error: 'error'\n}\n"],"mappings":";;;;;;AAAO,IAAIA,aAAa,GAAG;EACzBC,GAAG,EAAE,KAAK;EACVC,aAAa,EAAE;AACjB,CAAC;AAAAC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAEM,IAAII,mBAAmB,GAAG;EAC/BC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE;AACT,CAAC;AAAAH,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
|
|
@@ -4,65 +4,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.computeStackTrace = computeStackTrace;
|
|
7
|
-
|
|
8
7
|
var _tools = require("../helper/tools");
|
|
9
|
-
|
|
10
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
11
|
-
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
12
9
|
var UNKNOWN_FUNCTION = '?';
|
|
10
|
+
|
|
13
11
|
/**
|
|
14
12
|
* Computes a stack trace for an exception.
|
|
15
13
|
*/
|
|
16
|
-
|
|
17
14
|
function computeStackTrace(ex) {
|
|
18
15
|
var stack = [];
|
|
19
16
|
var stackProperty = tryToGetString(ex, 'stack');
|
|
20
|
-
|
|
21
17
|
if (stackProperty) {
|
|
22
18
|
(0, _tools.each)(stackProperty.split('\n'), function (line) {
|
|
23
19
|
var stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);
|
|
24
|
-
|
|
25
20
|
if (stackFrame) {
|
|
26
21
|
if (!stackFrame.func && stackFrame.line) {
|
|
27
22
|
stackFrame.func = UNKNOWN_FUNCTION;
|
|
28
23
|
}
|
|
29
|
-
|
|
30
24
|
stack.push(stackFrame);
|
|
31
25
|
}
|
|
32
26
|
});
|
|
33
27
|
}
|
|
34
|
-
|
|
35
28
|
return {
|
|
36
29
|
message: tryToGetString(ex, 'message'),
|
|
37
30
|
name: tryToGetString(ex, 'name'),
|
|
38
31
|
stack: stack
|
|
39
32
|
};
|
|
40
33
|
}
|
|
41
|
-
|
|
42
34
|
var fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\w+\\.|\\/).*?)';
|
|
43
35
|
var filePosition = '(?::(\\d+))';
|
|
44
36
|
var CHROME_LINE_RE = new RegExp('^\\s*at (.*?) ?\\(' + fileUrl + filePosition + '?' + filePosition + '?\\)?\\s*$', 'i');
|
|
45
37
|
var CHROME_EVAL_RE = new RegExp('\\((\\S*)' + filePosition + filePosition + '\\)');
|
|
46
|
-
|
|
47
38
|
function parseChromeLine(line) {
|
|
48
39
|
var parts = CHROME_LINE_RE.exec(line);
|
|
49
|
-
|
|
50
40
|
if (!parts) {
|
|
51
41
|
return;
|
|
52
42
|
}
|
|
53
|
-
|
|
54
43
|
var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
|
|
55
|
-
|
|
56
44
|
var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
|
|
57
|
-
|
|
58
45
|
var submatch = CHROME_EVAL_RE.exec(parts[2]);
|
|
59
|
-
|
|
60
46
|
if (isEval && submatch) {
|
|
61
47
|
// throw out eval line/column and use top-most line/column number
|
|
62
48
|
parts[2] = submatch[1]; // url
|
|
63
|
-
|
|
64
49
|
parts[3] = submatch[2]; // line
|
|
65
|
-
|
|
66
50
|
parts[4] = submatch[3]; // column
|
|
67
51
|
}
|
|
68
52
|
|
|
@@ -74,16 +58,12 @@ function parseChromeLine(line) {
|
|
|
74
58
|
url: !isNative ? parts[2] : undefined
|
|
75
59
|
};
|
|
76
60
|
}
|
|
77
|
-
|
|
78
61
|
var CHROME_ANONYMOUS_FUNCTION_RE = new RegExp('^\\s*at ?' + fileUrl + filePosition + '?' + filePosition + '??\\s*$', 'i');
|
|
79
|
-
|
|
80
62
|
function parseChromeAnonymousLine(line) {
|
|
81
63
|
var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);
|
|
82
|
-
|
|
83
64
|
if (!parts) {
|
|
84
65
|
return;
|
|
85
66
|
}
|
|
86
|
-
|
|
87
67
|
return {
|
|
88
68
|
args: [],
|
|
89
69
|
column: parts[3] ? +parts[3] : undefined,
|
|
@@ -92,16 +72,12 @@ function parseChromeAnonymousLine(line) {
|
|
|
92
72
|
url: parts[1]
|
|
93
73
|
};
|
|
94
74
|
}
|
|
95
|
-
|
|
96
75
|
var WINJS_LINE_RE = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
|
97
|
-
|
|
98
76
|
function parseWinLine(line) {
|
|
99
77
|
var parts = WINJS_LINE_RE.exec(line);
|
|
100
|
-
|
|
101
78
|
if (!parts) {
|
|
102
79
|
return;
|
|
103
80
|
}
|
|
104
|
-
|
|
105
81
|
return {
|
|
106
82
|
args: [],
|
|
107
83
|
column: parts[4] ? +parts[4] : undefined,
|
|
@@ -110,20 +86,15 @@ function parseWinLine(line) {
|
|
|
110
86
|
url: parts[2]
|
|
111
87
|
};
|
|
112
88
|
}
|
|
113
|
-
|
|
114
89
|
var GECKO_LINE_RE = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
|
|
115
90
|
var GECKO_EVAL_RE = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
|
|
116
|
-
|
|
117
91
|
function parseGeckoLine(line) {
|
|
118
92
|
var parts = GECKO_LINE_RE.exec(line);
|
|
119
|
-
|
|
120
93
|
if (!parts) {
|
|
121
94
|
return;
|
|
122
95
|
}
|
|
123
|
-
|
|
124
96
|
var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
|
|
125
97
|
var submatch = GECKO_EVAL_RE.exec(parts[3]);
|
|
126
|
-
|
|
127
98
|
if (isEval && submatch) {
|
|
128
99
|
// throw out eval line/column and use top-most line number
|
|
129
100
|
parts[3] = submatch[1];
|
|
@@ -139,12 +110,11 @@ function parseGeckoLine(line) {
|
|
|
139
110
|
url: parts[3]
|
|
140
111
|
};
|
|
141
112
|
}
|
|
142
|
-
|
|
143
113
|
function tryToGetString(candidate, property) {
|
|
144
114
|
if (_typeof(candidate) !== 'object' || !candidate || !(property in candidate)) {
|
|
145
115
|
return undefined;
|
|
146
116
|
}
|
|
147
|
-
|
|
148
117
|
var value = candidate[property];
|
|
149
118
|
return typeof value === 'string' ? value : undefined;
|
|
150
|
-
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=computeStackTrace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeStackTrace.js","names":["_tools","require","_typeof","obj","Symbol","iterator","constructor","prototype","UNKNOWN_FUNCTION","computeStackTrace","ex","stack","stackProperty","tryToGetString","each","split","line","stackFrame","parseChromeLine","parseChromeAnonymousLine","parseWinLine","parseGeckoLine","func","push","message","name","fileUrl","filePosition","CHROME_LINE_RE","RegExp","CHROME_EVAL_RE","parts","exec","isNative","indexOf","isEval","submatch","args","column","undefined","url","CHROME_ANONYMOUS_FUNCTION_RE","WINJS_LINE_RE","GECKO_LINE_RE","GECKO_EVAL_RE","candidate","property","value"],"sources":["../../src/tracekit/computeStackTrace.js"],"sourcesContent":["import { each } from '../helper/tools'\nvar UNKNOWN_FUNCTION = '?'\n\n/**\n * Computes a stack trace for an exception.\n */\nexport function computeStackTrace(ex) {\n var stack = []\n\n var stackProperty = tryToGetString(ex, 'stack')\n if (stackProperty) {\n each(stackProperty.split('\\n'), function(line) {\n var stackFrame =\n parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line)\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION\n }\n stack.push(stackFrame)\n }\n })\n }\n\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n }\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\\\w+\\\\.|\\\\/).*?)'\nvar filePosition = '(?::(\\\\d+))'\nvar CHROME_LINE_RE = new RegExp('^\\\\s*at (.*?) ?\\\\('+ fileUrl + filePosition + '?' + filePosition + '?\\\\)?\\\\s*$', 'i')\nvar CHROME_EVAL_RE = new RegExp('\\\\((\\\\S*)' + filePosition + filePosition + '\\\\)')\n\nfunction parseChromeLine(line){\n var parts = CHROME_LINE_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0 // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0 // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1] // url\n parts[3] = submatch[2] // line\n parts[4] = submatch[3] // column\n }\n\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n }\n}\n\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp('^\\\\s*at ?' + fileUrl + filePosition + '?' + filePosition + '??\\\\s*$', 'i')\n\nfunction parseChromeAnonymousLine(line){\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n }\n}\n\nvar WINJS_LINE_RE =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i\n\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n }\n}\n\nvar GECKO_LINE_RE =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i\n\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1\n var submatch = GECKO_EVAL_RE.exec(parts[3])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1]\n parts[4] = submatch[2]\n parts[5] = undefined // no column when eval\n }\n\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n }\n}\n\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined\n }\n var value = candidate[property]\n return typeof value === 'string' ? value : undefined\n}\n"],"mappings":"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"}
|
package/cjs/tracekit/index.js
CHANGED
|
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "startUnhandledErrorCollection", {
|
|
|
15
15
|
return _tracekit.startUnhandledErrorCollection;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
|
|
19
18
|
var _computeStackTrace = require("./computeStackTrace");
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
var _tracekit = require("./tracekit");
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_computeStackTrace","require","_tracekit"],"sources":["../../src/tracekit/index.js"],"sourcesContent":["export { computeStackTrace } from './computeStackTrace'\nexport { startUnhandledErrorCollection } from './tracekit'\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA"}
|
package/cjs/tracekit/tracekit.js
CHANGED
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.startUnhandledErrorCollection = startUnhandledErrorCollection;
|
|
7
|
-
|
|
8
7
|
var _instrumentMethod = require("../helper/instrumentMethod");
|
|
9
|
-
|
|
10
8
|
var _tools = require("../helper/tools");
|
|
11
|
-
|
|
12
9
|
var _computeStackTrace = require("./computeStackTrace");
|
|
13
|
-
|
|
14
10
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types
|
|
15
11
|
var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/;
|
|
16
12
|
/**
|
|
@@ -47,27 +43,22 @@ var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Ran
|
|
|
47
43
|
|
|
48
44
|
function startUnhandledErrorCollection(callback) {
|
|
49
45
|
var _instrumentOnError = instrumentOnError(callback);
|
|
50
|
-
|
|
51
46
|
var _instrumentUnhandledRejection = instrumentUnhandledRejection(callback);
|
|
52
|
-
|
|
53
47
|
return {
|
|
54
48
|
stop: function stop() {
|
|
55
49
|
_instrumentOnError.stop();
|
|
56
|
-
|
|
57
50
|
_instrumentUnhandledRejection.stop();
|
|
58
51
|
}
|
|
59
52
|
};
|
|
60
53
|
}
|
|
54
|
+
|
|
61
55
|
/**
|
|
62
56
|
* Install a global onerror handler
|
|
63
57
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
58
|
function instrumentOnError(callback) {
|
|
67
59
|
return (0, _instrumentMethod.instrumentMethodAndCallOriginal)(window, 'onerror', {
|
|
68
60
|
before: function before(messageObj, url, line, column, errorObj) {
|
|
69
61
|
var stackTrace;
|
|
70
|
-
|
|
71
62
|
if (errorObj instanceof Error) {
|
|
72
63
|
stackTrace = (0, _computeStackTrace.computeStackTrace)(errorObj);
|
|
73
64
|
} else {
|
|
@@ -83,25 +74,20 @@ function instrumentOnError(callback) {
|
|
|
83
74
|
stack: [location]
|
|
84
75
|
};
|
|
85
76
|
}
|
|
86
|
-
|
|
87
77
|
callback(stackTrace, (0, _tools.isNullUndefinedDefaultValue)(errorObj, messageObj));
|
|
88
78
|
}
|
|
89
79
|
});
|
|
90
80
|
}
|
|
91
|
-
|
|
92
81
|
function tryToParseMessage(messageObj) {
|
|
93
82
|
var name;
|
|
94
83
|
var message;
|
|
95
|
-
|
|
96
84
|
if ({}.toString.call(messageObj) === '[object String]') {
|
|
97
85
|
var groups = ERROR_TYPES_RE.exec(messageObj);
|
|
98
|
-
|
|
99
86
|
if (groups) {
|
|
100
87
|
name = groups[1];
|
|
101
88
|
message = groups[2];
|
|
102
89
|
}
|
|
103
90
|
}
|
|
104
|
-
|
|
105
91
|
return {
|
|
106
92
|
name: name,
|
|
107
93
|
message: message
|
|
@@ -110,8 +96,6 @@ function tryToParseMessage(messageObj) {
|
|
|
110
96
|
/**
|
|
111
97
|
* Install a global onunhandledrejection handler
|
|
112
98
|
*/
|
|
113
|
-
|
|
114
|
-
|
|
115
99
|
function instrumentUnhandledRejection(callback) {
|
|
116
100
|
return (0, _instrumentMethod.instrumentMethodAndCallOriginal)(window, 'onunhandledrejection', {
|
|
117
101
|
before: function before(e) {
|
|
@@ -120,4 +104,5 @@ function instrumentUnhandledRejection(callback) {
|
|
|
120
104
|
callback(stack, reason);
|
|
121
105
|
}
|
|
122
106
|
});
|
|
123
|
-
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=tracekit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracekit.js","names":["_instrumentMethod","require","_tools","_computeStackTrace","ERROR_TYPES_RE","startUnhandledErrorCollection","callback","_instrumentOnError","instrumentOnError","_instrumentUnhandledRejection","instrumentUnhandledRejection","stop","instrumentMethodAndCallOriginal","window","before","messageObj","url","line","column","errorObj","stackTrace","Error","computeStackTrace","location","parse","tryToParseMessage","name","message","stack","isNullUndefinedDefaultValue","toString","call","groups","exec","e","reason"],"sources":["../../src/tracekit/tracekit.js"],"sourcesContent":["import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'\nimport { isNullUndefinedDefaultValue } from '../helper/tools'\nimport { computeStackTrace } from './computeStackTrace'\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/\n/**\n * Cross-browser collection of unhandled errors\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Tries to catch all unhandled errors and report them to the\n * callback.\n *\n * Callbacks receive a StackTrace object as described in the\n * computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\n\nexport function startUnhandledErrorCollection(callback) {\n var _instrumentOnError = instrumentOnError(callback)\n var _instrumentUnhandledRejection = instrumentUnhandledRejection(callback)\n return {\n stop: function () {\n _instrumentOnError.stop()\n _instrumentUnhandledRejection.stop()\n }\n }\n}\n\n/**\n * Install a global onerror handler\n */\nfunction instrumentOnError(callback) {\n return instrumentMethodAndCallOriginal(window, 'onerror', {\n before: function (messageObj, url, line, column, errorObj) {\n var stackTrace\n if (errorObj instanceof Error) {\n stackTrace = computeStackTrace(errorObj)\n } else {\n var location = {\n url: url,\n column: column,\n line: line\n }\n var parse = tryToParseMessage(messageObj)\n\n stackTrace = {\n name: parse.name,\n message: parse.message,\n stack: [location]\n }\n }\n callback(stackTrace, isNullUndefinedDefaultValue(errorObj, messageObj))\n }\n })\n}\nfunction tryToParseMessage(messageObj) {\n let name\n let message\n if ({}.toString.call(messageObj) === '[object String]') {\n var groups = ERROR_TYPES_RE.exec(messageObj)\n if (groups) {\n name = groups[1]\n message = groups[2]\n }\n }\n return { name: name, message: message }\n}\n/**\n * Install a global onunhandledrejection handler\n */\nfunction instrumentUnhandledRejection(callback) {\n return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {\n before: function (e) {\n var reason = e.reason || 'Empty reason'\n var stack = computeStackTrace(reason)\n callback(stack, reason)\n }\n })\n}\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAEA;AACA,IAAIG,cAAc,GAChB,8GAA8G;AAChH;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;;AAEO,SAASC,6BAA6BA,CAACC,QAAQ,EAAE;EACtD,IAAIC,kBAAkB,GAAGC,iBAAiB,CAACF,QAAQ,CAAC;EACpD,IAAIG,6BAA6B,GAAGC,4BAA4B,CAACJ,QAAQ,CAAC;EAC1E,OAAO;IACLK,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBJ,kBAAkB,CAACI,IAAI,CAAC,CAAC;MACzBF,6BAA6B,CAACE,IAAI,CAAC,CAAC;IACtC;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,SAASH,iBAAiBA,CAACF,QAAQ,EAAE;EACnC,OAAO,IAAAM,iDAA+B,EAACC,MAAM,EAAE,SAAS,EAAE;IACxDC,MAAM,EAAE,SAAAA,OAAUC,UAAU,EAAEC,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAE;MACzD,IAAIC,UAAU;MACd,IAAID,QAAQ,YAAYE,KAAK,EAAE;QAC7BD,UAAU,GAAG,IAAAE,oCAAiB,EAACH,QAAQ,CAAC;MAC1C,CAAC,MAAM;QACL,IAAII,QAAQ,GAAG;UACbP,GAAG,EAAEA,GAAG;UACRE,MAAM,EAAEA,MAAM;UACdD,IAAI,EAAEA;QACR,CAAC;QACD,IAAIO,KAAK,GAAGC,iBAAiB,CAACV,UAAU,CAAC;QAEzCK,UAAU,GAAG;UACXM,IAAI,EAAEF,KAAK,CAACE,IAAI;UAChBC,OAAO,EAAEH,KAAK,CAACG,OAAO;UACtBC,KAAK,EAAE,CAACL,QAAQ;QAClB,CAAC;MACH;MACAjB,QAAQ,CAACc,UAAU,EAAE,IAAAS,kCAA2B,EAACV,QAAQ,EAAEJ,UAAU,CAAC,CAAC;IACzE;EACF,CAAC,CAAC;AACJ;AACA,SAASU,iBAAiBA,CAACV,UAAU,EAAE;EACrC,IAAIW,IAAI;EACR,IAAIC,OAAO;EACX,IAAI,CAAC,CAAC,CAACG,QAAQ,CAACC,IAAI,CAAChB,UAAU,CAAC,KAAK,iBAAiB,EAAE;IACtD,IAAIiB,MAAM,GAAG5B,cAAc,CAAC6B,IAAI,CAAClB,UAAU,CAAC;IAC5C,IAAIiB,MAAM,EAAE;MACVN,IAAI,GAAGM,MAAM,CAAC,CAAC,CAAC;MAChBL,OAAO,GAAGK,MAAM,CAAC,CAAC,CAAC;IACrB;EACF;EACA,OAAO;IAAEN,IAAI,EAAEA,IAAI;IAAEC,OAAO,EAAEA;EAAQ,CAAC;AACzC;AACA;AACA;AACA;AACA,SAASjB,4BAA4BA,CAACJ,QAAQ,EAAE;EAC9C,OAAO,IAAAM,iDAA+B,EAACC,MAAM,EAAE,sBAAsB,EAAE;IACrEC,MAAM,EAAE,SAAAA,OAAUoB,CAAC,EAAE;MACnB,IAAIC,MAAM,GAAGD,CAAC,CAACC,MAAM,IAAI,cAAc;MACvC,IAAIP,KAAK,GAAG,IAAAN,oCAAiB,EAACa,MAAM,CAAC;MACrC7B,QAAQ,CAACsB,KAAK,EAAEO,MAAM,CAAC;IACzB;EACF,CAAC,CAAC;AACJ"}
|