@coralogix/browser 1.2.26 → 1.2.28
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 +19 -3
- package/package.json +1 -1
- package/src/constants.d.ts +1 -1
- package/src/constants.js +1 -1
- package/src/constants.js.map +1 -1
- package/src/instrumentations/{CoralogixUserInteractionInstrumentation.d.ts → user-interaction/CoralogixUserInteractionInstrumentation.d.ts} +1 -3
- package/src/instrumentations/{CoralogixUserInteractionInstrumentation.js → user-interaction/CoralogixUserInteractionInstrumentation.js} +9 -39
- package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js.map +1 -0
- package/src/instrumentations/user-interaction/user-interaction.utils.d.ts +2 -0
- package/src/instrumentations/user-interaction/user-interaction.utils.js +70 -0
- package/src/instrumentations/user-interaction/user-interaction.utils.js.map +1 -0
- package/src/processors/CoralogixSpanMapProcessor.js +0 -1
- package/src/processors/CoralogixSpanMapProcessor.js.map +1 -1
- package/src/types.d.ts +1 -2
- package/src/types.js.map +1 -1
- package/src/version.d.ts +1 -1
- package/src/version.js +1 -1
- package/src/instrumentations/CoralogixUserInteractionInstrumentation.js.map +0 -1
package/README.md
CHANGED
|
@@ -290,16 +290,32 @@ CoralogixRum.init({
|
|
|
290
290
|
|
|
291
291
|
### Mask elements
|
|
292
292
|
|
|
293
|
-
User interactions
|
|
293
|
+
User interactions capture text from clickable elements only (button, label, link, input, option).
|
|
294
|
+
Elements text can be masked to prevent sensitive data exposure.
|
|
294
295
|
<br>use `maskInputTypes` to specify the types of inputs to mask. defaults to: `['password', 'email', 'tel']`
|
|
295
|
-
<br>use `maskClass` to specify the class name that will be used to mask any element
|
|
296
|
+
<br>use `maskClass` to specify the class name that will be used to mask any clickable element. Default masking class is `cx-mask`.
|
|
296
297
|
|
|
297
298
|
```javascript
|
|
298
299
|
CoralogixRum.init({
|
|
299
300
|
// ...
|
|
300
301
|
maskInputTypes: ['password', 'date'], // will only mask password and date inputs
|
|
301
|
-
maskClass: 'mask-me', // will mask any element with class 'mask-me'
|
|
302
|
+
maskClass: 'mask-me', // will mask any clickable element with class 'mask-me'
|
|
302
303
|
});
|
|
304
|
+
```
|
|
305
|
+
Examples of masked elements:
|
|
306
|
+
```javascript
|
|
307
|
+
<button class="cx-mask">
|
|
308
|
+
<span>Some Text</span>
|
|
309
|
+
</button>
|
|
310
|
+
|
|
311
|
+
<button>
|
|
312
|
+
<span class="cx-mask">Some Text</span>
|
|
313
|
+
</button>
|
|
314
|
+
|
|
315
|
+
<my-button-component class="cx-mask">
|
|
316
|
+
<button>Text</button>
|
|
317
|
+
</my-button-component>
|
|
318
|
+
|
|
303
319
|
```
|
|
304
320
|
|
|
305
321
|
### Label Providers
|
package/package.json
CHANGED
package/src/constants.d.ts
CHANGED
|
@@ -3,13 +3,13 @@ import { CoralogixErrorInstrumentation } from './instrumentations/CoralogixError
|
|
|
3
3
|
import { CoralogixFetchInstrumentation } from './instrumentations/CoralogixFetchInstrumentation';
|
|
4
4
|
import { CoralogixXhrInstrumentation } from './instrumentations/CoralogixXhrInstrumentation';
|
|
5
5
|
import { CoralogixCustomLogInstrumentation } from './instrumentations/CoralogixCustomLogInstrumentation';
|
|
6
|
-
import { CoralogixUserInteractionInstrumentation } from './instrumentations/CoralogixUserInteractionInstrumentation';
|
|
7
6
|
import { CoralogixWebVitalsInstrumentation } from './instrumentations/CoralogixWebVitalsInstrumentation';
|
|
8
7
|
import { CoralogixLongTaskInstrumentation } from './instrumentations/CoralogixLongTaskInstrumentation';
|
|
9
8
|
import { CoralogixResourcesInstrumentation } from './instrumentations/CoralogixResourcesInstrumentation';
|
|
10
9
|
import { CoralogixInternalInstrumentation } from './instrumentations/CoralogixInternalInstrumentation';
|
|
11
10
|
import { CoralogixDOMInstrumentation } from './instrumentations/CoralogixDOMInstrumentation';
|
|
12
11
|
import { CoralogixCustomMeasurementInstrumentation } from './instrumentations/CoralogixCustomMeasurementInstrumentation';
|
|
12
|
+
import { CoralogixUserInteractionInstrumentation } from './instrumentations/user-interaction/CoralogixUserInteractionInstrumentation';
|
|
13
13
|
export declare const CORALOGIX_LOGS_URL_SUFFIX = "/browser/v1beta/logs";
|
|
14
14
|
export declare const CORALOGIX_RECORDING_URL_SUFFIX = "/sessionrecording";
|
|
15
15
|
export declare const MAX_EXPORT_BATCH_SIZE = 50;
|
package/src/constants.js
CHANGED
|
@@ -2,7 +2,6 @@ import { CoralogixErrorInstrumentation, ERROR_INSTRUMENTATION_NAME, ErrorAttribu
|
|
|
2
2
|
import { CoralogixFetchInstrumentation } from './instrumentations/CoralogixFetchInstrumentation';
|
|
3
3
|
import { CoralogixXhrInstrumentation } from './instrumentations/CoralogixXhrInstrumentation';
|
|
4
4
|
import { CoralogixCustomLogInstrumentation } from './instrumentations/CoralogixCustomLogInstrumentation';
|
|
5
|
-
import { CoralogixUserInteractionInstrumentation } from './instrumentations/CoralogixUserInteractionInstrumentation';
|
|
6
5
|
import { CoralogixWebVitalsInstrumentation } from './instrumentations/CoralogixWebVitalsInstrumentation';
|
|
7
6
|
import { CUSTOM_MEASUREMENT_INSTRUMENTATION_NAME, DOM_INSTRUMENTATION_NAME, INTERNAL_INSTRUMENTATION_NAME, LONG_TASKS_INSTRUMENTATION_NAME, RESOURCES_INSTRUMENTATION_NAME, WEB_VITALS_INSTRUMENTATION_NAME, } from './instrumentations/instrumentation.consts';
|
|
8
7
|
import { CoralogixLongTaskInstrumentation } from './instrumentations/CoralogixLongTaskInstrumentation';
|
|
@@ -12,6 +11,7 @@ import { millisecondsPerSecond } from './utils/time';
|
|
|
12
11
|
import { CoralogixInternalInstrumentation } from './instrumentations/CoralogixInternalInstrumentation';
|
|
13
12
|
import { CoralogixDOMInstrumentation } from './instrumentations/CoralogixDOMInstrumentation';
|
|
14
13
|
import { CoralogixCustomMeasurementInstrumentation } from './instrumentations/CoralogixCustomMeasurementInstrumentation';
|
|
14
|
+
import { CoralogixUserInteractionInstrumentation } from './instrumentations/user-interaction/CoralogixUserInteractionInstrumentation';
|
|
15
15
|
export const CORALOGIX_LOGS_URL_SUFFIX = '/browser/v1beta/logs';
|
|
16
16
|
export const CORALOGIX_RECORDING_URL_SUFFIX = '/sessionrecording';
|
|
17
17
|
export const MAX_EXPORT_BATCH_SIZE = 50;
|
package/src/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../libs/browser/src/constants.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,eAAe,GAChB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../libs/browser/src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InstrumentationBase, InstrumentationConfig } from '@opentelemetry/instrumentation';
|
|
2
|
-
import { EventName } from '
|
|
2
|
+
import { EventName } from '../../types';
|
|
3
3
|
export declare const USER_INTERACTION_INSTRUMENTATION_NAME = "user-interaction";
|
|
4
4
|
export declare const USER_INTERACTION_INSTRUMENTATION_VERSION = "1";
|
|
5
5
|
export type UserInteractionEventsConfig = Partial<Record<EventName, boolean>>;
|
|
@@ -12,8 +12,6 @@ export declare class CoralogixUserInteractionInstrumentation extends Instrumenta
|
|
|
12
12
|
private stop;
|
|
13
13
|
constructor(config: CoralogixUserInteractionInstrumentationConfig);
|
|
14
14
|
enable(): void;
|
|
15
|
-
private shouldMaskElement;
|
|
16
|
-
private shouldMaskByClass;
|
|
17
15
|
disable(): void;
|
|
18
16
|
protected init(): void;
|
|
19
17
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { InstrumentationBase, } from '@opentelemetry/instrumentation';
|
|
2
|
-
import { CoralogixAttributes,
|
|
3
|
-
import { CoralogixEventType, } from '
|
|
4
|
-
import { addEventListeners } from '
|
|
5
|
-
import { getSdkConfig } from '
|
|
2
|
+
import { CoralogixAttributes, MAX_INTERACTION_ELEMENT_SIZE, } from '../../constants';
|
|
3
|
+
import { CoralogixEventType, } from '../../types';
|
|
4
|
+
import { addEventListeners } from '../../tools/addEventListener';
|
|
5
|
+
import { getSdkConfig } from '../../helpers';
|
|
6
|
+
import { extractMaskedOrTextContent } from './user-interaction.utils';
|
|
6
7
|
export const USER_INTERACTION_INSTRUMENTATION_NAME = 'user-interaction';
|
|
7
8
|
export const USER_INTERACTION_INSTRUMENTATION_VERSION = '1';
|
|
8
9
|
export const DEFAULT_INSTRUMENTED_EVENTS = {
|
|
@@ -17,36 +18,21 @@ export class CoralogixUserInteractionInstrumentation extends InstrumentationBase
|
|
|
17
18
|
enable() {
|
|
18
19
|
var _a;
|
|
19
20
|
this.handler = (e) => {
|
|
20
|
-
const eventTarget = e.target;
|
|
21
21
|
const span = this.tracer.startSpan(USER_INTERACTION_INSTRUMENTATION_NAME);
|
|
22
|
+
const eventTarget = e.target;
|
|
22
23
|
const config = getSdkConfig();
|
|
23
|
-
const {
|
|
24
|
-
const
|
|
25
|
-
? MASKED_TEXT
|
|
26
|
-
: innerHTML;
|
|
24
|
+
const { id, type, className, nodeName } = eventTarget;
|
|
25
|
+
const elementText = extractMaskedOrTextContent(eventTarget, config);
|
|
27
26
|
span.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.USER_INTERACTION);
|
|
28
27
|
span.setAttribute(CoralogixAttributes.INTERACTION_EVENT_NAME, e.type);
|
|
29
28
|
if (eventTarget && eventTarget instanceof HTMLElement) {
|
|
30
|
-
const elementInnerText = () => {
|
|
31
|
-
const val = innerText || value || '';
|
|
32
|
-
if (this.shouldMaskElement(config, nodeName, className, type)) {
|
|
33
|
-
return MASKED_TEXT;
|
|
34
|
-
}
|
|
35
|
-
return typeof val === 'string' ? val : '';
|
|
36
|
-
};
|
|
37
29
|
[
|
|
38
|
-
[
|
|
39
|
-
CoralogixAttributes.ELEMENT_INNER_HTML,
|
|
40
|
-
(finalInnerHtml === null || finalInnerHtml === void 0 ? void 0 : finalInnerHtml.length) < MAX_INTERACTION_ELEMENT_SIZE
|
|
41
|
-
? finalInnerHtml
|
|
42
|
-
: '',
|
|
43
|
-
],
|
|
44
30
|
[CoralogixAttributes.ELEMENT_ID, id],
|
|
45
31
|
[CoralogixAttributes.ELEMENT_CLASSES, className],
|
|
46
32
|
[CoralogixAttributes.TARGET_ELEMENT_TYPE, type],
|
|
47
33
|
[
|
|
48
34
|
CoralogixAttributes.ELEMENT_INNER_TEXT,
|
|
49
|
-
|
|
35
|
+
elementText === null || elementText === void 0 ? void 0 : elementText.slice(0, MAX_INTERACTION_ELEMENT_SIZE),
|
|
50
36
|
],
|
|
51
37
|
[CoralogixAttributes.TARGET_ELEMENT, nodeName],
|
|
52
38
|
].forEach(([key, value]) => {
|
|
@@ -64,22 +50,6 @@ export class CoralogixUserInteractionInstrumentation extends InstrumentationBase
|
|
|
64
50
|
passive: true,
|
|
65
51
|
}).stop;
|
|
66
52
|
}
|
|
67
|
-
shouldMaskElement(config, nodeName, className, type) {
|
|
68
|
-
const { maskInputTypes, maskClass } = config;
|
|
69
|
-
const shouldMaskByInput = nodeName === 'INPUT' && maskInputTypes.includes(type);
|
|
70
|
-
const shouldMaskByClass = this.shouldMaskByClass(config, className);
|
|
71
|
-
return shouldMaskByInput || shouldMaskByClass;
|
|
72
|
-
}
|
|
73
|
-
shouldMaskByClass(config, className) {
|
|
74
|
-
const { maskClass } = config;
|
|
75
|
-
if (maskClass instanceof RegExp) {
|
|
76
|
-
return maskClass.test(className);
|
|
77
|
-
}
|
|
78
|
-
if (typeof className === 'string') {
|
|
79
|
-
return className.includes(maskClass);
|
|
80
|
-
}
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
53
|
disable() {
|
|
84
54
|
this.stop();
|
|
85
55
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoralogixUserInteractionInstrumentation.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { MASKED_TEXT } from '../../constants';
|
|
2
|
+
const PARENT_SEARCH_DEPTH = 5;
|
|
3
|
+
const CLICKABLE_ELEMENTS = ['BUTTON', 'LABEL', 'A', 'INPUT', 'OPTION'];
|
|
4
|
+
export function extractMaskedOrTextContent(element, config) {
|
|
5
|
+
if (!element)
|
|
6
|
+
return '';
|
|
7
|
+
const clickableElement = findClickableElement(element, PARENT_SEARCH_DEPTH);
|
|
8
|
+
if (!clickableElement)
|
|
9
|
+
return '';
|
|
10
|
+
return getMaskedOrTextualContent(clickableElement, config);
|
|
11
|
+
}
|
|
12
|
+
function findClickableElement(element, maxDepth) {
|
|
13
|
+
if (!element || maxDepth <= 0) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (CLICKABLE_ELEMENTS.includes(element.nodeName))
|
|
17
|
+
return element;
|
|
18
|
+
return findClickableElement(element.parentElement, maxDepth - 1);
|
|
19
|
+
}
|
|
20
|
+
function getMaskedOrTextualContent(element, config) {
|
|
21
|
+
if (shouldMaskElement(element, config.maskInputTypes, config.maskClass) ||
|
|
22
|
+
isParentMasked(element, config.maskClass, PARENT_SEARCH_DEPTH)) {
|
|
23
|
+
return MASKED_TEXT;
|
|
24
|
+
}
|
|
25
|
+
const maskedChild = findMaskedChildren(element, config);
|
|
26
|
+
if (maskedChild) {
|
|
27
|
+
return MASKED_TEXT;
|
|
28
|
+
}
|
|
29
|
+
return getTextualContent(element);
|
|
30
|
+
}
|
|
31
|
+
function isParentMasked(element, maskClass, maxDepth = PARENT_SEARCH_DEPTH) {
|
|
32
|
+
if (!element || maxDepth <= 0) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (isMaskedByClass(element.className, maskClass)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return isParentMasked(element.parentElement, maskClass, maxDepth - 1);
|
|
39
|
+
}
|
|
40
|
+
function findMaskedChildren(element, config) {
|
|
41
|
+
if (!element.children)
|
|
42
|
+
return null;
|
|
43
|
+
return Array.from(element.children).find((child) => shouldMaskElement(child, config.maskInputTypes, config.maskClass));
|
|
44
|
+
}
|
|
45
|
+
function shouldMaskElement(element, maskInputTypes, maskClass) {
|
|
46
|
+
if (!element)
|
|
47
|
+
return false;
|
|
48
|
+
return (isMaskedInput(element, maskInputTypes) ||
|
|
49
|
+
isMaskedByClass(element.className, maskClass));
|
|
50
|
+
}
|
|
51
|
+
function isMaskedInput(element, maskInputTypes) {
|
|
52
|
+
if (element instanceof HTMLInputElement) {
|
|
53
|
+
const inputType = element.type || 'text';
|
|
54
|
+
return maskInputTypes.includes(inputType);
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
function isMaskedByClass(className, maskClass) {
|
|
59
|
+
if (maskClass instanceof RegExp) {
|
|
60
|
+
return maskClass.test(className);
|
|
61
|
+
}
|
|
62
|
+
return className.includes(maskClass);
|
|
63
|
+
}
|
|
64
|
+
function getTextualContent(element) {
|
|
65
|
+
if (element instanceof HTMLInputElement) {
|
|
66
|
+
return element.value || '';
|
|
67
|
+
}
|
|
68
|
+
return 'innerText' in element ? element.innerText : '';
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=user-interaction.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-interaction.utils.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/user-interaction/user-interaction.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -201,7 +201,6 @@ export class CoralogixSpanMapProcessor {
|
|
|
201
201
|
target_element: spanAttributes[CoralogixAttributes.TARGET_ELEMENT],
|
|
202
202
|
event_name: spanAttributes[CoralogixAttributes.INTERACTION_EVENT_NAME],
|
|
203
203
|
target_element_inner_text: spanAttributes[CoralogixAttributes.ELEMENT_INNER_TEXT],
|
|
204
|
-
target_element_inner_html: spanAttributes[CoralogixAttributes.ELEMENT_INNER_HTML],
|
|
205
204
|
element_id: spanAttributes[CoralogixAttributes.ELEMENT_ID],
|
|
206
205
|
element_classes: spanAttributes[CoralogixAttributes.ELEMENT_CLASSES],
|
|
207
206
|
target_element_type: spanAttributes[CoralogixAttributes.TARGET_ELEMENT_TYPE],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixSpanMapProcessor.js","sourceRoot":"","sources":["../../../../../libs/browser/src/processors/CoralogixSpanMapProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAUlB,gBAAgB,GAMjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,gBAAgC,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,OAAO,yBAAyB;IAAtC;QAGU,cAAS,GAA8B,YAAY,EAAE,CAAC;QAE9D,aAAQ,GAAY,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"CoralogixSpanMapProcessor.js","sourceRoot":"","sources":["../../../../../libs/browser/src/processors/CoralogixSpanMapProcessor.ts"],"names":[],"mappings":"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"}
|
package/src/types.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { XHRSource } from './instrumentations/CoralogixXhrInstrumentation';
|
|
|
7
7
|
import { LogSource } from './instrumentations/CoralogixCustomLogInstrumentation';
|
|
8
8
|
import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
9
9
|
import { StackFrame } from 'error-stack-parser';
|
|
10
|
-
import { CoralogixUserInteractionInstrumentationConfig } from './instrumentations/CoralogixUserInteractionInstrumentation';
|
|
10
|
+
import { CoralogixUserInteractionInstrumentationConfig } from './instrumentations/user-interaction/CoralogixUserInteractionInstrumentation';
|
|
11
11
|
import { Metric } from 'web-vitals/attribution';
|
|
12
12
|
import { CoralogixWebVitalsInstrumentationConfig } from './instrumentations/instrumentation.model';
|
|
13
13
|
import { UrlBasedLabelProvider } from './label-providers/url-based-label-provider';
|
|
@@ -233,7 +233,6 @@ export interface NetworkRequestContext {
|
|
|
233
233
|
export interface InteractionContext {
|
|
234
234
|
target_element: string;
|
|
235
235
|
target_element_inner_text: string;
|
|
236
|
-
target_element_inner_html: string;
|
|
237
236
|
target_element_type: string;
|
|
238
237
|
event_name: string;
|
|
239
238
|
element_id: string;
|
package/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../libs/browser/src/types.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAN,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yDAAmC,CAAA;IACnC,iCAAW,CAAA;IACX,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,4CAAsB,CAAA;IACtB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,iCAAW,CAAA;IACX,+DAAyC,CAAA;AAC3C,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,QAW7B;AAED,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,sDAAkC,CAAA;AACpC,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../libs/browser/src/types.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAN,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yDAAmC,CAAA;IACnC,iCAAW,CAAA;IACX,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,4CAAsB,CAAA;IACtB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,iCAAW,CAAA;IACX,+DAAyC,CAAA;AAC3C,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,QAW7B;AAED,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,sDAAkC,CAAA;AACpC,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAwYD,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,0CAAsB,CAAA;IACtB,oCAAgB,CAAA;IAChB,oDAAgC,CAAA;IAChC,sCAAkB,CAAA;IAClB,0CAAsB,CAAA;IACtB,oDAAgC,CAAA;IAChC,4EAAwD,CAAA;AAC1D,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAsBD,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,8CAAmC,CAAA;AACrC,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
|
package/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.2.
|
|
1
|
+
export declare const SDK_VERSION = "1.2.28";
|
package/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = '1.2.
|
|
1
|
+
export const SDK_VERSION = '1.2.28';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixUserInteractionInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixUserInteractionInstrumentation.ts"],"names":[],"mappings":"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"}
|