@zaplier/sdk 1.7.9 → 1.8.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 (35) hide show
  1. package/dist/index.cjs +59 -12
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +5 -1
  4. package/dist/index.esm.js +59 -12
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/sdk.js +59 -12
  7. package/dist/sdk.js.map +1 -1
  8. package/dist/sdk.legacy.min.js +6 -0
  9. package/dist/sdk.min.js +1 -1
  10. package/dist/src/core.d.ts +87 -0
  11. package/dist/src/core.d.ts.map +1 -0
  12. package/dist/src/sdk.d.ts +5 -1
  13. package/dist/src/sdk.d.ts.map +1 -1
  14. package/dist/v2/chunks/fingerprint-ergvAID6.js +8461 -0
  15. package/dist/v2/chunks/replay-CM8dTFmL.js +12158 -0
  16. package/dist/v2/chunks/session-replay-C_UkGoTj.js +240 -0
  17. package/dist/v2/core.d.ts +88 -0
  18. package/dist/v2/core.js +245 -0
  19. package/dist/v2/core.min.js +6 -0
  20. package/dist/v2/modules/anti-adblock.js +6 -0
  21. package/dist/v2/modules/browser-apis-uFUJ09Rq.js +6 -0
  22. package/dist/v2/modules/confidence-CQp4GgvX.js +6 -0
  23. package/dist/v2/modules/device-signals-B35sK6Ly.js +6 -0
  24. package/dist/v2/modules/dom-blockers-Dv-oD-zS.js +6 -0
  25. package/dist/v2/modules/fingerprint-Cx012xiQ.js +6 -0
  26. package/dist/v2/modules/fingerprint.js +6 -0
  27. package/dist/v2/modules/hardware-B-ewb7VY.js +6 -0
  28. package/dist/v2/modules/heatmap.js +6 -0
  29. package/dist/v2/modules/incognito-B-8zH3xS.js +6 -0
  30. package/dist/v2/modules/math-BLnUnJG8.js +6 -0
  31. package/dist/v2/modules/plugins-enhanced-BNnyFJad.js +6 -0
  32. package/dist/v2/modules/replay.js +6 -0
  33. package/dist/v2/modules/storage-iGy4i5YE.js +6 -0
  34. package/dist/v2/modules/system-Dcygxavm.js +6 -0
  35. package/package.json +6 -2
package/dist/index.d.ts CHANGED
@@ -751,9 +751,13 @@ declare class ZaplierSDK implements ZaplierSDK$1 {
751
751
  private visitorIdentityManager?;
752
752
  constructor(userConfig: SDKConfig);
753
753
  /**
754
- * Initialize SDK
754
+ * Initialize SDK - Non-blocking approach
755
755
  */
756
756
  private initialize;
757
+ /**
758
+ * Defer heavy operations to avoid blocking main thread
759
+ */
760
+ private deferHeavyOperations;
757
761
  /**
758
762
  * Initialize tracking engines (Session Replay & Heatmap)
759
763
  */
package/dist/index.esm.js CHANGED
@@ -21382,7 +21382,7 @@ class ZaplierSDK {
21382
21382
  }
21383
21383
  }
21384
21384
  /**
21385
- * Initialize SDK
21385
+ * Initialize SDK - Non-blocking approach
21386
21386
  */
21387
21387
  async initialize() {
21388
21388
  try {
@@ -21396,21 +21396,19 @@ class ZaplierSDK {
21396
21396
  }
21397
21397
  return;
21398
21398
  }
21399
- // Collect fingerprint
21400
- await this.collectFingerprint();
21401
- // Auto-track page view if enabled
21399
+ // CRITICAL: Initialize basic tracking immediately (non-blocking)
21400
+ this.isInitialized = true;
21401
+ // Auto-track page view if enabled (immediate, before fingerprinting)
21402
21402
  if (this.config.autoTrack) {
21403
21403
  this.trackPageView();
21404
21404
  }
21405
- this.isInitialized = true;
21406
- // Initialize anti-adblock system first
21407
- this.initializeAntiAdblock();
21408
- // Then initialize tracking engines (they'll connect to anti-adblock)
21409
- this.initializeTrackingEngines();
21410
- // Initialize auto tracker
21411
- this.initializeAutoTracker();
21412
- // Process queued events
21405
+ // Process any queued events immediately
21413
21406
  this.processEventQueue();
21407
+ // PERFORMANCE: Defer heavy operations to avoid blocking main thread
21408
+ this.deferHeavyOperations();
21409
+ if (this.config.debug) {
21410
+ console.log("[Zaplier] Core SDK initialized (deferring heavy operations)");
21411
+ }
21414
21412
  if (this.config.debug) {
21415
21413
  console.log("[Zaplier] SDK initialized successfully", {
21416
21414
  visitorId: this.visitorId,
@@ -21422,6 +21420,55 @@ class ZaplierSDK {
21422
21420
  console.error("[Zaplier] Initialization failed:", error);
21423
21421
  }
21424
21422
  }
21423
+ /**
21424
+ * Defer heavy operations to avoid blocking main thread
21425
+ */
21426
+ deferHeavyOperations() {
21427
+ // Use requestIdleCallback for optimal performance, fallback to setTimeout
21428
+ const scheduleWork = (callback, timeout = 5000) => {
21429
+ if (typeof requestIdleCallback !== 'undefined') {
21430
+ requestIdleCallback(callback, { timeout });
21431
+ }
21432
+ else {
21433
+ setTimeout(callback, 100); // Small delay fallback
21434
+ }
21435
+ };
21436
+ // Schedule fingerprinting when browser is idle
21437
+ scheduleWork(async () => {
21438
+ try {
21439
+ await this.collectFingerprint();
21440
+ if (this.config.debug) {
21441
+ console.log("[Zaplier] Fingerprint collected (deferred)");
21442
+ }
21443
+ }
21444
+ catch (error) {
21445
+ if (this.config.debug) {
21446
+ console.error("[Zaplier] Deferred fingerprinting failed:", error);
21447
+ }
21448
+ }
21449
+ }, 3000);
21450
+ // Schedule anti-adblock initialization
21451
+ scheduleWork(() => {
21452
+ this.initializeAntiAdblock();
21453
+ if (this.config.debug) {
21454
+ console.log("[Zaplier] Anti-adblock initialized (deferred)");
21455
+ }
21456
+ }, 1000);
21457
+ // Schedule tracking engines initialization
21458
+ scheduleWork(() => {
21459
+ this.initializeTrackingEngines();
21460
+ if (this.config.debug) {
21461
+ console.log("[Zaplier] Tracking engines initialized (deferred)");
21462
+ }
21463
+ }, 2000);
21464
+ // Schedule auto tracker initialization
21465
+ scheduleWork(() => {
21466
+ this.initializeAutoTracker();
21467
+ if (this.config.debug) {
21468
+ console.log("[Zaplier] Auto tracker initialized (deferred)");
21469
+ }
21470
+ }, 1500);
21471
+ }
21425
21472
  /**
21426
21473
  * Initialize tracking engines (Session Replay & Heatmap)
21427
21474
  */