@grafana/faro-web-sdk 1.18.2 → 2.0.0-beta

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.
Files changed (124) hide show
  1. package/dist/bundle/faro-web-sdk.iife.js +1 -1
  2. package/dist/bundle/types/config/types.d.ts +2 -2
  3. package/dist/bundle/types/index.d.ts +6 -6
  4. package/dist/bundle/types/instrumentations/console/index.d.ts +0 -1
  5. package/dist/bundle/types/instrumentations/console/instrumentation.d.ts +1 -4
  6. package/dist/bundle/types/instrumentations/csp/index.d.ts +1 -0
  7. package/dist/bundle/types/instrumentations/csp/instrumentation.d.ts +10 -0
  8. package/dist/bundle/types/instrumentations/errors/instrumentation.d.ts +1 -1
  9. package/dist/bundle/types/instrumentations/index.d.ts +3 -3
  10. package/dist/bundle/types/instrumentations/performance/instrumentation.d.ts +1 -1
  11. package/dist/bundle/types/instrumentations/session/index.d.ts +1 -1
  12. package/dist/bundle/types/instrumentations/session/instrumentation.d.ts +1 -1
  13. package/dist/bundle/types/instrumentations/session/sessionManager/index.d.ts +1 -1
  14. package/dist/bundle/types/instrumentations/session/sessionManager/sessionConstants.d.ts +0 -4
  15. package/dist/bundle/types/instrumentations/userActions/index.d.ts +1 -1
  16. package/dist/bundle/types/instrumentations/userActions/instrumentation.d.ts +3 -2
  17. package/dist/bundle/types/instrumentations/userActions/processUserActionEventHandler.d.ts +10 -3
  18. package/dist/bundle/types/instrumentations/userActions/types.d.ts +0 -5
  19. package/dist/bundle/types/instrumentations/view/instrumentation.d.ts +1 -1
  20. package/dist/bundle/types/instrumentations/webVitals/instrumentation.d.ts +1 -1
  21. package/dist/bundle/types/instrumentations/webVitals/webVitalsBasic.d.ts +1 -2
  22. package/dist/bundle/types/instrumentations/webVitals/webVitalsWithAttribution.d.ts +0 -1
  23. package/dist/bundle/types/transports/console/transport.d.ts +1 -1
  24. package/dist/bundle/types/transports/fetch/transport.d.ts +1 -1
  25. package/dist/cjs/config/getWebInstrumentations.js +4 -3
  26. package/dist/cjs/config/getWebInstrumentations.js.map +1 -1
  27. package/dist/cjs/config/makeCoreConfig.js +6 -5
  28. package/dist/cjs/config/makeCoreConfig.js.map +1 -1
  29. package/dist/cjs/config/types.js.map +1 -1
  30. package/dist/cjs/index.js +3 -11
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/instrumentations/console/index.js.map +1 -1
  33. package/dist/cjs/instrumentations/console/instrumentation.js +11 -25
  34. package/dist/cjs/instrumentations/console/instrumentation.js.map +1 -1
  35. package/dist/cjs/instrumentations/csp/index.js +6 -0
  36. package/dist/cjs/instrumentations/csp/index.js.map +1 -0
  37. package/dist/cjs/instrumentations/csp/instrumentation.js +40 -0
  38. package/dist/cjs/instrumentations/csp/instrumentation.js.map +1 -0
  39. package/dist/cjs/instrumentations/errors/stackFrames/const.js +1 -1
  40. package/dist/cjs/instrumentations/errors/stackFrames/const.js.map +1 -1
  41. package/dist/cjs/instrumentations/index.js +3 -3
  42. package/dist/cjs/instrumentations/index.js.map +1 -1
  43. package/dist/cjs/instrumentations/session/index.js +1 -2
  44. package/dist/cjs/instrumentations/session/index.js.map +1 -1
  45. package/dist/cjs/instrumentations/session/sessionManager/index.js +1 -2
  46. package/dist/cjs/instrumentations/session/sessionManager/index.js.map +1 -1
  47. package/dist/cjs/instrumentations/session/sessionManager/sessionConstants.js +1 -5
  48. package/dist/cjs/instrumentations/session/sessionManager/sessionConstants.js.map +1 -1
  49. package/dist/cjs/instrumentations/userActions/index.js +1 -2
  50. package/dist/cjs/instrumentations/userActions/index.js.map +1 -1
  51. package/dist/cjs/instrumentations/userActions/instrumentation.js +17 -15
  52. package/dist/cjs/instrumentations/userActions/instrumentation.js.map +1 -1
  53. package/dist/cjs/instrumentations/userActions/processUserActionEventHandler.js +30 -129
  54. package/dist/cjs/instrumentations/userActions/processUserActionEventHandler.js.map +1 -1
  55. package/dist/cjs/instrumentations/userActions/types.js.map +1 -1
  56. package/dist/cjs/instrumentations/webVitals/webVitalsBasic.js +0 -1
  57. package/dist/cjs/instrumentations/webVitals/webVitalsBasic.js.map +1 -1
  58. package/dist/cjs/instrumentations/webVitals/webVitalsWithAttribution.js +2 -17
  59. package/dist/cjs/instrumentations/webVitals/webVitalsWithAttribution.js.map +1 -1
  60. package/dist/esm/config/getWebInstrumentations.js +5 -4
  61. package/dist/esm/config/getWebInstrumentations.js.map +1 -1
  62. package/dist/esm/config/makeCoreConfig.js +9 -5
  63. package/dist/esm/config/makeCoreConfig.js.map +1 -1
  64. package/dist/esm/config/types.js.map +1 -1
  65. package/dist/esm/index.js +4 -4
  66. package/dist/esm/index.js.map +1 -1
  67. package/dist/esm/instrumentations/console/index.js.map +1 -1
  68. package/dist/esm/instrumentations/console/instrumentation.js +9 -11
  69. package/dist/esm/instrumentations/console/instrumentation.js.map +1 -1
  70. package/dist/esm/instrumentations/csp/index.js +2 -0
  71. package/dist/esm/instrumentations/csp/index.js.map +1 -0
  72. package/dist/esm/instrumentations/csp/instrumentation.js +18 -0
  73. package/dist/esm/instrumentations/csp/instrumentation.js.map +1 -0
  74. package/dist/esm/instrumentations/errors/stackFrames/const.js +1 -1
  75. package/dist/esm/instrumentations/errors/stackFrames/const.js.map +1 -1
  76. package/dist/esm/instrumentations/index.js +3 -2
  77. package/dist/esm/instrumentations/index.js.map +1 -1
  78. package/dist/esm/instrumentations/session/index.js +1 -1
  79. package/dist/esm/instrumentations/session/index.js.map +1 -1
  80. package/dist/esm/instrumentations/session/sessionManager/index.js +1 -1
  81. package/dist/esm/instrumentations/session/sessionManager/index.js.map +1 -1
  82. package/dist/esm/instrumentations/session/sessionManager/sessionConstants.js +0 -4
  83. package/dist/esm/instrumentations/session/sessionManager/sessionConstants.js.map +1 -1
  84. package/dist/esm/instrumentations/userActions/index.js +1 -1
  85. package/dist/esm/instrumentations/userActions/index.js.map +1 -1
  86. package/dist/esm/instrumentations/userActions/instrumentation.js +17 -15
  87. package/dist/esm/instrumentations/userActions/instrumentation.js.map +1 -1
  88. package/dist/esm/instrumentations/userActions/processUserActionEventHandler.js +30 -125
  89. package/dist/esm/instrumentations/userActions/processUserActionEventHandler.js.map +1 -1
  90. package/dist/esm/instrumentations/userActions/types.js.map +1 -1
  91. package/dist/esm/instrumentations/webVitals/webVitalsBasic.js +1 -2
  92. package/dist/esm/instrumentations/webVitals/webVitalsBasic.js.map +1 -1
  93. package/dist/esm/instrumentations/webVitals/webVitalsWithAttribution.js +3 -17
  94. package/dist/esm/instrumentations/webVitals/webVitalsWithAttribution.js.map +1 -1
  95. package/dist/types/config/types.d.ts +2 -2
  96. package/dist/types/index.d.ts +6 -6
  97. package/dist/types/instrumentations/console/index.d.ts +0 -1
  98. package/dist/types/instrumentations/console/instrumentation.d.ts +1 -4
  99. package/dist/types/instrumentations/csp/index.d.ts +1 -0
  100. package/dist/types/instrumentations/csp/instrumentation.d.ts +10 -0
  101. package/dist/types/instrumentations/errors/instrumentation.d.ts +1 -1
  102. package/dist/types/instrumentations/index.d.ts +3 -3
  103. package/dist/types/instrumentations/performance/instrumentation.d.ts +1 -1
  104. package/dist/types/instrumentations/session/index.d.ts +1 -1
  105. package/dist/types/instrumentations/session/instrumentation.d.ts +1 -1
  106. package/dist/types/instrumentations/session/sessionManager/index.d.ts +1 -1
  107. package/dist/types/instrumentations/session/sessionManager/sessionConstants.d.ts +0 -4
  108. package/dist/types/instrumentations/userActions/index.d.ts +1 -1
  109. package/dist/types/instrumentations/userActions/instrumentation.d.ts +3 -2
  110. package/dist/types/instrumentations/userActions/processUserActionEventHandler.d.ts +10 -3
  111. package/dist/types/instrumentations/userActions/types.d.ts +0 -5
  112. package/dist/types/instrumentations/view/instrumentation.d.ts +1 -1
  113. package/dist/types/instrumentations/webVitals/instrumentation.d.ts +1 -1
  114. package/dist/types/instrumentations/webVitals/webVitalsBasic.d.ts +1 -2
  115. package/dist/types/instrumentations/webVitals/webVitalsWithAttribution.d.ts +0 -1
  116. package/dist/types/transports/console/transport.d.ts +1 -1
  117. package/dist/types/transports/fetch/transport.d.ts +1 -1
  118. package/package.json +10 -10
  119. package/dist/bundle/types/instrumentations/console/types.d.ts +0 -6
  120. package/dist/cjs/instrumentations/console/types.js +0 -3
  121. package/dist/cjs/instrumentations/console/types.js.map +0 -1
  122. package/dist/esm/instrumentations/console/types.js +0 -2
  123. package/dist/esm/instrumentations/console/types.js.map +0 -1
  124. package/dist/types/instrumentations/console/types.d.ts +0 -6
@@ -3,6 +3,6 @@ import type { ResourceEntryMessage } from './types';
3
3
  export declare const performanceEntriesSubscription: Observable<ResourceEntryMessage>;
4
4
  export declare class PerformanceInstrumentation extends BaseInstrumentation {
5
5
  readonly name = "@grafana/faro-web-sdk:instrumentation-performance";
6
- readonly version = "1.18.2";
6
+ readonly version = "2.0.0-beta";
7
7
  initialize(): void;
8
8
  }
@@ -1,3 +1,3 @@
1
1
  export { SessionInstrumentation } from './instrumentation';
2
- export { MAX_SESSION_PERSISTENCE_TIME, MAX_SESSION_PERSISTENCE_TIME_BUFFER, PersistentSessionsManager, SESSION_EXPIRATION_TIME, SESSION_INACTIVITY_TIME, STORAGE_KEY, STORAGE_UPDATE_DELAY, VolatileSessionsManager, defaultSessionTrackingConfig, isSampled, } from './sessionManager';
2
+ export { MAX_SESSION_PERSISTENCE_TIME, PersistentSessionsManager, SESSION_EXPIRATION_TIME, SESSION_INACTIVITY_TIME, STORAGE_KEY, STORAGE_UPDATE_DELAY, VolatileSessionsManager, defaultSessionTrackingConfig, isSampled, } from './sessionManager';
3
3
  export type { FaroUserSession } from './sessionManager';
@@ -1,7 +1,7 @@
1
1
  import { BaseInstrumentation } from '@grafana/faro-core';
2
2
  export declare class SessionInstrumentation extends BaseInstrumentation {
3
3
  readonly name = "@grafana/faro-web-sdk:instrumentation-session";
4
- readonly version = "1.18.2";
4
+ readonly version = "2.0.0-beta";
5
5
  private notifiedSession;
6
6
  private sendSessionStartEvent;
7
7
  private createInitialSession;
@@ -1,6 +1,6 @@
1
1
  export { PersistentSessionsManager } from './PersistentSessionsManager';
2
2
  export { VolatileSessionsManager } from './VolatileSessionManager';
3
- export { MAX_SESSION_PERSISTENCE_TIME, MAX_SESSION_PERSISTENCE_TIME_BUFFER, SESSION_EXPIRATION_TIME, SESSION_INACTIVITY_TIME, STORAGE_KEY, STORAGE_UPDATE_DELAY, defaultSessionTrackingConfig, } from './sessionConstants';
3
+ export { MAX_SESSION_PERSISTENCE_TIME, SESSION_EXPIRATION_TIME, SESSION_INACTIVITY_TIME, STORAGE_KEY, STORAGE_UPDATE_DELAY, defaultSessionTrackingConfig, } from './sessionConstants';
4
4
  export { isSampled } from './sampling';
5
5
  export type { FaroUserSession } from './types';
6
6
  export { getSessionManagerByConfig } from './getSessionManagerByConfig';
@@ -3,9 +3,5 @@ export declare const STORAGE_KEY = "com.grafana.faro.session";
3
3
  export declare const SESSION_EXPIRATION_TIME: number;
4
4
  export declare const SESSION_INACTIVITY_TIME: number;
5
5
  export declare const STORAGE_UPDATE_DELAY: number;
6
- /**
7
- * @deprecated MAX_SESSION_PERSISTENCE_TIME_BUFFER is not used anymore. The constant will be removed in the future
8
- */
9
- export declare const MAX_SESSION_PERSISTENCE_TIME_BUFFER: number;
10
6
  export declare const MAX_SESSION_PERSISTENCE_TIME: number;
11
7
  export declare const defaultSessionTrackingConfig: Config['sessionTracking'];
@@ -1,3 +1,3 @@
1
- export { UserActionInstrumentation, startUserAction } from './instrumentation';
1
+ export { UserActionInstrumentation } from './instrumentation';
2
2
  export type { DomMutationMessage, HttpRequestEndMessage, HttpRequestStartMessage, HttpRequestMessagePayload, } from './types';
3
3
  export { MESSAGE_TYPE_DOM_MUTATION, MESSAGE_TYPE_HTTP_REQUEST_END, MESSAGE_TYPE_HTTP_REQUEST_START, userActionDataAttribute, } from './const';
@@ -1,7 +1,8 @@
1
1
  import { BaseInstrumentation } from '@grafana/faro-core';
2
2
  export declare class UserActionInstrumentation extends BaseInstrumentation {
3
3
  readonly name = "@grafana/faro-web-sdk:instrumentation-user-action";
4
- readonly version = "1.18.2";
4
+ readonly version = "2.0.0-beta";
5
+ private _userActionSub?;
5
6
  initialize(): void;
7
+ destroy(): void;
6
8
  }
7
- export declare function startUserAction(name: string, attributes?: Record<string, string>): void;
@@ -1,3 +1,10 @@
1
- import type { Faro } from '@grafana/faro-core';
2
- import type { ApiEvent } from './types';
3
- export declare function getUserEventHandler(faro: Faro): (event: PointerEvent | KeyboardEvent | ApiEvent) => void;
1
+ import type { Faro, Subscription, UserActionInterface } from '@grafana/faro-core';
2
+ import type { HttpRequestEndMessage, HttpRequestStartMessage } from './types';
3
+ export declare function getUserEventHandler(faro: Faro): {
4
+ processUserEvent: (event: PointerEvent | KeyboardEvent) => void;
5
+ proceessUserActionStarted: (userAction: UserActionInterface) => void;
6
+ };
7
+ export declare function getUserActionNameFromElement(element: HTMLElement, dataAttributeName: string): string | undefined;
8
+ export declare function unsubscribeAllMonitors(allMonitorsSub: Subscription | undefined): void;
9
+ export declare function isRequestStartMessage(msg: any): msg is HttpRequestStartMessage;
10
+ export declare function isRequestEndMessage(msg: any): msg is HttpRequestEndMessage;
@@ -17,9 +17,4 @@ export type HttpRequestEndMessage = {
17
17
  type: typeof MESSAGE_TYPE_HTTP_REQUEST_END;
18
18
  request: HttpRequestMessagePayload;
19
19
  };
20
- export type ApiEvent = {
21
- name: string;
22
- attributes?: Record<string, string>;
23
- type: 'apiEvent';
24
- };
25
20
  export {};
@@ -1,7 +1,7 @@
1
1
  import { BaseInstrumentation } from '@grafana/faro-core';
2
2
  export declare class ViewInstrumentation extends BaseInstrumentation {
3
3
  readonly name = "@grafana/faro-web-sdk:instrumentation-view";
4
- readonly version = "1.18.2";
4
+ readonly version = "2.0.0-beta";
5
5
  private notifiedView;
6
6
  private sendViewChangedEvent;
7
7
  initialize(): void;
@@ -1,7 +1,7 @@
1
1
  import { BaseInstrumentation } from '@grafana/faro-core';
2
2
  export declare class WebVitalsInstrumentation extends BaseInstrumentation {
3
3
  readonly name = "@grafana/faro-web-sdk:instrumentation-web-vitals";
4
- readonly version = "1.18.2";
4
+ readonly version = "2.0.0-beta";
5
5
  initialize(): void;
6
6
  private intializeWebVitalsInstrumentation;
7
7
  }
@@ -5,8 +5,7 @@ export declare class WebVitalsBasic {
5
5
  static mapping: {
6
6
  cls: (onReport: (metric: import("web-vitals").CLSMetric) => void, opts?: import("web-vitals").ReportOpts) => void;
7
7
  fcp: (onReport: (metric: import("web-vitals").FCPMetric) => void, opts?: import("web-vitals").ReportOpts) => void;
8
- fid: (onReport: (metric: import("web-vitals").FIDMetric) => void, opts?: import("web-vitals").ReportOpts) => void;
9
- inp: (onReport: (metric: import("web-vitals").INPMetric) => void, opts?: import("web-vitals").ReportOpts) => void;
8
+ inp: (onReport: (metric: import("web-vitals").INPMetric) => void, opts?: import("web-vitals").INPReportOpts) => void;
10
9
  lcp: (onReport: (metric: import("web-vitals").LCPMetric) => void, opts?: import("web-vitals").ReportOpts) => void;
11
10
  ttfb: (onReport: (metric: import("web-vitals").TTFBMetric) => void, opts?: import("web-vitals").ReportOpts) => void;
12
11
  };
@@ -6,7 +6,6 @@ export declare class WebVitalsWithAttribution {
6
6
  initialize(): void;
7
7
  private measureCLS;
8
8
  private measureFCP;
9
- private measureFID;
10
9
  private measureINP;
11
10
  private measureLCP;
12
11
  private measureTTFB;
@@ -4,7 +4,7 @@ import type { ConsoleTransportOptions } from './types';
4
4
  export declare class ConsoleTransport extends BaseTransport {
5
5
  private options;
6
6
  readonly name = "@grafana/faro-web-sdk:transport-console";
7
- readonly version = "1.18.2";
7
+ readonly version = "2.0.0-beta";
8
8
  constructor(options?: ConsoleTransportOptions);
9
9
  send(item: TransportItem): void;
10
10
  }
@@ -4,7 +4,7 @@ import type { FetchTransportOptions } from './types';
4
4
  export declare class FetchTransport extends BaseTransport {
5
5
  private options;
6
6
  readonly name = "@grafana/faro-web-sdk:transport-fetch";
7
- readonly version = "1.18.2";
7
+ readonly version = "2.0.0-beta";
8
8
  promiseBuffer: PromiseBuffer<Response | void>;
9
9
  private readonly rateLimitBackoffMs;
10
10
  private readonly getNow;
@@ -15,10 +15,11 @@ function getWebInstrumentations(options) {
15
15
  // unshift to ensure that initialization starts before the other instrumentations
16
16
  instrumentations.unshift(new instrumentations_1.PerformanceInstrumentation());
17
17
  }
18
+ if (options.enableContentSecurityPolicyInstrumentation !== false) {
19
+ instrumentations.push(new instrumentations_1.CSPInstrumentation());
20
+ }
18
21
  if (options.captureConsole !== false) {
19
- instrumentations.push(new instrumentations_1.ConsoleInstrumentation({
20
- disabledLevels: options.captureConsoleDisabledLevels,
21
- }));
22
+ instrumentations.push(new instrumentations_1.ConsoleInstrumentation());
22
23
  }
23
24
  return instrumentations;
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getWebInstrumentations.js","sourceRoot":"","sources":["../../../src/config/getWebInstrumentations.ts"],"names":[],"mappings":";;AAcA,wDAuBC;AAnCD,wDAQ6B;AAI7B,SAAgB,sBAAsB,CAAC,OAA2C;IAA3C,wBAAA,EAAA,YAA2C;IAChF,IAAM,gBAAgB,GAAsB;QAC1C,IAAI,4CAAyB,EAAE;QAC/B,IAAI,wCAAqB,EAAE;QAC3B,IAAI,2CAAwB,EAAE;QAC9B,IAAI,yCAAsB,EAAE;QAC5B,IAAI,sCAAmB,EAAE;KAC1B,CAAC;IAEF,IAAI,OAAO,CAAC,gCAAgC,KAAK,KAAK,EAAE,CAAC;QACvD,iFAAiF;QACjF,gBAAgB,CAAC,OAAO,CAAC,IAAI,6CAA0B,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACrC,gBAAgB,CAAC,IAAI,CACnB,IAAI,yCAAsB,CAAC;YACzB,cAAc,EAAE,OAAO,CAAC,4BAA4B;SACrD,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC","sourcesContent":["import type { Instrumentation } from '@grafana/faro-core';\n\nimport {\n ConsoleInstrumentation,\n ErrorsInstrumentation,\n PerformanceInstrumentation,\n SessionInstrumentation,\n UserActionInstrumentation,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n} from '../instrumentations';\n\nimport type { GetWebInstrumentationsOptions } from './types';\n\nexport function getWebInstrumentations(options: GetWebInstrumentationsOptions = {}): Instrumentation[] {\n const instrumentations: Instrumentation[] = [\n new UserActionInstrumentation(),\n new ErrorsInstrumentation(),\n new WebVitalsInstrumentation(),\n new SessionInstrumentation(),\n new ViewInstrumentation(),\n ];\n\n if (options.enablePerformanceInstrumentation !== false) {\n // unshift to ensure that initialization starts before the other instrumentations\n instrumentations.unshift(new PerformanceInstrumentation());\n }\n\n if (options.captureConsole !== false) {\n instrumentations.push(\n new ConsoleInstrumentation({\n disabledLevels: options.captureConsoleDisabledLevels,\n })\n );\n }\n\n return instrumentations;\n}\n"]}
1
+ {"version":3,"file":"getWebInstrumentations.js","sourceRoot":"","sources":["../../../src/config/getWebInstrumentations.ts"],"names":[],"mappings":";;AAeA,wDAuBC;AApCD,wDAS6B;AAI7B,SAAgB,sBAAsB,CAAC,OAA2C;IAA3C,wBAAA,EAAA,YAA2C;IAChF,IAAM,gBAAgB,GAAsB;QAC1C,IAAI,4CAAyB,EAAE;QAC/B,IAAI,wCAAqB,EAAE;QAC3B,IAAI,2CAAwB,EAAE;QAC9B,IAAI,yCAAsB,EAAE;QAC5B,IAAI,sCAAmB,EAAE;KAC1B,CAAC;IAEF,IAAI,OAAO,CAAC,gCAAgC,KAAK,KAAK,EAAE,CAAC;QACvD,iFAAiF;QACjF,gBAAgB,CAAC,OAAO,CAAC,IAAI,6CAA0B,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,CAAC,0CAA0C,KAAK,KAAK,EAAE,CAAC;QACjE,gBAAgB,CAAC,IAAI,CAAC,IAAI,qCAAkB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACrC,gBAAgB,CAAC,IAAI,CAAC,IAAI,yCAAsB,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC","sourcesContent":["import type { Instrumentation } from '@grafana/faro-core';\n\nimport {\n ConsoleInstrumentation,\n CSPInstrumentation,\n ErrorsInstrumentation,\n PerformanceInstrumentation,\n SessionInstrumentation,\n UserActionInstrumentation,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n} from '../instrumentations';\n\nimport type { GetWebInstrumentationsOptions } from './types';\n\nexport function getWebInstrumentations(options: GetWebInstrumentationsOptions = {}): Instrumentation[] {\n const instrumentations: Instrumentation[] = [\n new UserActionInstrumentation(),\n new ErrorsInstrumentation(),\n new WebVitalsInstrumentation(),\n new SessionInstrumentation(),\n new ViewInstrumentation(),\n ];\n\n if (options.enablePerformanceInstrumentation !== false) {\n // unshift to ensure that initialization starts before the other instrumentations\n instrumentations.unshift(new PerformanceInstrumentation());\n }\n\n if (options.enableContentSecurityPolicyInstrumentation !== false) {\n instrumentations.push(new CSPInstrumentation());\n }\n\n if (options.captureConsole !== false) {\n instrumentations.push(new ConsoleInstrumentation());\n }\n\n return instrumentations;\n}\n"]}
@@ -65,12 +65,13 @@ function makeCoreConfig(browserConfig) {
65
65
  // properties with default values
66
66
  _b = browserConfig.dedupe,
67
67
  // properties with default values
68
- dedupe = _b === void 0 ? true : _b, _c = browserConfig.eventDomain, eventDomain = _c === void 0 ? consts_1.defaultEventDomain : _c, _d = browserConfig.globalObjectKey, globalObjectKey = _d === void 0 ? faro_core_1.defaultGlobalObjectKey : _d, _e = browserConfig.instrumentations, instrumentations = _e === void 0 ? (0, getWebInstrumentations_1.getWebInstrumentations)() : _e, _f = browserConfig.internalLoggerLevel, internalLoggerLevel = _f === void 0 ? faro_core_1.defaultInternalLoggerLevel : _f, _g = browserConfig.isolate, isolate = _g === void 0 ? false : _g, _h = browserConfig.logArgsSerializer, logArgsSerializer = _h === void 0 ? faro_core_1.defaultLogArgsSerializer : _h, _j = browserConfig.metas, metas = _j === void 0 ? createDefaultMetas(browserConfig) : _j, _k = browserConfig.paused, paused = _k === void 0 ? false : _k, _l = browserConfig.preventGlobalExposure, preventGlobalExposure = _l === void 0 ? false : _l, _m = browserConfig.unpatchedConsole, unpatchedConsole = _m === void 0 ? faro_core_1.defaultUnpatchedConsole : _m, _o = browserConfig.trackUserActionsPreview, trackUserActionsPreview = _o === void 0 ? false : _o, _p = browserConfig.trackUserActionsDataAttributeName, trackUserActionsDataAttributeName = _p === void 0 ? const_1.userActionDataAttribute : _p,
68
+ dedupe = _b === void 0 ? true : _b, _c = browserConfig.eventDomain, eventDomain = _c === void 0 ? consts_1.defaultEventDomain : _c, _d = browserConfig.globalObjectKey, globalObjectKey = _d === void 0 ? faro_core_1.defaultGlobalObjectKey : _d, _e = browserConfig.instrumentations, instrumentations = _e === void 0 ? (0, getWebInstrumentations_1.getWebInstrumentations)() : _e, _f = browserConfig.internalLoggerLevel, internalLoggerLevel = _f === void 0 ? faro_core_1.defaultInternalLoggerLevel : _f, _g = browserConfig.isolate, isolate = _g === void 0 ? false : _g, _h = browserConfig.logArgsSerializer, logArgsSerializer = _h === void 0 ? faro_core_1.defaultLogArgsSerializer : _h, _j = browserConfig.metas, metas = _j === void 0 ? createDefaultMetas(browserConfig) : _j, _k = browserConfig.paused, paused = _k === void 0 ? false : _k, _l = browserConfig.preventGlobalExposure, preventGlobalExposure = _l === void 0 ? false : _l, _m = browserConfig.unpatchedConsole, unpatchedConsole = _m === void 0 ? faro_core_1.defaultUnpatchedConsole : _m, _o = browserConfig.trackUserActionsPreview, trackUserActionsPreview = _o === void 0 ? false : _o, _p = browserConfig.trackUserActionsDataAttributeName, trackUserActionsDataAttributeName = _p === void 0 ? const_1.userActionDataAttribute : _p, browserConfigUrl = browserConfig.url,
69
69
  // Properties without default values or which aren't used to create derived config
70
- restProperties = __rest(browserConfig, ["dedupe", "eventDomain", "globalObjectKey", "instrumentations", "internalLoggerLevel", "isolate", "logArgsSerializer", "metas", "paused", "preventGlobalExposure", "unpatchedConsole", "trackUserActionsPreview", "trackUserActionsDataAttributeName"]);
71
- return __assign(__assign({}, restProperties), { batching: __assign(__assign({}, faro_core_1.defaultBatchingConfig), browserConfig.batching), dedupe: dedupe, globalObjectKey: globalObjectKey, instrumentations: getFilteredInstrumentations(instrumentations, browserConfig), internalLoggerLevel: internalLoggerLevel, isolate: isolate, logArgsSerializer: logArgsSerializer, metas: metas, parseStacktrace: instrumentations_1.parseStacktrace, paused: paused, preventGlobalExposure: preventGlobalExposure, transports: transports, unpatchedConsole: unpatchedConsole, eventDomain: eventDomain,
72
- // ignore cloud collector urls by default. These are URLs ending with /collect or /collect/ followed by alphanumeric characters.
73
- ignoreUrls: ((_a = browserConfig.ignoreUrls) !== null && _a !== void 0 ? _a : []).concat([/\/collect(?:\/[\w]*)?$/]), sessionTracking: __assign(__assign(__assign({}, session_1.defaultSessionTrackingConfig), browserConfig.sessionTracking), crateSessionMeta({
70
+ restProperties = __rest(browserConfig, ["dedupe", "eventDomain", "globalObjectKey", "instrumentations", "internalLoggerLevel", "isolate", "logArgsSerializer", "metas", "paused", "preventGlobalExposure", "unpatchedConsole", "trackUserActionsPreview", "trackUserActionsDataAttributeName", "url"]);
71
+ return __assign(__assign({}, restProperties), { batching: __assign(__assign({}, faro_core_1.defaultBatchingConfig), browserConfig.batching), dedupe: dedupe, globalObjectKey: globalObjectKey, instrumentations: getFilteredInstrumentations(instrumentations, browserConfig), internalLoggerLevel: internalLoggerLevel, isolate: isolate, logArgsSerializer: logArgsSerializer, metas: metas, parseStacktrace: instrumentations_1.parseStacktrace, paused: paused, preventGlobalExposure: preventGlobalExposure, transports: transports, unpatchedConsole: unpatchedConsole, eventDomain: eventDomain, ignoreUrls: __spreadArray(__spreadArray(__spreadArray([], ((_a = browserConfig.ignoreUrls) !== null && _a !== void 0 ? _a : []), true), (browserConfigUrl ? [browserConfigUrl] : []), true), [
72
+ // Try our best to exclude collector URLs form other Faro instances. By default these are URLs ending with /collect or /collect/ followed by alphanumeric characters.
73
+ /\/collect(?:\/[\w]*)?$/,
74
+ ], false), sessionTracking: __assign(__assign(__assign({}, session_1.defaultSessionTrackingConfig), browserConfig.sessionTracking), crateSessionMeta({
74
75
  trackGeolocation: browserConfig.trackGeolocation,
75
76
  sessionTracking: browserConfig.sessionTracking,
76
77
  })), trackUserActionsPreview: trackUserActionsPreview, trackUserActionsDataAttributeName: trackUserActionsDataAttributeName });
@@ -1 +1 @@
1
- {"version":3,"file":"makeCoreConfig.js","sourceRoot":"","sources":["../../../src/config/makeCoreConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createInternalLogger,\n defaultBatchingConfig,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogArgsSerializer,\n defaultUnpatchedConsole,\n isBoolean,\n isEmpty,\n isObject,\n} from '@grafana/faro-core';\nimport type { Config, Instrumentation, MetaItem, MetaSession, Transport } from '@grafana/faro-core';\n\nimport { defaultEventDomain } from '../consts';\nimport { parseStacktrace } from '../instrumentations';\nimport { defaultSessionTrackingConfig } from '../instrumentations/session';\nimport { userActionDataAttribute } from '../instrumentations/userActions/const';\nimport { browserMeta } from '../metas';\nimport { k6Meta } from '../metas/k6';\nimport { createPageMeta } from '../metas/page';\nimport { FetchTransport } from '../transports';\n\nimport { getWebInstrumentations } from './getWebInstrumentations';\nimport type { BrowserConfig } from './types';\n\nexport function makeCoreConfig(browserConfig: BrowserConfig): Config {\n const transports: Transport[] = [];\n\n const internalLogger = createInternalLogger(browserConfig.unpatchedConsole, browserConfig.internalLoggerLevel);\n\n if (browserConfig.transports) {\n if (browserConfig.url || browserConfig.apiKey) {\n internalLogger.error('if \"transports\" is defined, \"url\" and \"apiKey\" should not be defined');\n }\n\n transports.push(...browserConfig.transports);\n } else if (browserConfig.url) {\n transports.push(\n new FetchTransport({\n url: browserConfig.url,\n apiKey: browserConfig.apiKey,\n })\n );\n } else {\n internalLogger.error('either \"url\" or \"transports\" must be defined');\n }\n\n const {\n // properties with default values\n dedupe = true,\n eventDomain = defaultEventDomain,\n globalObjectKey = defaultGlobalObjectKey,\n instrumentations = getWebInstrumentations(),\n internalLoggerLevel = defaultInternalLoggerLevel,\n isolate = false,\n logArgsSerializer = defaultLogArgsSerializer,\n metas = createDefaultMetas(browserConfig),\n paused = false,\n preventGlobalExposure = false,\n unpatchedConsole = defaultUnpatchedConsole,\n trackUserActionsPreview = false,\n trackUserActionsDataAttributeName = userActionDataAttribute,\n\n // Properties without default values or which aren't used to create derived config\n ...restProperties\n }: BrowserConfig = browserConfig;\n\n return {\n ...restProperties,\n\n batching: {\n ...defaultBatchingConfig,\n ...browserConfig.batching,\n },\n dedupe: dedupe,\n globalObjectKey,\n instrumentations: getFilteredInstrumentations(instrumentations, browserConfig),\n internalLoggerLevel,\n isolate,\n logArgsSerializer,\n metas,\n parseStacktrace,\n paused,\n preventGlobalExposure,\n transports,\n unpatchedConsole,\n eventDomain,\n // ignore cloud collector urls by default. These are URLs ending with /collect or /collect/ followed by alphanumeric characters.\n ignoreUrls: (browserConfig.ignoreUrls ?? []).concat([/\\/collect(?:\\/[\\w]*)?$/]),\n sessionTracking: {\n ...defaultSessionTrackingConfig,\n ...browserConfig.sessionTracking,\n ...crateSessionMeta({\n trackGeolocation: browserConfig.trackGeolocation,\n sessionTracking: browserConfig.sessionTracking,\n }),\n },\n trackUserActionsPreview,\n trackUserActionsDataAttributeName,\n };\n}\n\nfunction getFilteredInstrumentations(\n instrumentations: Instrumentation[],\n { trackUserActionsPreview }: BrowserConfig\n): Instrumentation[] {\n return instrumentations.filter((instr) => {\n if (instr.name === '@grafana/faro-web-sdk:instrumentation-user-action' && !trackUserActionsPreview) {\n return false;\n }\n return true;\n });\n}\n\nfunction createDefaultMetas(browserConfig: BrowserConfig): MetaItem[] {\n const { page, generatePageId } = browserConfig?.pageTracking ?? {};\n\n const initialMetas: MetaItem[] = [\n browserMeta,\n createPageMeta({ generatePageId, initialPageMeta: page }),\n ...(browserConfig.metas ?? []),\n ];\n\n const isK6BrowserSession = isObject((window as any).k6);\n if (isK6BrowserSession) {\n return [...initialMetas, k6Meta];\n }\n\n return initialMetas;\n}\n\nfunction crateSessionMeta({\n trackGeolocation,\n sessionTracking,\n}: Pick<BrowserConfig, 'trackGeolocation' | 'sessionTracking'>): { session: MetaSession } | {} {\n const overrides: MetaSession['overrides'] = {};\n\n if (isBoolean(trackGeolocation)) {\n overrides.geoLocationTrackingEnabled = trackGeolocation;\n }\n\n if (isEmpty(overrides)) {\n return {};\n }\n\n return {\n session: {\n ...(sessionTracking?.session ?? {}),\n overrides,\n },\n };\n}\n"]}
1
+ {"version":3,"file":"makeCoreConfig.js","sourceRoot":"","sources":["../../../src/config/makeCoreConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createInternalLogger,\n defaultBatchingConfig,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogArgsSerializer,\n defaultUnpatchedConsole,\n isBoolean,\n isEmpty,\n isObject,\n} from '@grafana/faro-core';\nimport type { Config, Instrumentation, MetaItem, MetaSession, Transport } from '@grafana/faro-core';\n\nimport { defaultEventDomain } from '../consts';\nimport { parseStacktrace } from '../instrumentations';\nimport { defaultSessionTrackingConfig } from '../instrumentations/session';\nimport { userActionDataAttribute } from '../instrumentations/userActions/const';\nimport { browserMeta } from '../metas';\nimport { k6Meta } from '../metas/k6';\nimport { createPageMeta } from '../metas/page';\nimport { FetchTransport } from '../transports';\n\nimport { getWebInstrumentations } from './getWebInstrumentations';\nimport type { BrowserConfig } from './types';\n\nexport function makeCoreConfig(browserConfig: BrowserConfig): Config {\n const transports: Transport[] = [];\n\n const internalLogger = createInternalLogger(browserConfig.unpatchedConsole, browserConfig.internalLoggerLevel);\n\n if (browserConfig.transports) {\n if (browserConfig.url || browserConfig.apiKey) {\n internalLogger.error('if \"transports\" is defined, \"url\" and \"apiKey\" should not be defined');\n }\n\n transports.push(...browserConfig.transports);\n } else if (browserConfig.url) {\n transports.push(\n new FetchTransport({\n url: browserConfig.url,\n apiKey: browserConfig.apiKey,\n })\n );\n } else {\n internalLogger.error('either \"url\" or \"transports\" must be defined');\n }\n\n const {\n // properties with default values\n dedupe = true,\n eventDomain = defaultEventDomain,\n globalObjectKey = defaultGlobalObjectKey,\n instrumentations = getWebInstrumentations(),\n internalLoggerLevel = defaultInternalLoggerLevel,\n isolate = false,\n logArgsSerializer = defaultLogArgsSerializer,\n metas = createDefaultMetas(browserConfig),\n paused = false,\n preventGlobalExposure = false,\n unpatchedConsole = defaultUnpatchedConsole,\n trackUserActionsPreview = false,\n trackUserActionsDataAttributeName = userActionDataAttribute,\n url: browserConfigUrl,\n // Properties without default values or which aren't used to create derived config\n ...restProperties\n }: BrowserConfig = browserConfig;\n\n return {\n ...restProperties,\n\n batching: {\n ...defaultBatchingConfig,\n ...browserConfig.batching,\n },\n dedupe: dedupe,\n globalObjectKey,\n instrumentations: getFilteredInstrumentations(instrumentations, browserConfig),\n internalLoggerLevel,\n isolate,\n logArgsSerializer,\n metas,\n parseStacktrace,\n paused,\n preventGlobalExposure,\n transports,\n unpatchedConsole,\n eventDomain,\n ignoreUrls: [\n ...(browserConfig.ignoreUrls ?? []),\n // ignore configured cloud collector url by default\n ...(browserConfigUrl ? [browserConfigUrl] : []),\n // Try our best to exclude collector URLs form other Faro instances. By default these are URLs ending with /collect or /collect/ followed by alphanumeric characters.\n /\\/collect(?:\\/[\\w]*)?$/,\n ],\n sessionTracking: {\n ...defaultSessionTrackingConfig,\n ...browserConfig.sessionTracking,\n ...crateSessionMeta({\n trackGeolocation: browserConfig.trackGeolocation,\n sessionTracking: browserConfig.sessionTracking,\n }),\n },\n trackUserActionsPreview,\n trackUserActionsDataAttributeName,\n };\n}\n\nfunction getFilteredInstrumentations(\n instrumentations: Instrumentation[],\n { trackUserActionsPreview }: BrowserConfig\n): Instrumentation[] {\n return instrumentations.filter((instr) => {\n if (instr.name === '@grafana/faro-web-sdk:instrumentation-user-action' && !trackUserActionsPreview) {\n return false;\n }\n return true;\n });\n}\n\nfunction createDefaultMetas(browserConfig: BrowserConfig): MetaItem[] {\n const { page, generatePageId } = browserConfig?.pageTracking ?? {};\n\n const initialMetas: MetaItem[] = [\n browserMeta,\n createPageMeta({ generatePageId, initialPageMeta: page }),\n ...(browserConfig.metas ?? []),\n ];\n\n const isK6BrowserSession = isObject((window as any).k6);\n if (isK6BrowserSession) {\n return [...initialMetas, k6Meta];\n }\n\n return initialMetas;\n}\n\nfunction crateSessionMeta({\n trackGeolocation,\n sessionTracking,\n}: Pick<BrowserConfig, 'trackGeolocation' | 'sessionTracking'>): { session: MetaSession } | {} {\n const overrides: MetaSession['overrides'] = {};\n\n if (isBoolean(trackGeolocation)) {\n overrides.geoLocationTrackingEnabled = trackGeolocation;\n }\n\n if (isEmpty(overrides)) {\n return {};\n }\n\n return {\n session: {\n ...(sessionTracking?.session ?? {}),\n overrides,\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Config, LogLevel } from '@grafana/faro-core';\n\nexport interface BrowserConfig extends Partial<Omit<Config, 'app' | 'parseStacktrace'>>, Pick<Config, 'app'> {\n url?: string;\n apiKey?: string;\n}\n\nexport interface GetWebInstrumentationsOptions {\n captureConsole?: boolean;\n captureConsoleDisabledLevels?: LogLevel[];\n enablePerformanceInstrumentation?: boolean;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Config } from '@grafana/faro-core';\n\nexport interface BrowserConfig extends Partial<Omit<Config, 'app' | 'parseStacktrace'>>, Pick<Config, 'app'> {\n url?: string;\n apiKey?: string;\n}\n\nexport interface GetWebInstrumentationsOptions {\n captureConsole?: boolean;\n enablePerformanceInstrumentation?: boolean;\n enableContentSecurityPolicyInstrumentation?: boolean;\n}\n"]}
package/dist/cjs/index.js CHANGED
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEventDefined = exports.isEvent = exports.isErrorEvent = exports.isErrorDefined = exports.isError = exports.isElementDefined = exports.isElement = exports.isDomException = exports.isDomError = exports.isBoolean = exports.isArray = exports.internalGlobalObjectKey = exports.globalObject = exports.getTransportBody = exports.getInternalFaroFromGlobalObject = exports.getCurrentTimestamp = exports.genShortID = exports.defaultLogLevel = exports.defaultInternalLoggerLevel = exports.defaultGlobalObjectKey = exports.defaultExceptionType = exports.deepEqual = exports.createPromiseBuffer = exports.createInternalLogger = exports.Conventions = exports.BaseTransport = exports.BaseInstrumentation = exports.BaseExtension = exports.allLogLevels = exports.faro = exports.FetchTransport = exports.ConsoleTransport = exports.sdkMeta = exports.createSession = exports.browserMeta = exports.UserActionInstrumentation = exports.PerformanceInstrumentation = exports.SessionInstrumentation = exports.WebVitalsInstrumentation = exports.ViewInstrumentation = exports.parseStacktrace = exports.getStackFramesFromError = exports.getDataFromSafariExtensions = exports.ErrorsInstrumentation = exports.ConsoleInstrumentation = exports.buildStackFrame = exports.initializeFaro = exports.defaultEventDomain = exports.makeCoreConfig = exports.getWebInstrumentations = void 0;
4
- exports.userActionDataAttribute = exports.getUrlFromResource = exports.getIgnoreUrls = exports.STORAGE_KEY = exports.SESSION_INACTIVITY_TIME = exports.SESSION_EXPIRATION_TIME = exports.MAX_SESSION_PERSISTENCE_TIME_BUFFER = exports.MAX_SESSION_PERSISTENCE_TIME = exports.VolatileSessionsManager = exports.PersistentSessionsManager = exports.unknownString = exports.USER_ACTION_START = exports.USER_ACTION_HALT = exports.USER_ACTION_END = exports.USER_ACTION_CANCEL = exports.Observable = exports.apiMessageBus = exports.EVENT_VIEW_CHANGED = exports.EVENT_SESSION_START = exports.EVENT_SESSION_RESUME = exports.EVENT_SESSION_EXTEND = exports.EVENT_ROUTE_CHANGE = exports.EVENT_NAVIGATION = exports.EVENT_CLICK = exports.VERSION = exports.transportItemTypeToBodyKey = exports.TransportItemType = exports.setInternalFaroOnGlobalObject = exports.noop = exports.LogLevel = exports.InternalLoggerLevel = exports.isEmpty = exports.isUndefined = exports.isTypeof = exports.isToString = exports.isThenable = exports.isSyntheticEvent = exports.isSymbol = exports.isString = exports.isRegExp = exports.isPrimitive = exports.isObject = exports.isNumber = exports.isNull = exports.isMapDefined = exports.isMap = exports.isInternalFaroOnGlobalObject = exports.isInt = exports.isInstanceOf = exports.isFunction = void 0;
5
- exports.startUserAction = void 0;
3
+ exports.isEventDefined = exports.isEvent = exports.isErrorEvent = exports.isErrorDefined = exports.isError = exports.isElementDefined = exports.isElement = exports.isDomException = exports.isDomError = exports.isBoolean = exports.isArray = exports.internalGlobalObjectKey = exports.globalObject = exports.getTransportBody = exports.getInternalFaroFromGlobalObject = exports.getCurrentTimestamp = exports.genShortID = exports.defaultLogLevel = exports.defaultInternalLoggerLevel = exports.defaultGlobalObjectKey = exports.defaultExceptionType = exports.deepEqual = exports.createPromiseBuffer = exports.createInternalLogger = exports.BaseTransport = exports.BaseInstrumentation = exports.BaseExtension = exports.allLogLevels = exports.faro = exports.FetchTransport = exports.ConsoleTransport = exports.sdkMeta = exports.createSession = exports.browserMeta = exports.UserActionInstrumentation = exports.CSPInstrumentation = exports.PerformanceInstrumentation = exports.SessionInstrumentation = exports.WebVitalsInstrumentation = exports.ViewInstrumentation = exports.parseStacktrace = exports.getStackFramesFromError = exports.getDataFromSafariExtensions = exports.ErrorsInstrumentation = exports.ConsoleInstrumentation = exports.buildStackFrame = exports.initializeFaro = exports.defaultEventDomain = exports.makeCoreConfig = exports.getWebInstrumentations = void 0;
4
+ exports.userActionDataAttribute = exports.getUrlFromResource = exports.getIgnoreUrls = exports.STORAGE_KEY = exports.SESSION_INACTIVITY_TIME = exports.SESSION_EXPIRATION_TIME = exports.MAX_SESSION_PERSISTENCE_TIME = exports.VolatileSessionsManager = exports.PersistentSessionsManager = exports.unknownString = exports.Observable = exports.EVENT_VIEW_CHANGED = exports.EVENT_SESSION_START = exports.EVENT_SESSION_RESUME = exports.EVENT_SESSION_EXTEND = exports.EVENT_ROUTE_CHANGE = exports.EVENT_NAVIGATION = exports.EVENT_CLICK = exports.VERSION = exports.transportItemTypeToBodyKey = exports.TransportItemType = exports.setInternalFaroOnGlobalObject = exports.noop = exports.LogLevel = exports.InternalLoggerLevel = exports.isEmpty = exports.isUndefined = exports.isTypeof = exports.isToString = exports.isThenable = exports.isSyntheticEvent = exports.isSymbol = exports.isString = exports.isRegExp = exports.isPrimitive = exports.isObject = exports.isNumber = exports.isNull = exports.isMapDefined = exports.isMap = exports.isInternalFaroOnGlobalObject = exports.isInt = exports.isInstanceOf = exports.isFunction = void 0;
6
5
  var config_1 = require("./config");
7
6
  Object.defineProperty(exports, "getWebInstrumentations", { enumerable: true, get: function () { return config_1.getWebInstrumentations; } });
8
7
  Object.defineProperty(exports, "makeCoreConfig", { enumerable: true, get: function () { return config_1.makeCoreConfig; } });
@@ -21,6 +20,7 @@ Object.defineProperty(exports, "ViewInstrumentation", { enumerable: true, get: f
21
20
  Object.defineProperty(exports, "WebVitalsInstrumentation", { enumerable: true, get: function () { return instrumentations_1.WebVitalsInstrumentation; } });
22
21
  Object.defineProperty(exports, "SessionInstrumentation", { enumerable: true, get: function () { return instrumentations_1.SessionInstrumentation; } });
23
22
  Object.defineProperty(exports, "PerformanceInstrumentation", { enumerable: true, get: function () { return instrumentations_1.PerformanceInstrumentation; } });
23
+ Object.defineProperty(exports, "CSPInstrumentation", { enumerable: true, get: function () { return instrumentations_1.CSPInstrumentation; } });
24
24
  Object.defineProperty(exports, "UserActionInstrumentation", { enumerable: true, get: function () { return instrumentations_1.UserActionInstrumentation; } });
25
25
  var metas_1 = require("./metas");
26
26
  Object.defineProperty(exports, "browserMeta", { enumerable: true, get: function () { return metas_1.browserMeta; } });
@@ -35,7 +35,6 @@ Object.defineProperty(exports, "allLogLevels", { enumerable: true, get: function
35
35
  Object.defineProperty(exports, "BaseExtension", { enumerable: true, get: function () { return faro_core_1.BaseExtension; } });
36
36
  Object.defineProperty(exports, "BaseInstrumentation", { enumerable: true, get: function () { return faro_core_1.BaseInstrumentation; } });
37
37
  Object.defineProperty(exports, "BaseTransport", { enumerable: true, get: function () { return faro_core_1.BaseTransport; } });
38
- Object.defineProperty(exports, "Conventions", { enumerable: true, get: function () { return faro_core_1.Conventions; } });
39
38
  Object.defineProperty(exports, "createInternalLogger", { enumerable: true, get: function () { return faro_core_1.createInternalLogger; } });
40
39
  Object.defineProperty(exports, "createPromiseBuffer", { enumerable: true, get: function () { return faro_core_1.createPromiseBuffer; } });
41
40
  Object.defineProperty(exports, "deepEqual", { enumerable: true, get: function () { return faro_core_1.deepEqual; } });
@@ -93,18 +92,12 @@ Object.defineProperty(exports, "EVENT_SESSION_EXTEND", { enumerable: true, get:
93
92
  Object.defineProperty(exports, "EVENT_SESSION_RESUME", { enumerable: true, get: function () { return faro_core_1.EVENT_SESSION_RESUME; } });
94
93
  Object.defineProperty(exports, "EVENT_SESSION_START", { enumerable: true, get: function () { return faro_core_1.EVENT_SESSION_START; } });
95
94
  Object.defineProperty(exports, "EVENT_VIEW_CHANGED", { enumerable: true, get: function () { return faro_core_1.EVENT_VIEW_CHANGED; } });
96
- Object.defineProperty(exports, "apiMessageBus", { enumerable: true, get: function () { return faro_core_1.apiMessageBus; } });
97
95
  Object.defineProperty(exports, "Observable", { enumerable: true, get: function () { return faro_core_1.Observable; } });
98
- Object.defineProperty(exports, "USER_ACTION_CANCEL", { enumerable: true, get: function () { return faro_core_1.USER_ACTION_CANCEL; } });
99
- Object.defineProperty(exports, "USER_ACTION_END", { enumerable: true, get: function () { return faro_core_1.USER_ACTION_END; } });
100
- Object.defineProperty(exports, "USER_ACTION_HALT", { enumerable: true, get: function () { return faro_core_1.USER_ACTION_HALT; } });
101
- Object.defineProperty(exports, "USER_ACTION_START", { enumerable: true, get: function () { return faro_core_1.USER_ACTION_START; } });
102
96
  Object.defineProperty(exports, "unknownString", { enumerable: true, get: function () { return faro_core_1.unknownString; } });
103
97
  var session_1 = require("./instrumentations/session");
104
98
  Object.defineProperty(exports, "PersistentSessionsManager", { enumerable: true, get: function () { return session_1.PersistentSessionsManager; } });
105
99
  Object.defineProperty(exports, "VolatileSessionsManager", { enumerable: true, get: function () { return session_1.VolatileSessionsManager; } });
106
100
  Object.defineProperty(exports, "MAX_SESSION_PERSISTENCE_TIME", { enumerable: true, get: function () { return session_1.MAX_SESSION_PERSISTENCE_TIME; } });
107
- Object.defineProperty(exports, "MAX_SESSION_PERSISTENCE_TIME_BUFFER", { enumerable: true, get: function () { return session_1.MAX_SESSION_PERSISTENCE_TIME_BUFFER; } });
108
101
  Object.defineProperty(exports, "SESSION_EXPIRATION_TIME", { enumerable: true, get: function () { return session_1.SESSION_EXPIRATION_TIME; } });
109
102
  Object.defineProperty(exports, "SESSION_INACTIVITY_TIME", { enumerable: true, get: function () { return session_1.SESSION_INACTIVITY_TIME; } });
110
103
  Object.defineProperty(exports, "STORAGE_KEY", { enumerable: true, get: function () { return session_1.STORAGE_KEY; } });
@@ -113,5 +106,4 @@ Object.defineProperty(exports, "getIgnoreUrls", { enumerable: true, get: functio
113
106
  Object.defineProperty(exports, "getUrlFromResource", { enumerable: true, get: function () { return url_1.getUrlFromResource; } });
114
107
  var userActions_1 = require("./instrumentations/userActions");
115
108
  Object.defineProperty(exports, "userActionDataAttribute", { enumerable: true, get: function () { return userActions_1.userActionDataAttribute; } });
116
- Object.defineProperty(exports, "startUserAction", { enumerable: true, get: function () { return userActions_1.startUserAction; } });
117
109
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { getWebInstrumentations, makeCoreConfig } from './config';\nexport type { BrowserConfig } from './config';\n\nexport { defaultEventDomain } from './consts';\n\nexport { initializeFaro } from './initialize';\n\nexport {\n buildStackFrame,\n ConsoleInstrumentation,\n ErrorsInstrumentation,\n getDataFromSafariExtensions,\n getStackFramesFromError,\n parseStacktrace,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n SessionInstrumentation,\n PerformanceInstrumentation,\n UserActionInstrumentation,\n} from './instrumentations';\nexport type { ConsoleInstrumentationOptions, ErrorEvent, ExtendedPromiseRejectionEvent } from './instrumentations';\n\nexport { browserMeta, createSession, sdkMeta } from './metas';\n\nexport { ConsoleTransport, FetchTransport } from './transports';\nexport type {\n ClockFn,\n ConsoleTransportOptions,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n} from './transports';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n Conventions,\n createInternalLogger,\n createPromiseBuffer,\n deepEqual,\n defaultExceptionType,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n genShortID,\n getCurrentTimestamp,\n getInternalFaroFromGlobalObject,\n getTransportBody,\n globalObject,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n isEmpty,\n InternalLoggerLevel,\n LogLevel,\n noop,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n EVENT_CLICK,\n EVENT_NAVIGATION,\n EVENT_ROUTE_CHANGE,\n EVENT_SESSION_EXTEND,\n EVENT_SESSION_RESUME,\n EVENT_SESSION_START,\n EVENT_VIEW_CHANGED,\n apiMessageBus,\n Observable,\n USER_ACTION_CANCEL,\n USER_ACTION_END,\n USER_ACTION_HALT,\n USER_ACTION_START,\n unknownString,\n} from '@grafana/faro-core';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BufferItem,\n Config,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionEventExtended,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n Extension,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PromiseBuffer,\n PromiseBufferOptions,\n PromiseProducer,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n ApiMessageBusMessages,\n UserActionStartMessage,\n UserActionEndMessage,\n UserActionCancelMessage,\n UserActionHaltMessage,\n} from '@grafana/faro-core';\n\nexport {\n PersistentSessionsManager,\n VolatileSessionsManager,\n MAX_SESSION_PERSISTENCE_TIME,\n MAX_SESSION_PERSISTENCE_TIME_BUFFER,\n SESSION_EXPIRATION_TIME,\n SESSION_INACTIVITY_TIME,\n STORAGE_KEY,\n} from './instrumentations/session';\n\nexport { getIgnoreUrls, getUrlFromResource } from './utils/url';\n\nexport { userActionDataAttribute, startUserAction } from './instrumentations/userActions';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { getWebInstrumentations, makeCoreConfig } from './config';\nexport type { BrowserConfig } from './config';\n\nexport { defaultEventDomain } from './consts';\n\nexport { initializeFaro } from './initialize';\n\nexport {\n buildStackFrame,\n ConsoleInstrumentation,\n ErrorsInstrumentation,\n getDataFromSafariExtensions,\n getStackFramesFromError,\n parseStacktrace,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n SessionInstrumentation,\n PerformanceInstrumentation,\n CSPInstrumentation,\n UserActionInstrumentation,\n} from './instrumentations';\nexport type { ErrorEvent, ExtendedPromiseRejectionEvent } from './instrumentations';\n\nexport { browserMeta, createSession, sdkMeta } from './metas';\n\nexport { ConsoleTransport, FetchTransport } from './transports';\nexport type {\n ClockFn,\n ConsoleTransportOptions,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n} from './transports';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n createInternalLogger,\n createPromiseBuffer,\n deepEqual,\n defaultExceptionType,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n genShortID,\n getCurrentTimestamp,\n getInternalFaroFromGlobalObject,\n getTransportBody,\n globalObject,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n isEmpty,\n InternalLoggerLevel,\n LogLevel,\n noop,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n EVENT_CLICK,\n EVENT_NAVIGATION,\n EVENT_ROUTE_CHANGE,\n EVENT_SESSION_EXTEND,\n EVENT_SESSION_RESUME,\n EVENT_SESSION_START,\n EVENT_VIEW_CHANGED,\n Observable,\n unknownString,\n} from '@grafana/faro-core';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BufferItem,\n Config,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionEventExtended,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n Extension,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PromiseBuffer,\n PromiseBufferOptions,\n PromiseProducer,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n} from '@grafana/faro-core';\n\nexport {\n PersistentSessionsManager,\n VolatileSessionsManager,\n MAX_SESSION_PERSISTENCE_TIME,\n SESSION_EXPIRATION_TIME,\n SESSION_INACTIVITY_TIME,\n STORAGE_KEY,\n} from './instrumentations/session';\n\nexport { getIgnoreUrls, getUrlFromResource } from './utils/url';\n\nexport { userActionDataAttribute } from './instrumentations/userActions';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instrumentations/console/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2D;AAAlD,yHAAA,sBAAsB,OAAA","sourcesContent":["export { ConsoleInstrumentation } from './instrumentation';\n\nexport type { ConsoleInstrumentationOptions } from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instrumentations/console/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2D;AAAlD,yHAAA,sBAAsB,OAAA","sourcesContent":["export { ConsoleInstrumentation } from './instrumentation';\n"]}
@@ -14,27 +14,14 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
17
  Object.defineProperty(exports, "__esModule", { value: true });
29
18
  exports.ConsoleInstrumentation = void 0;
30
19
  var faro_core_1 = require("@grafana/faro-core");
31
20
  var getErrorDetails_1 = require("../errors/getErrorDetails");
32
21
  var ConsoleInstrumentation = /** @class */ (function (_super) {
33
22
  __extends(ConsoleInstrumentation, _super);
34
- function ConsoleInstrumentation(options) {
35
- if (options === void 0) { options = {}; }
36
- var _this = _super.call(this) || this;
37
- _this.options = options;
23
+ function ConsoleInstrumentation() {
24
+ var _this = _super !== null && _super.apply(this, arguments) || this;
38
25
  _this.name = '@grafana/faro-web-sdk:instrumentation-console';
39
26
  _this.version = faro_core_1.VERSION;
40
27
  _this.errorSerializer = faro_core_1.defaultLogArgsSerializer;
@@ -42,34 +29,33 @@ var ConsoleInstrumentation = /** @class */ (function (_super) {
42
29
  }
43
30
  ConsoleInstrumentation.prototype.initialize = function () {
44
31
  var _this = this;
45
- var _a, _b, _c, _d;
46
- this.options = __assign(__assign({}, this.options), this.config.consoleInstrumentation);
47
- var serializeErrors = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.serializeErrors) || !!((_b = this.options) === null || _b === void 0 ? void 0 : _b.errorSerializer);
32
+ var _a;
33
+ var instrumentationOptions = this.config.consoleInstrumentation;
34
+ var serializeErrors = (instrumentationOptions === null || instrumentationOptions === void 0 ? void 0 : instrumentationOptions.serializeErrors) || !!(instrumentationOptions === null || instrumentationOptions === void 0 ? void 0 : instrumentationOptions.errorSerializer);
48
35
  this.errorSerializer = serializeErrors
49
- ? ((_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.errorSerializer) !== null && _d !== void 0 ? _d : faro_core_1.defaultErrorArgsSerializer)
36
+ ? ((_a = instrumentationOptions === null || instrumentationOptions === void 0 ? void 0 : instrumentationOptions.errorSerializer) !== null && _a !== void 0 ? _a : faro_core_1.defaultErrorArgsSerializer)
50
37
  : faro_core_1.defaultLogArgsSerializer;
51
38
  faro_core_1.allLogLevels
52
- .filter(function (level) { var _a, _b; return !((_b = (_a = _this.options) === null || _a === void 0 ? void 0 : _a.disabledLevels) !== null && _b !== void 0 ? _b : ConsoleInstrumentation.defaultDisabledLevels).includes(level); })
39
+ .filter(function (level) { var _a; return !((_a = instrumentationOptions === null || instrumentationOptions === void 0 ? void 0 : instrumentationOptions.disabledLevels) !== null && _a !== void 0 ? _a : ConsoleInstrumentation.defaultDisabledLevels).includes(level); })
53
40
  .forEach(function (level) {
54
41
  /* eslint-disable-next-line no-console */
55
42
  console[level] = function () {
56
43
  var _a;
57
- var _b, _c;
58
44
  var args = [];
59
45
  for (var _i = 0; _i < arguments.length; _i++) {
60
46
  args[_i] = arguments[_i];
61
47
  }
62
48
  try {
63
- if (level === faro_core_1.LogLevel.ERROR && !((_b = _this.options) === null || _b === void 0 ? void 0 : _b.consoleErrorAsLog)) {
64
- var _d = (0, getErrorDetails_1.getDetailsFromConsoleErrorArgs)(args, _this.errorSerializer), value = _d.value, type = _d.type, stackFrames = _d.stackFrames;
49
+ if (level === faro_core_1.LogLevel.ERROR && !(instrumentationOptions === null || instrumentationOptions === void 0 ? void 0 : instrumentationOptions.consoleErrorAsLog)) {
50
+ var _b = (0, getErrorDetails_1.getDetailsFromConsoleErrorArgs)(args, _this.errorSerializer), value = _b.value, type = _b.type, stackFrames = _b.stackFrames;
65
51
  if (value && !type && !stackFrames) {
66
52
  _this.api.pushError(new Error(ConsoleInstrumentation.consoleErrorPrefix + value));
67
53
  return;
68
54
  }
69
55
  _this.api.pushError(new Error(ConsoleInstrumentation.consoleErrorPrefix + value), { type: type, stackFrames: stackFrames });
70
56
  }
71
- else if (level === faro_core_1.LogLevel.ERROR && ((_c = _this.options) === null || _c === void 0 ? void 0 : _c.consoleErrorAsLog)) {
72
- var _e = (0, getErrorDetails_1.getDetailsFromConsoleErrorArgs)(args, _this.errorSerializer), value = _e.value, type = _e.type, stackFrames = _e.stackFrames;
57
+ else if (level === faro_core_1.LogLevel.ERROR && (instrumentationOptions === null || instrumentationOptions === void 0 ? void 0 : instrumentationOptions.consoleErrorAsLog)) {
58
+ var _c = (0, getErrorDetails_1.getDetailsFromConsoleErrorArgs)(args, _this.errorSerializer), value = _c.value, type = _c.type, stackFrames = _c.stackFrames;
73
59
  _this.api.pushLog(value ? [ConsoleInstrumentation.consoleErrorPrefix + value] : args, {
74
60
  level: level,
75
61
  context: {
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/console/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAO4B;AAG5B,6DAA2E;AAI3E;IAA4C,0CAAmB;IAQ7D,gCAAoB,OAA2C;QAA3C,wBAAA,EAAA,YAA2C;QAC7D,YAAA,MAAK,WAAE,SAAC;QADU,aAAO,GAAP,OAAO,CAAoC;QAPtD,UAAI,GAAG,+CAA+C,CAAC;QACvD,aAAO,GAAG,mBAAO,CAAC;QAInB,qBAAe,GAAsB,oCAAwB,CAAC;;IAItE,CAAC;IAED,2CAAU,GAAV;QAAA,iBA8CC;;QA7CC,IAAI,CAAC,OAAO,yBAAQ,IAAI,CAAC,OAAO,GAAK,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAE,CAAC;QAE1E,IAAM,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,KAAI,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAA,CAAC;QACzF,IAAI,CAAC,eAAe,GAAG,eAAe;YACpC,CAAC,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,mCAAI,sCAA0B,CAAC;YAC/D,CAAC,CAAC,oCAAwB,CAAC;QAE7B,wBAAY;aACT,MAAM,CACL,UAAC,KAAK,gBAAK,OAAA,CAAC,CAAC,MAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,cAAc,mCAAI,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAA,CAC3G;aACA,OAAO,CAAC,UAAC,KAAK;YACb,yCAAyC;YACzC,OAAO,CAAC,KAAK,CAAC,GAAG;;;gBAAC,cAAO;qBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;oBAAP,yBAAO;;gBACvB,IAAI,CAAC;oBACH,IAAI,KAAK,KAAK,oBAAQ,CAAC,KAAK,IAAI,CAAC,CAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,iBAAiB,CAAA,EAAE,CAAC;wBAC3D,IAAA,KAA+B,IAAA,gDAA8B,EAAC,IAAI,EAAE,KAAI,CAAC,eAAe,CAAC,EAAvF,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAA+D,CAAC;wBAEhG,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnC,KAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC;4BACjF,OAAO;wBACT,CAAC;wBAED,KAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,kBAAkB,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;oBAC1G,CAAC;yBAAM,IAAI,KAAK,KAAK,oBAAQ,CAAC,KAAK,KAAI,MAAA,KAAI,CAAC,OAAO,0CAAE,iBAAiB,CAAA,EAAE,CAAC;wBACjE,IAAA,KAA+B,IAAA,gDAA8B,EAAC,IAAI,EAAE,KAAI,CAAC,eAAe,CAAC,EAAvF,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAA+D,CAAC;wBAEhG,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4BACnF,KAAK,OAAA;4BACL,OAAO,EAAE;gCACP,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;gCAClB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;gCAChB,WAAW,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAC,CAAC,CAAC,IAAA,sCAA0B,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;6BAChF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;wBAAS,CAAC;oBACT,CAAA,KAAA,KAAI,CAAC,gBAAgB,CAAA,CAAC,KAAK,CAAC,WAAI,IAAI,EAAE;gBACxC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAtDM,4CAAqB,GAAe,CAAC,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,GAAG,CAAC,AAA7D,CAA8D;IACnF,yCAAkB,GAAG,iBAAiB,AAApB,CAAqB;IAsDhD,6BAAC;CAAA,AA3DD,CAA4C,+BAAmB,GA2D9D;AA3DY,wDAAsB","sourcesContent":["import {\n allLogLevels,\n BaseInstrumentation,\n defaultErrorArgsSerializer,\n defaultLogArgsSerializer,\n LogLevel,\n VERSION,\n} from '@grafana/faro-core';\nimport type { LogArgsSerializer } from '@grafana/faro-core';\n\nimport { getDetailsFromConsoleErrorArgs } from '../errors/getErrorDetails';\n\nimport type { ConsoleInstrumentationOptions } from './types';\n\nexport class ConsoleInstrumentation extends BaseInstrumentation {\n readonly name = '@grafana/faro-web-sdk:instrumentation-console';\n readonly version = VERSION;\n\n static defaultDisabledLevels: LogLevel[] = [LogLevel.DEBUG, LogLevel.TRACE, LogLevel.LOG];\n static consoleErrorPrefix = 'console.error: ';\n private errorSerializer: LogArgsSerializer = defaultLogArgsSerializer;\n\n constructor(private options: ConsoleInstrumentationOptions = {}) {\n super();\n }\n\n initialize() {\n this.options = { ...this.options, ...this.config.consoleInstrumentation };\n\n const serializeErrors = this.options?.serializeErrors || !!this.options?.errorSerializer;\n this.errorSerializer = serializeErrors\n ? (this.options?.errorSerializer ?? defaultErrorArgsSerializer)\n : defaultLogArgsSerializer;\n\n allLogLevels\n .filter(\n (level) => !(this.options?.disabledLevels ?? ConsoleInstrumentation.defaultDisabledLevels).includes(level)\n )\n .forEach((level) => {\n /* eslint-disable-next-line no-console */\n console[level] = (...args) => {\n try {\n if (level === LogLevel.ERROR && !this.options?.consoleErrorAsLog) {\n const { value, type, stackFrames } = getDetailsFromConsoleErrorArgs(args, this.errorSerializer);\n\n if (value && !type && !stackFrames) {\n this.api.pushError(new Error(ConsoleInstrumentation.consoleErrorPrefix + value));\n return;\n }\n\n this.api.pushError(new Error(ConsoleInstrumentation.consoleErrorPrefix + value), { type, stackFrames });\n } else if (level === LogLevel.ERROR && this.options?.consoleErrorAsLog) {\n const { value, type, stackFrames } = getDetailsFromConsoleErrorArgs(args, this.errorSerializer);\n\n this.api.pushLog(value ? [ConsoleInstrumentation.consoleErrorPrefix + value] : args, {\n level,\n context: {\n value: value ?? '',\n type: type ?? '',\n stackFrames: stackFrames?.length ? defaultErrorArgsSerializer(stackFrames) : '',\n },\n });\n } else {\n this.api.pushLog(args, { level });\n }\n } catch (err) {\n this.logError(err);\n } finally {\n this.unpatchedConsole[level](...args);\n }\n };\n });\n }\n}\n"]}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/console/instrumentation.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n allLogLevels,\n BaseInstrumentation,\n defaultErrorArgsSerializer,\n defaultLogArgsSerializer,\n LogLevel,\n VERSION,\n} from '@grafana/faro-core';\nimport type { LogArgsSerializer } from '@grafana/faro-core';\n\nimport { getDetailsFromConsoleErrorArgs } from '../errors/getErrorDetails';\n\nexport class ConsoleInstrumentation extends BaseInstrumentation {\n readonly name = '@grafana/faro-web-sdk:instrumentation-console';\n readonly version = VERSION;\n\n static defaultDisabledLevels: LogLevel[] = [LogLevel.DEBUG, LogLevel.TRACE, LogLevel.LOG];\n static consoleErrorPrefix = 'console.error: ';\n private errorSerializer: LogArgsSerializer = defaultLogArgsSerializer;\n\n initialize() {\n const instrumentationOptions = this.config.consoleInstrumentation;\n\n const serializeErrors = instrumentationOptions?.serializeErrors || !!instrumentationOptions?.errorSerializer;\n this.errorSerializer = serializeErrors\n ? (instrumentationOptions?.errorSerializer ?? defaultErrorArgsSerializer)\n : defaultLogArgsSerializer;\n\n allLogLevels\n .filter(\n (level) =>\n !(instrumentationOptions?.disabledLevels ?? ConsoleInstrumentation.defaultDisabledLevels).includes(level)\n )\n .forEach((level) => {\n /* eslint-disable-next-line no-console */\n console[level] = (...args) => {\n try {\n if (level === LogLevel.ERROR && !instrumentationOptions?.consoleErrorAsLog) {\n const { value, type, stackFrames } = getDetailsFromConsoleErrorArgs(args, this.errorSerializer);\n\n if (value && !type && !stackFrames) {\n this.api.pushError(new Error(ConsoleInstrumentation.consoleErrorPrefix + value));\n return;\n }\n\n this.api.pushError(new Error(ConsoleInstrumentation.consoleErrorPrefix + value), { type, stackFrames });\n } else if (level === LogLevel.ERROR && instrumentationOptions?.consoleErrorAsLog) {\n const { value, type, stackFrames } = getDetailsFromConsoleErrorArgs(args, this.errorSerializer);\n\n this.api.pushLog(value ? [ConsoleInstrumentation.consoleErrorPrefix + value] : args, {\n level,\n context: {\n value: value ?? '',\n type: type ?? '',\n stackFrames: stackFrames?.length ? defaultErrorArgsSerializer(stackFrames) : '',\n },\n });\n } else {\n this.api.pushLog(args, { level });\n }\n } catch (err) {\n this.logError(err);\n } finally {\n this.unpatchedConsole[level](...args);\n }\n };\n });\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CSPInstrumentation = void 0;
4
+ var instrumentation_1 = require("./instrumentation");
5
+ Object.defineProperty(exports, "CSPInstrumentation", { enumerable: true, get: function () { return instrumentation_1.CSPInstrumentation; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instrumentations/csp/index.ts"],"names":[],"mappings":";;;AAAA,qDAAuD;AAA9C,qHAAA,kBAAkB,OAAA","sourcesContent":["export { CSPInstrumentation } from './instrumentation';\n"]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.CSPInstrumentation = void 0;
19
+ var faro_core_1 = require("@grafana/faro-core");
20
+ var CSPInstrumentation = /** @class */ (function (_super) {
21
+ __extends(CSPInstrumentation, _super);
22
+ function CSPInstrumentation() {
23
+ var _this = _super.call(this) || this;
24
+ _this.name = '@grafana/faro-web-sdk:instrumentation-csp';
25
+ _this.version = faro_core_1.VERSION;
26
+ return _this;
27
+ }
28
+ CSPInstrumentation.prototype.initialize = function () {
29
+ document.addEventListener('securitypolicyviolation', this.securitypolicyviolationHandler.bind(this));
30
+ };
31
+ CSPInstrumentation.prototype.destroy = function () {
32
+ document.removeEventListener('securitypolicyviolation', this.securitypolicyviolationHandler);
33
+ };
34
+ CSPInstrumentation.prototype.securitypolicyviolationHandler = function (ev) {
35
+ this.api.pushEvent('securitypolicyviolation', (0, faro_core_1.stringifyObjectValues)(ev));
36
+ };
37
+ return CSPInstrumentation;
38
+ }(faro_core_1.BaseInstrumentation));
39
+ exports.CSPInstrumentation = CSPInstrumentation;
40
+ //# sourceMappingURL=instrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/csp/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAAyF;AAGzF;IAAwC,sCAAmB;IAIzD;QACE,YAAA,MAAK,WAAE,SAAC;QAJD,UAAI,GAAG,2CAA2C,CAAC;QACnD,aAAO,GAAG,mBAAO,CAAC;;IAI3B,CAAC;IAED,uCAAU,GAAV;QACE,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,oCAAO,GAAP;QACE,QAAQ,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC/F,CAAC;IAEM,2DAA8B,GAArC,UAAsC,EAAgC;QACpE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,iCAAqB,EAAC,EAAyB,CAAC,CAAC,CAAC;IAClG,CAAC;IACH,yBAAC;AAAD,CAAC,AAnBD,CAAwC,+BAAmB,GAmB1D;AAnBY,gDAAkB","sourcesContent":["import { BaseInstrumentation, stringifyObjectValues, VERSION } from '@grafana/faro-core';\nimport type { Instrumentation } from '@grafana/faro-core';\n\nexport class CSPInstrumentation extends BaseInstrumentation implements Instrumentation {\n readonly name = '@grafana/faro-web-sdk:instrumentation-csp';\n readonly version = VERSION;\n\n constructor() {\n super();\n }\n\n initialize() {\n document.addEventListener('securitypolicyviolation', this.securitypolicyviolationHandler.bind(this));\n }\n\n destroy() {\n document.removeEventListener('securitypolicyviolation', this.securitypolicyviolationHandler);\n }\n\n public securitypolicyviolationHandler(ev: SecurityPolicyViolationEvent) {\n this.api.pushEvent('securitypolicyviolation', stringifyObjectValues(ev as Record<string, any>));\n }\n}\n"]}
@@ -5,7 +5,7 @@ exports.newLineString = '\n';
5
5
  exports.evalString = 'eval';
6
6
  exports.unknownSymbolString = '?';
7
7
  exports.atString = '@';
8
- exports.webkitLineRegex = /^\s*at (?:(.*\).*?|.*?) ?\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
8
+ exports.webkitLineRegex = /^\s*at (?:(?![a-z]+:\/\/)([^(]+?) ?\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
9
9
  exports.webkitEvalRegex = /\((\S*)(?::(\d+))(?::(\d+))\)/;
10
10
  exports.webkitEvalString = 'eval';
11
11
  exports.webkitAddressAtString = 'address at ';
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,UAAU,GAAG,MAAM,CAAC;AACpB,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAC1B,QAAA,QAAQ,GAAG,GAAG,CAAC;AAEf,QAAA,eAAe,GAC1B,qLAAqL,CAAC;AAC3K,QAAA,eAAe,GAAG,+BAA+B,CAAC;AAClD,QAAA,gBAAgB,GAAG,MAAM,CAAC;AAC1B,QAAA,qBAAqB,GAAG,aAAa,CAAC;AACtC,QAAA,2BAA2B,GAAG,6BAAqB,CAAC,MAAM,CAAC;AAE3D,QAAA,gBAAgB,GAC3B,oOAAoO,CAAC;AAC1N,QAAA,gBAAgB,GAAG,+CAA+C,CAAC;AACnE,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAE9B,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAC3C,QAAA,wBAAwB,GAAG,sBAAsB,CAAC;AAElD,QAAA,kBAAkB,GAAG,6BAA6B,CAAC","sourcesContent":["export const newLineString = '\\n';\nexport const evalString = 'eval';\nexport const unknownSymbolString = '?';\nexport const atString = '@';\n\nexport const webkitLineRegex =\n /^\\s*at (?:(.*\\).*?|.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nexport const webkitEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\nexport const webkitEvalString = 'eval';\nexport const webkitAddressAtString = 'address at ';\nexport const webkitAddressAtStringLength = webkitAddressAtString.length;\n\nexport const firefoxLineRegex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|safari-extension|safari-web-extension|capacitor)?:\\/.*?|\\[native code]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nexport const firefoxEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nexport const firefoxEvalString = ' > eval';\n\nexport const safariExtensionString = 'safari-extension';\nexport const safariWebExtensionString = 'safari-web-extension';\n\nexport const reactMinifiedRegex = /Minified React error #\\d+;/i;\n"]}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,UAAU,GAAG,MAAM,CAAC;AACpB,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAC1B,QAAA,QAAQ,GAAG,GAAG,CAAC;AAEf,QAAA,eAAe,GAC1B,+LAA+L,CAAC;AACrL,QAAA,eAAe,GAAG,+BAA+B,CAAC;AAClD,QAAA,gBAAgB,GAAG,MAAM,CAAC;AAC1B,QAAA,qBAAqB,GAAG,aAAa,CAAC;AACtC,QAAA,2BAA2B,GAAG,6BAAqB,CAAC,MAAM,CAAC;AAE3D,QAAA,gBAAgB,GAC3B,oOAAoO,CAAC;AAC1N,QAAA,gBAAgB,GAAG,+CAA+C,CAAC;AACnE,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAE9B,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAC3C,QAAA,wBAAwB,GAAG,sBAAsB,CAAC;AAElD,QAAA,kBAAkB,GAAG,6BAA6B,CAAC","sourcesContent":["export const newLineString = '\\n';\nexport const evalString = 'eval';\nexport const unknownSymbolString = '?';\nexport const atString = '@';\n\nexport const webkitLineRegex =\n /^\\s*at (?:(?![a-z]+:\\/\\/)([^(]+?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nexport const webkitEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\nexport const webkitEvalString = 'eval';\nexport const webkitAddressAtString = 'address at ';\nexport const webkitAddressAtStringLength = webkitAddressAtString.length;\n\nexport const firefoxLineRegex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|safari-extension|safari-web-extension|capacitor)?:\\/.*?|\\[native code]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nexport const firefoxEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nexport const firefoxEvalString = ' > eval';\n\nexport const safariExtensionString = 'safari-extension';\nexport const safariWebExtensionString = 'safari-web-extension';\n\nexport const reactMinifiedRegex = /Minified React error #\\d+;/i;\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startUserAction = exports.userActionDataAttribute = exports.UserActionInstrumentation = exports.PerformanceInstrumentation = exports.STORAGE_KEY = exports.SESSION_INACTIVITY_TIME = exports.SESSION_EXPIRATION_TIME = exports.MAX_SESSION_PERSISTENCE_TIME_BUFFER = exports.MAX_SESSION_PERSISTENCE_TIME = exports.VolatileSessionsManager = exports.PersistentSessionsManager = exports.WebVitalsInstrumentation = exports.ViewInstrumentation = exports.parseStacktrace = exports.getStackFramesFromError = exports.getDataFromSafariExtensions = exports.ErrorsInstrumentation = exports.buildStackFrame = exports.ConsoleInstrumentation = exports.SessionInstrumentation = void 0;
3
+ exports.CSPInstrumentation = exports.userActionDataAttribute = exports.UserActionInstrumentation = exports.PerformanceInstrumentation = exports.STORAGE_KEY = exports.SESSION_INACTIVITY_TIME = exports.SESSION_EXPIRATION_TIME = exports.MAX_SESSION_PERSISTENCE_TIME = exports.VolatileSessionsManager = exports.PersistentSessionsManager = exports.WebVitalsInstrumentation = exports.ViewInstrumentation = exports.parseStacktrace = exports.getStackFramesFromError = exports.getDataFromSafariExtensions = exports.ErrorsInstrumentation = exports.buildStackFrame = exports.ConsoleInstrumentation = exports.SessionInstrumentation = void 0;
4
4
  var session_1 = require("./session");
5
5
  Object.defineProperty(exports, "SessionInstrumentation", { enumerable: true, get: function () { return session_1.SessionInstrumentation; } });
6
6
  var console_1 = require("./console");
@@ -19,7 +19,6 @@ var session_2 = require("./session");
19
19
  Object.defineProperty(exports, "PersistentSessionsManager", { enumerable: true, get: function () { return session_2.PersistentSessionsManager; } });
20
20
  Object.defineProperty(exports, "VolatileSessionsManager", { enumerable: true, get: function () { return session_2.VolatileSessionsManager; } });
21
21
  Object.defineProperty(exports, "MAX_SESSION_PERSISTENCE_TIME", { enumerable: true, get: function () { return session_2.MAX_SESSION_PERSISTENCE_TIME; } });
22
- Object.defineProperty(exports, "MAX_SESSION_PERSISTENCE_TIME_BUFFER", { enumerable: true, get: function () { return session_2.MAX_SESSION_PERSISTENCE_TIME_BUFFER; } });
23
22
  Object.defineProperty(exports, "SESSION_EXPIRATION_TIME", { enumerable: true, get: function () { return session_2.SESSION_EXPIRATION_TIME; } });
24
23
  Object.defineProperty(exports, "SESSION_INACTIVITY_TIME", { enumerable: true, get: function () { return session_2.SESSION_INACTIVITY_TIME; } });
25
24
  Object.defineProperty(exports, "STORAGE_KEY", { enumerable: true, get: function () { return session_2.STORAGE_KEY; } });
@@ -28,5 +27,6 @@ Object.defineProperty(exports, "PerformanceInstrumentation", { enumerable: true,
28
27
  var userActions_1 = require("./userActions");
29
28
  Object.defineProperty(exports, "UserActionInstrumentation", { enumerable: true, get: function () { return userActions_1.UserActionInstrumentation; } });
30
29
  Object.defineProperty(exports, "userActionDataAttribute", { enumerable: true, get: function () { return userActions_1.userActionDataAttribute; } });
31
- Object.defineProperty(exports, "startUserAction", { enumerable: true, get: function () { return userActions_1.startUserAction; } });
30
+ var csp_1 = require("./csp");
31
+ Object.defineProperty(exports, "CSPInstrumentation", { enumerable: true, get: function () { return csp_1.CSPInstrumentation; } });
32
32
  //# sourceMappingURL=index.js.map