@leanbase.com/js 0.2.1 → 0.2.2-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/extensions/replay/external/config.d.ts +9 -0
  2. package/dist/extensions/replay/external/denylist.d.ts +5 -0
  3. package/dist/extensions/replay/external/lazy-loaded-session-recorder.d.ts +153 -0
  4. package/dist/extensions/replay/external/mutation-throttler.d.ts +20 -0
  5. package/dist/extensions/replay/external/network-plugin.d.ts +15 -0
  6. package/dist/extensions/replay/external/sessionrecording-utils.d.ts +19 -0
  7. package/dist/extensions/replay/external/triggerMatching.d.ts +102 -0
  8. package/dist/extensions/replay/rrweb-plugins/patch.d.ts +3 -0
  9. package/dist/extensions/replay/session-recording.d.ts +75 -0
  10. package/dist/extensions/replay/types/rrweb-types.d.ts +439 -0
  11. package/dist/extensions/replay/types/rrweb.d.ts +82 -0
  12. package/dist/extensions/sampling.d.ts +4 -0
  13. package/dist/leanbase.d.ts +3 -0
  14. package/dist/leanbase.iife.js +1 -1
  15. package/dist/leanbase.iife.js.map +1 -1
  16. package/dist/main.js +1 -1
  17. package/dist/main.js.map +1 -1
  18. package/dist/module.d.ts +708 -0
  19. package/dist/module.js +1 -1
  20. package/dist/module.js.map +1 -1
  21. package/dist/types.d.ts +135 -0
  22. package/dist/utils/logger.d.ts +10 -0
  23. package/dist/version.d.ts +1 -1
  24. package/lib/extensions/replay/external/config.d.ts +9 -0
  25. package/lib/extensions/replay/external/config.js +221 -0
  26. package/lib/extensions/replay/external/config.js.map +1 -0
  27. package/lib/extensions/replay/external/denylist.d.ts +5 -0
  28. package/lib/extensions/replay/external/denylist.js +28 -0
  29. package/lib/extensions/replay/external/denylist.js.map +1 -0
  30. package/lib/extensions/replay/external/lazy-loaded-session-recorder.d.ts +153 -0
  31. package/lib/extensions/replay/external/lazy-loaded-session-recorder.js +1042 -0
  32. package/lib/extensions/replay/external/lazy-loaded-session-recorder.js.map +1 -0
  33. package/lib/extensions/replay/external/mutation-throttler.d.ts +20 -0
  34. package/lib/extensions/replay/external/mutation-throttler.js +77 -0
  35. package/lib/extensions/replay/external/mutation-throttler.js.map +1 -0
  36. package/lib/extensions/replay/external/network-plugin.d.ts +15 -0
  37. package/lib/extensions/replay/external/network-plugin.js +503 -0
  38. package/lib/extensions/replay/external/network-plugin.js.map +1 -0
  39. package/lib/extensions/replay/external/sessionrecording-utils.d.ts +19 -0
  40. package/lib/extensions/replay/external/sessionrecording-utils.js +125 -0
  41. package/lib/extensions/replay/external/sessionrecording-utils.js.map +1 -0
  42. package/lib/extensions/replay/external/triggerMatching.d.ts +102 -0
  43. package/lib/extensions/replay/external/triggerMatching.js +342 -0
  44. package/lib/extensions/replay/external/triggerMatching.js.map +1 -0
  45. package/lib/extensions/replay/rrweb-plugins/patch.d.ts +3 -0
  46. package/lib/extensions/replay/rrweb-plugins/patch.js +32 -0
  47. package/lib/extensions/replay/rrweb-plugins/patch.js.map +1 -0
  48. package/lib/extensions/replay/session-recording.d.ts +75 -0
  49. package/lib/extensions/replay/session-recording.js +279 -0
  50. package/lib/extensions/replay/session-recording.js.map +1 -0
  51. package/lib/extensions/replay/types/rrweb-types.d.ts +439 -0
  52. package/lib/extensions/replay/types/rrweb-types.js +83 -0
  53. package/lib/extensions/replay/types/rrweb-types.js.map +1 -0
  54. package/lib/extensions/replay/types/rrweb.d.ts +82 -0
  55. package/lib/extensions/replay/types/rrweb.js +9 -0
  56. package/lib/extensions/replay/types/rrweb.js.map +1 -0
  57. package/lib/extensions/sampling.d.ts +4 -0
  58. package/lib/extensions/sampling.js +23 -0
  59. package/lib/extensions/sampling.js.map +1 -0
  60. package/lib/leanbase.d.ts +3 -0
  61. package/lib/leanbase.js +25 -0
  62. package/lib/leanbase.js.map +1 -1
  63. package/lib/types.d.ts +135 -0
  64. package/lib/types.js.map +1 -1
  65. package/lib/utils/logger.d.ts +10 -0
  66. package/lib/utils/logger.js +15 -0
  67. package/lib/utils/logger.js.map +1 -0
  68. package/lib/version.d.ts +1 -1
  69. package/lib/version.js +1 -1
  70. package/lib/version.js.map +1 -1
  71. package/package.json +5 -21
package/lib/leanbase.js CHANGED
@@ -13,11 +13,18 @@ import { PageViewManager } from './page-view';
13
13
  import { ScrollManager } from './scroll-manager';
14
14
  import { isLikelyBot } from './utils/blocked-uas';
15
15
  import { ConsentManager } from './consent';
16
+ import { SessionRecording } from './extensions/replay/session-recording';
16
17
  const defaultConfig = () => ({
17
18
  host: 'https://i.leanbase.co',
18
19
  token: '',
19
20
  autocapture: true,
20
21
  rageclick: true,
22
+ disable_session_recording: false,
23
+ session_recording: {
24
+ // Force-enable session recording locally unless explicitly disabled via config
25
+ forceClientRecording: true,
26
+ },
27
+ enable_recording_console_log: undefined,
21
28
  persistence: 'localStorage+cookie',
22
29
  capture_pageview: true,
23
30
  capture_pageleave: 'if_capture_pageview',
@@ -79,8 +86,16 @@ export class Leanbase extends PostHogCore {
79
86
  this.sessionManager = new SessionIdManager(this);
80
87
  this.sessionPropsManager = new SessionPropsManager(this, this.sessionManager, this.persistence);
81
88
  }
89
+ if (this.config.cookieless_mode !== 'always') {
90
+ this.sessionManager = new SessionIdManager(this);
91
+ this.sessionPropsManager = new SessionPropsManager(this, this.sessionManager, this.persistence);
92
+ }
82
93
  this.replayAutocapture = new Autocapture(this);
83
94
  this.replayAutocapture.startIfEnabled();
95
+ if (this.sessionManager && this.config.cookieless_mode !== 'always') {
96
+ this.sessionRecording = new SessionRecording(this);
97
+ this.sessionRecording.startIfEnabledOrStop();
98
+ }
84
99
  if (this.config.preloadFeatureFlags !== false) {
85
100
  this.reloadFeatureFlags();
86
101
  }
@@ -172,6 +187,7 @@ export class Leanbase extends PostHogCore {
172
187
  }
173
188
  this.isRemoteConfigLoaded = true;
174
189
  this.replayAutocapture?.onRemoteConfig(config);
190
+ this.sessionRecording?.onRemoteConfig(config);
175
191
  }
176
192
  fetch(url, options) {
177
193
  const fetchFn = getFetch();
@@ -186,6 +202,7 @@ export class Leanbase extends PostHogCore {
186
202
  extend(this.config, config);
187
203
  this.persistence?.update_config(this.config, oldConfig);
188
204
  this.replayAutocapture?.startIfEnabled();
205
+ this.sessionRecording?.startIfEnabledOrStop();
189
206
  }
190
207
  const isTempStorage = this.config.persistence === 'sessionStorage' || this.config.persistence === 'memory';
191
208
  this.sessionPersistence = isTempStorage
@@ -237,6 +254,14 @@ export class Leanbase extends PostHogCore {
237
254
  if (this.sessionPropsManager) {
238
255
  extend(properties, this.sessionPropsManager.getSessionProps());
239
256
  }
257
+ try {
258
+ if (this.sessionRecording) {
259
+ extend(properties, this.sessionRecording.sdkDebugProperties);
260
+ }
261
+ }
262
+ catch (e) {
263
+ properties['$sdk_debug_error_capturing_properties'] = String(e);
264
+ }
240
265
  let pageviewProperties = this.pageViewManager.doEvent();
241
266
  if (eventName === '$pageview' && !readOnly) {
242
267
  pageviewProperties = this.pageViewManager.doPageView(timestamp, uuid);
@@ -1 +1 @@
1
- {"version":3,"file":"leanbase.js","sourceRoot":"","sources":["../src/leanbase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leanbase.js","sourceRoot":"","sources":["../src/leanbase.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { FeatureFlagValue, JsonType, PostHogCoreOptions } from '@posthog/core';
2
2
  import { KnownUnsafeEditableEvent } from '@posthog/core';
3
+ import type { recordOptions } from './extensions/replay/types/rrweb';
3
4
  import { Leanbase } from './leanbase';
4
5
  export declare const COPY_AUTOCAPTURE_EVENT = "$copy_autocapture";
5
6
  export type Property = any;
@@ -104,6 +105,19 @@ export interface LeanbaseConfig extends Partial<PostHogCoreOptions> {
104
105
  * @default true
105
106
  */
106
107
  autocapture: boolean | AutocaptureConfig;
108
+ /**
109
+ * Enables or disables session recording. When true, session recording is disabled on the client.
110
+ * @default false
111
+ */
112
+ disable_session_recording?: boolean;
113
+ /**
114
+ * Session recording configuration
115
+ */
116
+ session_recording?: SessionRecordingOptions;
117
+ /**
118
+ * Enable console.log recording for session replay (can be controlled remotely). Undefined defers to server.
119
+ */
120
+ enable_recording_console_log?: boolean;
107
121
  /**
108
122
  * Determines whether Leanbase should capture pageview events automatically.
109
123
  * Can be:
@@ -114,6 +128,12 @@ export interface LeanbaseConfig extends Partial<PostHogCoreOptions> {
114
128
  * @default true
115
129
  */
116
130
  capture_pageview: boolean | 'history_change';
131
+ /**
132
+ * Enables performance capture. When true, network performance timing can be forwarded to replay when enabled.
133
+ */
134
+ capture_performance?: boolean | {
135
+ network_timing?: boolean;
136
+ };
117
137
  /**
118
138
  * Determines the session idle timeout in seconds.
119
139
  * Any new event that's happened after this timeout will create a new session.
@@ -338,6 +358,73 @@ export interface LeanbaseConfig extends Partial<PostHogCoreOptions> {
338
358
  */
339
359
  loaded: (instance: Leanbase) => void;
340
360
  }
361
+ export type SessionRecordingCanvasOptions = {
362
+ recordCanvas?: boolean | null;
363
+ canvasFps?: number | null;
364
+ canvasQuality?: string | null;
365
+ };
366
+ export interface SessionRecordingOptions {
367
+ blockClass?: string | RegExp;
368
+ blockSelector?: string | null;
369
+ ignoreClass?: string | RegExp;
370
+ maskTextClass?: string | RegExp;
371
+ maskTextSelector?: string | null;
372
+ maskTextFn?: ((text: string, element?: HTMLElement) => string) | null;
373
+ maskAllInputs?: boolean;
374
+ maskInputOptions?: recordOptions['maskInputOptions'];
375
+ maskInputFn?: ((text: string, element?: HTMLElement) => string) | null;
376
+ slimDOMOptions?: recordOptions['slimDOMOptions'];
377
+ collectFonts?: boolean;
378
+ inlineStylesheet?: boolean;
379
+ recordCrossOriginIframes?: boolean;
380
+ recordHeaders?: boolean;
381
+ recordBody?: boolean;
382
+ captureCanvas?: SessionRecordingCanvasOptions;
383
+ maskCapturedNetworkRequestFn?: ((data: CapturedNetworkRequest) => CapturedNetworkRequest | null | undefined) | null;
384
+ maskNetworkRequestFn?: ((data: NetworkRequest) => NetworkRequest | null | undefined) | null;
385
+ full_snapshot_interval_millis?: number;
386
+ compress_events?: boolean;
387
+ session_idle_threshold_ms?: number;
388
+ __mutationThrottlerRefillRate?: number;
389
+ __mutationThrottlerBucketSize?: number;
390
+ /**
391
+ * Force-enable session recording locally even if remote config disables it.
392
+ * Useful for dev/testing when the backend has sessionRecording set to false.
393
+ */
394
+ forceClientRecording?: boolean;
395
+ }
396
+ export type SessionRecordingPersistedConfig = Omit<SessionRecordingRemoteConfig, 'recordCanvas' | 'canvasFps' | 'canvasQuality' | 'networkPayloadCapture' | 'sampleRate' | 'minimumDurationMilliseconds'> & {
397
+ enabled: boolean;
398
+ networkPayloadCapture: SessionRecordingRemoteConfig['networkPayloadCapture'] & {
399
+ capturePerformance: RemoteConfig['capturePerformance'];
400
+ };
401
+ canvasRecording: {
402
+ enabled: SessionRecordingRemoteConfig['recordCanvas'];
403
+ fps: SessionRecordingRemoteConfig['canvasFps'];
404
+ quality: SessionRecordingRemoteConfig['canvasQuality'];
405
+ };
406
+ sampleRate: number | null;
407
+ minimumDurationMilliseconds: number | null | undefined;
408
+ };
409
+ export type SessionRecordingRemoteConfig = SessionRecordingCanvasOptions & {
410
+ endpoint?: string;
411
+ consoleLogRecordingEnabled?: boolean;
412
+ sampleRate?: string | null;
413
+ minimumDurationMilliseconds?: number;
414
+ linkedFlag?: string | {
415
+ flag: string;
416
+ variant: string;
417
+ } | null;
418
+ networkPayloadCapture?: Pick<NetworkRecordOptions, 'recordBody' | 'recordHeaders' | 'payloadHostDenyList'>;
419
+ masking?: Pick<SessionRecordingOptions, 'maskAllInputs' | 'maskTextSelector' | 'blockSelector'>;
420
+ urlTriggers?: SessionRecordingUrlTrigger[];
421
+ scriptConfig?: {
422
+ script?: string | undefined;
423
+ };
424
+ urlBlocklist?: SessionRecordingUrlTrigger[];
425
+ eventTriggers?: string[];
426
+ triggerMatchType?: 'any' | 'all';
427
+ };
341
428
  export interface RageclickConfig {
342
429
  /**
343
430
  * List of CSS selectors to ignore rageclicks on
@@ -456,6 +543,10 @@ export interface RemoteConfig {
456
543
  autocaptureExceptions?: boolean | {
457
544
  endpoint?: string;
458
545
  };
546
+ /**
547
+ * Session recording configuration options
548
+ */
549
+ sessionRecording?: SessionRecordingRemoteConfig | false;
459
550
  /**
460
551
  * @deprecated, moved to toolbarParams
461
552
  */
@@ -533,6 +624,50 @@ export interface RequestWithOptions {
533
624
  next?: NextOptions;
534
625
  };
535
626
  }
627
+ export type InitiatorType = 'audio' | 'beacon' | 'body' | 'css' | 'early-hint' | 'early-hints' | 'embed' | 'fetch' | 'frame' | 'iframe' | 'image' | 'img' | 'input' | 'link' | 'navigation' | 'object' | 'ping' | 'script' | 'track' | 'video' | 'xmlhttprequest';
628
+ export type NetworkRecordOptions = {
629
+ initiatorTypes?: InitiatorType[];
630
+ maskRequestFn?: (data: CapturedNetworkRequest) => CapturedNetworkRequest | undefined;
631
+ recordHeaders?: boolean | {
632
+ request: boolean;
633
+ response: boolean;
634
+ };
635
+ recordBody?: boolean | string[] | {
636
+ request: boolean | string[];
637
+ response: boolean | string[];
638
+ };
639
+ recordInitialRequests?: boolean;
640
+ recordPerformance?: boolean;
641
+ performanceEntryTypeToObserve: string[];
642
+ payloadSizeLimitBytes: number;
643
+ payloadHostDenyList?: string[];
644
+ };
645
+ export type NetworkRequest = {
646
+ url: string;
647
+ };
648
+ export type Headers = Record<string, any>;
649
+ type Writable<T> = {
650
+ -readonly [P in keyof T]: T[P];
651
+ };
652
+ export type CapturedNetworkRequest = Writable<Omit<PerformanceEntry, 'toJSON'>> & {
653
+ method?: string;
654
+ initiatorType?: InitiatorType;
655
+ status?: number;
656
+ timeOrigin?: number;
657
+ timestamp?: number;
658
+ startTime?: number;
659
+ endTime?: number;
660
+ requestHeaders?: Headers;
661
+ requestBody?: string | null;
662
+ responseHeaders?: Headers;
663
+ responseBody?: string | null;
664
+ isInitial?: boolean;
665
+ };
666
+ export interface SessionRecordingUrlTrigger {
667
+ url: string;
668
+ matching: 'regex';
669
+ }
670
+ export type SessionStartReason = 'sampling_overridden' | 'recording_initialized' | 'linked_flag_matched' | 'linked_flag_overridden' | 'sampled' | 'session_id_changed' | 'url_trigger_matched' | 'event_trigger_matched';
536
671
  export type SessionIdChangedCallback = (sessionId: string, windowId: string | null | undefined, changeReason?: {
537
672
  noSessionId: boolean;
538
673
  activityTimeout: boolean;
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AA+ZzD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,iCAAkB,CAAA;IAClB,gCAAiB,CAAA;AACrB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AA8fzD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,iCAAkB,CAAA;IAClB,gCAAiB,CAAA;AACrB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
@@ -0,0 +1,10 @@
1
+ export type PosthogJsLogger = {
2
+ info: (...args: any[]) => void;
3
+ warn: (...args: any[]) => void;
4
+ error: (...args: any[]) => void;
5
+ critical: (...args: any[]) => void;
6
+ uninitializedWarning: (methodName: string) => void;
7
+ createLogger: (prefix: string) => PosthogJsLogger;
8
+ };
9
+ export declare const logger: PosthogJsLogger;
10
+ export declare const createLogger: (prefix: string) => PosthogJsLogger;
@@ -0,0 +1,15 @@
1
+ const _createLogger = (prefix) => {
2
+ return {
3
+ info: (...args) => logger.info(prefix, ...args),
4
+ warn: (...args) => logger.warn(prefix, ...args),
5
+ error: (...args) => logger.error(prefix, ...args),
6
+ critical: (...args) => logger.critical(prefix, ...args),
7
+ uninitializedWarning: (methodName) => {
8
+ logger.error(prefix, `You must initialize Leanbase before calling ${methodName}`);
9
+ },
10
+ createLogger: (additionalPrefix) => _createLogger(`${prefix} ${additionalPrefix}`),
11
+ };
12
+ };
13
+ export const logger = _createLogger('[Leanbase]');
14
+ export const createLogger = _createLogger;
15
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AASA,MAAM,aAAa,GAAG,CAAC,MAAc,EAAmB,EAAE;IACtD,OAAO;QACH,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QACtD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QACtD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QACxD,QAAQ,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QAC9D,oBAAoB,EAAE,CAAC,UAAkB,EAAE,EAAE;YACzC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,+CAA+C,UAAU,EAAE,CAAC,CAAA;QACrF,CAAC;QACD,YAAY,EAAE,CAAC,gBAAwB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,gBAAgB,EAAE,CAAC;KAC7F,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAA"}
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.2.1";
1
+ export declare const version = "0.2.2-alpha.0";
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '0.2.1';
1
+ export const version = '0.2.2-alpha.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leanbase.com/js",
3
- "version": "0.2.1",
3
+ "version": "0.2.2-alpha.0",
4
4
  "description": "Leanbase browser SDK - event tracking, autocapture, and session replay",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,26 +21,10 @@
21
21
  "publishConfig": {
22
22
  "access": "public"
23
23
  },
24
- "devDependencies": {
25
- "@babel/core": "^7.27.1",
26
- "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
27
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
28
- "@babel/preset-env": "^7.27.2",
29
- "@rollup/plugin-babel": "^6.0.4",
30
- "@rollup/plugin-commonjs": "^28.0.6",
31
- "@rollup/plugin-json": "^6.1.0",
32
- "@rollup/plugin-node-resolve": "^16.0.1",
33
- "@rollup/plugin-terser": "^0.4.4",
34
- "@rollup/plugin-typescript": "^12.1.4",
35
- "rollup-plugin-dts": "^6.2.3",
36
- "jest": "^29.7.0",
37
- "jest-environment-jsdom": "^29.7.0",
38
- "rollup": "^4.44.1",
39
- "rimraf": "^6.0.1",
40
- "typescript": "5.8.2",
41
- "@posthog/core": "1.3.1",
42
- "@posthog-tooling/tsconfig-base": "1.0.0",
43
- "@posthog-tooling/rollup-utils": "1.0.0"
24
+ "dependencies": {
25
+ "@rrweb/record": "2.0.0-alpha.17",
26
+ "@rrweb/rrweb-plugin-console-record": "2.0.0-alpha.17",
27
+ "fflate": "^0.4.8"
44
28
  },
45
29
  "scripts": {
46
30
  "clean": "rimraf dist lib coverage",