@thisbefine/analytics 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/analytics.d.ts +44 -2
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/core/analytics.js +154 -20
- package/dist/core/analytics.js.map +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +3 -2
- package/dist/core/errors.js.map +1 -1
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +0 -6
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/logger.d.ts +2 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +53 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/privacy.d.ts +50 -2
- package/dist/core/privacy.d.ts.map +1 -1
- package/dist/core/privacy.js +118 -1
- package/dist/core/privacy.js.map +1 -1
- package/dist/core/queue.d.ts +76 -3
- package/dist/core/queue.d.ts.map +1 -1
- package/dist/core/queue.js +353 -40
- package/dist/core/queue.js.map +1 -1
- package/dist/core/session.d.ts +5 -3
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +20 -5
- package/dist/core/session.js.map +1 -1
- package/dist/core/types.d.ts +150 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +10 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/next.d.ts +4 -1
- package/dist/next.d.ts.map +1 -1
- package/dist/next.js +2 -1
- package/dist/next.js.map +1 -1
- package/dist/react/context.d.ts +95 -0
- package/dist/react/context.d.ts.map +1 -0
- package/dist/react/context.js +120 -0
- package/dist/react/context.js.map +1 -0
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/hooks.js +38 -37
- package/dist/react/hooks.js.map +1 -1
- package/dist/react.d.ts +2 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +2 -3
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
package/dist/core/session.js
CHANGED
|
@@ -4,18 +4,19 @@ import { STORAGE_KEYS } from "./types";
|
|
|
4
4
|
const BROADCAST_CHANNEL_NAME = "thisbefine_session";
|
|
5
5
|
/**
|
|
6
6
|
* Session manager handles:
|
|
7
|
-
* - Anonymous ID generation and persistence
|
|
7
|
+
* - Anonymous ID generation and persistence (with optional rotation)
|
|
8
8
|
* - User ID management
|
|
9
9
|
* - Session ID with timeout-based regeneration
|
|
10
10
|
* - User traits storage
|
|
11
11
|
* - Cross-tab synchronization via BroadcastChannel
|
|
12
12
|
*/
|
|
13
13
|
export class Session {
|
|
14
|
-
constructor(storage, sessionTimeout, debug = false) {
|
|
14
|
+
constructor(storage, sessionTimeout, debug = false, anonymousIdMaxAge = 0) {
|
|
15
15
|
this.currentSessionId = null;
|
|
16
16
|
this.broadcastChannel = null;
|
|
17
17
|
this.storage = storage;
|
|
18
18
|
this.sessionTimeout = sessionTimeout;
|
|
19
|
+
this.anonymousIdMaxAge = anonymousIdMaxAge;
|
|
19
20
|
this.logger = createLogger("Session", debug);
|
|
20
21
|
this.ensureSession();
|
|
21
22
|
this.setupCrossTabSync();
|
|
@@ -77,14 +78,27 @@ export class Session {
|
|
|
77
78
|
catch { }
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
80
|
-
* Get the anonymous ID, generating one if it doesn't exist
|
|
81
|
+
* Get the anonymous ID, generating one if it doesn't exist or has expired.
|
|
82
|
+
* If anonymousIdMaxAge is set, the ID will be rotated after that duration.
|
|
81
83
|
*/
|
|
82
84
|
getAnonymousId() {
|
|
83
85
|
let anonymousId = this.storage.get(STORAGE_KEYS.ANONYMOUS_ID);
|
|
84
|
-
|
|
86
|
+
const createdAtStr = this.storage.get(STORAGE_KEYS.ANONYMOUS_ID_CREATED);
|
|
87
|
+
const createdAt = createdAtStr ? parseInt(createdAtStr, 10) : 0;
|
|
88
|
+
const now = Date.now();
|
|
89
|
+
const needsRotation = this.anonymousIdMaxAge > 0 &&
|
|
90
|
+
createdAt > 0 &&
|
|
91
|
+
now - createdAt > this.anonymousIdMaxAge;
|
|
92
|
+
if (!anonymousId || needsRotation) {
|
|
85
93
|
anonymousId = generateId();
|
|
86
94
|
this.storage.set(STORAGE_KEYS.ANONYMOUS_ID, anonymousId);
|
|
87
|
-
this.
|
|
95
|
+
this.storage.set(STORAGE_KEYS.ANONYMOUS_ID_CREATED, now.toString());
|
|
96
|
+
this.logger.log(needsRotation
|
|
97
|
+
? "Rotated anonymous ID (max age exceeded):"
|
|
98
|
+
: "Generated new anonymous ID:", anonymousId);
|
|
99
|
+
}
|
|
100
|
+
else if (!createdAt) {
|
|
101
|
+
this.storage.set(STORAGE_KEYS.ANONYMOUS_ID_CREATED, now.toString());
|
|
88
102
|
}
|
|
89
103
|
return anonymousId;
|
|
90
104
|
}
|
|
@@ -209,6 +223,7 @@ export class Session {
|
|
|
209
223
|
this.storage.remove(STORAGE_KEYS.ACCOUNT_TRAITS);
|
|
210
224
|
const newAnonymousId = generateId();
|
|
211
225
|
this.storage.set(STORAGE_KEYS.ANONYMOUS_ID, newAnonymousId);
|
|
226
|
+
this.storage.set(STORAGE_KEYS.ANONYMOUS_ID_CREATED, Date.now().toString());
|
|
212
227
|
const newSessionId = generateId();
|
|
213
228
|
this.currentSessionId = newSessionId;
|
|
214
229
|
this.storage.set(STORAGE_KEYS.SESSION_ID, newSessionId);
|
package/dist/core/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAOvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AASpD;;;;;;;GAOG;AACH,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
import type { ErrorCaptureConfig } from "./errors";
|
|
2
2
|
import type { AccountDeletedProps, FeatureActivatedProps, InviteAcceptedProps, InviteSentProps, LoginProps, LogoutProps, PlanDowngradedProps, PlanUpgradedProps, SignupProps, SubscriptionCancelledProps, SubscriptionRenewedProps, SubscriptionStartedProps, TrialEndedProps, TrialStartedProps } from "./lifecycle";
|
|
3
3
|
import type { LogLevel } from "./logging";
|
|
4
|
+
/**
|
|
5
|
+
* Flush result returned when flushing the event queue
|
|
6
|
+
*/
|
|
7
|
+
export interface FlushResult {
|
|
8
|
+
/** Whether the flush was successful */
|
|
9
|
+
success: boolean;
|
|
10
|
+
/** Number of events that were sent */
|
|
11
|
+
eventCount: number;
|
|
12
|
+
/** Errors encountered during flush (if any) */
|
|
13
|
+
errors?: Error[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Error callback for handling flush failures
|
|
17
|
+
*/
|
|
18
|
+
export type OnFlushError = (error: Error, failedEvents: AnalyticsEvent[]) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Callback to modify or filter events before they are queued.
|
|
21
|
+
* Return the modified event, or null to discard it.
|
|
22
|
+
* Useful for PII scrubbing, adding global properties, or filtering events.
|
|
23
|
+
*/
|
|
24
|
+
export type BeforeSend = (event: AnalyticsEvent) => AnalyticsEvent | null;
|
|
25
|
+
/**
|
|
26
|
+
* Consent category types for granular tracking control
|
|
27
|
+
*/
|
|
28
|
+
export type ConsentCategory = "analytics" | "marketing" | "functional";
|
|
29
|
+
/**
|
|
30
|
+
* Consent configuration for granular tracking control
|
|
31
|
+
*/
|
|
32
|
+
export interface ConsentConfig {
|
|
33
|
+
/**
|
|
34
|
+
* Which consent categories are enabled.
|
|
35
|
+
* Default: all categories enabled.
|
|
36
|
+
*/
|
|
37
|
+
categories?: ConsentCategory[];
|
|
38
|
+
/**
|
|
39
|
+
* Default consent state before user makes a choice.
|
|
40
|
+
* If false, no tracking until explicit consent.
|
|
41
|
+
* Default: true (tracks by default, respects DNT).
|
|
42
|
+
*/
|
|
43
|
+
defaultConsent?: boolean;
|
|
44
|
+
}
|
|
4
45
|
/**
|
|
5
46
|
* Configuration options for the analytics SDK
|
|
6
47
|
*/
|
|
@@ -25,6 +66,60 @@ export interface AnalyticsConfig {
|
|
|
25
66
|
maxRetries?: number;
|
|
26
67
|
/** Error capture configuration */
|
|
27
68
|
errors?: ErrorCaptureConfig;
|
|
69
|
+
/** Callback invoked when flush fails. Receives error and failed events. */
|
|
70
|
+
onFlushError?: OnFlushError;
|
|
71
|
+
/** Persist queue to storage for crash recovery. Default: true */
|
|
72
|
+
persistQueue?: boolean;
|
|
73
|
+
/** Maximum number of events to persist. Default: 1000 */
|
|
74
|
+
maxPersistedEvents?: number;
|
|
75
|
+
/**
|
|
76
|
+
* Callback to modify or filter events before they are queued.
|
|
77
|
+
* Return the modified event to send it, or null to discard it.
|
|
78
|
+
* Useful for PII scrubbing, adding global properties, or filtering.
|
|
79
|
+
*/
|
|
80
|
+
beforeSend?: BeforeSend;
|
|
81
|
+
/**
|
|
82
|
+
* How often to rotate the anonymous ID (in milliseconds).
|
|
83
|
+
* Default: 30 days (2592000000ms). Set to 0 to disable rotation.
|
|
84
|
+
* Rotation helps with privacy compliance by limiting long-term tracking.
|
|
85
|
+
*/
|
|
86
|
+
anonymousIdMaxAge?: number;
|
|
87
|
+
/**
|
|
88
|
+
* Circuit breaker: Number of consecutive failures before opening the circuit.
|
|
89
|
+
* When open, the SDK stops attempting to send events until the reset timeout.
|
|
90
|
+
* Default: 5 consecutive failures.
|
|
91
|
+
*/
|
|
92
|
+
circuitBreakerThreshold?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Circuit breaker: Time in ms to wait before attempting to close the circuit.
|
|
95
|
+
* Default: 30000 (30 seconds).
|
|
96
|
+
*/
|
|
97
|
+
circuitBreakerResetTimeout?: number;
|
|
98
|
+
/**
|
|
99
|
+
* Consent categories configuration.
|
|
100
|
+
* Allows granular control over what types of tracking are enabled.
|
|
101
|
+
*/
|
|
102
|
+
consent?: ConsentConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Maximum events allowed per second.
|
|
105
|
+
* Events exceeding this limit will be dropped.
|
|
106
|
+
* Default: 100 events/second. Set to 0 to disable rate limiting.
|
|
107
|
+
*/
|
|
108
|
+
maxEventsPerSecond?: number;
|
|
109
|
+
/**
|
|
110
|
+
* Sample rate for events (0 to 1).
|
|
111
|
+
* 1 = track all events (default)
|
|
112
|
+
* 0.5 = track 50% of events
|
|
113
|
+
* 0.1 = track 10% of events
|
|
114
|
+
* Useful for high-traffic sites to reduce volume.
|
|
115
|
+
*/
|
|
116
|
+
sampleRate?: number;
|
|
117
|
+
/**
|
|
118
|
+
* Output debug logs as structured JSON.
|
|
119
|
+
* Useful for log aggregation systems (e.g., Datadog, Splunk).
|
|
120
|
+
* Default: false (human-readable format)
|
|
121
|
+
*/
|
|
122
|
+
structuredLogging?: boolean;
|
|
28
123
|
}
|
|
29
124
|
/**
|
|
30
125
|
* Internal resolved configuration with defaults applied
|
|
@@ -40,6 +135,17 @@ export interface ResolvedConfig {
|
|
|
40
135
|
respectDNT: boolean;
|
|
41
136
|
maxRetries: number;
|
|
42
137
|
errors?: ErrorCaptureConfig;
|
|
138
|
+
onFlushError?: OnFlushError;
|
|
139
|
+
persistQueue: boolean;
|
|
140
|
+
maxPersistedEvents: number;
|
|
141
|
+
beforeSend?: BeforeSend;
|
|
142
|
+
anonymousIdMaxAge: number;
|
|
143
|
+
circuitBreakerThreshold: number;
|
|
144
|
+
circuitBreakerResetTimeout: number;
|
|
145
|
+
consent?: ConsentConfig;
|
|
146
|
+
maxEventsPerSecond: number;
|
|
147
|
+
sampleRate: number;
|
|
148
|
+
structuredLogging: boolean;
|
|
43
149
|
}
|
|
44
150
|
/**
|
|
45
151
|
* Event context sent with every event
|
|
@@ -68,6 +174,8 @@ export interface EventContext {
|
|
|
68
174
|
*/
|
|
69
175
|
export interface BaseEvent {
|
|
70
176
|
type: "track" | "identify" | "page" | "group";
|
|
177
|
+
/** Unique message ID for idempotency/deduplication */
|
|
178
|
+
messageId: string;
|
|
71
179
|
timestamp: string;
|
|
72
180
|
anonymousId: string;
|
|
73
181
|
userId?: string;
|
|
@@ -208,8 +316,15 @@ export interface Analytics {
|
|
|
208
316
|
reset(): void;
|
|
209
317
|
/**
|
|
210
318
|
* Manually flush the event queue
|
|
319
|
+
* @returns Flush result with success status, event count, and any errors
|
|
320
|
+
*/
|
|
321
|
+
flush(): Promise<FlushResult>;
|
|
322
|
+
/**
|
|
323
|
+
* Destroy the analytics instance, cleaning up all resources.
|
|
324
|
+
* Call this when unmounting or when you need to reinitialize.
|
|
325
|
+
* Flushes remaining events before cleanup.
|
|
211
326
|
*/
|
|
212
|
-
|
|
327
|
+
destroy(): Promise<void>;
|
|
213
328
|
/**
|
|
214
329
|
* Opt out of tracking
|
|
215
330
|
*/
|
|
@@ -222,6 +337,30 @@ export interface Analytics {
|
|
|
222
337
|
* Check if user has opted out
|
|
223
338
|
*/
|
|
224
339
|
isOptedOut(): boolean;
|
|
340
|
+
/**
|
|
341
|
+
* Check if a specific consent category is enabled
|
|
342
|
+
* @param category - The consent category to check
|
|
343
|
+
*/
|
|
344
|
+
hasConsent(category: ConsentCategory): boolean;
|
|
345
|
+
/**
|
|
346
|
+
* Get all currently consented categories
|
|
347
|
+
*/
|
|
348
|
+
getConsentedCategories(): ConsentCategory[];
|
|
349
|
+
/**
|
|
350
|
+
* Set consent for specific categories (replaces current consent)
|
|
351
|
+
* @param categories - Array of categories to enable
|
|
352
|
+
*/
|
|
353
|
+
setConsent(categories: ConsentCategory[]): void;
|
|
354
|
+
/**
|
|
355
|
+
* Grant consent for a specific category
|
|
356
|
+
* @param category - The category to grant consent for
|
|
357
|
+
*/
|
|
358
|
+
grantConsent(category: ConsentCategory): void;
|
|
359
|
+
/**
|
|
360
|
+
* Revoke consent for a specific category
|
|
361
|
+
* @param category - The category to revoke consent for
|
|
362
|
+
*/
|
|
363
|
+
revokeConsent(category: ConsentCategory): void;
|
|
225
364
|
/**
|
|
226
365
|
* Get current user state
|
|
227
366
|
*/
|
|
@@ -352,12 +491,21 @@ export declare const DEFAULT_CONFIG: {
|
|
|
352
491
|
readonly debug: false;
|
|
353
492
|
readonly respectDNT: true;
|
|
354
493
|
readonly maxRetries: 3;
|
|
494
|
+
readonly persistQueue: true;
|
|
495
|
+
readonly maxPersistedEvents: 1000;
|
|
496
|
+
readonly anonymousIdMaxAge: number;
|
|
497
|
+
readonly circuitBreakerThreshold: 5;
|
|
498
|
+
readonly circuitBreakerResetTimeout: number;
|
|
499
|
+
readonly maxEventsPerSecond: 100;
|
|
500
|
+
readonly sampleRate: 1;
|
|
501
|
+
readonly structuredLogging: false;
|
|
355
502
|
};
|
|
356
503
|
/**
|
|
357
504
|
* Storage key names
|
|
358
505
|
*/
|
|
359
506
|
export declare const STORAGE_KEYS: {
|
|
360
507
|
readonly ANONYMOUS_ID: "tif_anonymous_id";
|
|
508
|
+
readonly ANONYMOUS_ID_CREATED: "tif_anonymous_id_created";
|
|
361
509
|
readonly USER_ID: "tif_user_id";
|
|
362
510
|
readonly USER_TRAITS: "tif_user_traits";
|
|
363
511
|
readonly ACCOUNT_ID: "tif_account_id";
|
|
@@ -365,5 +513,6 @@ export declare const STORAGE_KEYS: {
|
|
|
365
513
|
readonly SESSION_ID: "tif_session_id";
|
|
366
514
|
readonly LAST_ACTIVITY: "tif_last_activity";
|
|
367
515
|
readonly OPT_OUT: "tif_opt_out";
|
|
516
|
+
readonly QUEUE: "tif_event_queue";
|
|
368
517
|
};
|
|
369
518
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EACX,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IAEf,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kCAAkC;IAClC,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.js
CHANGED
|
@@ -17,12 +17,21 @@ export const DEFAULT_CONFIG = {
|
|
|
17
17
|
debug: false,
|
|
18
18
|
respectDNT: true,
|
|
19
19
|
maxRetries: 3,
|
|
20
|
+
persistQueue: true,
|
|
21
|
+
maxPersistedEvents: 1000,
|
|
22
|
+
anonymousIdMaxAge: 30 * 24 * 60 * 60 * 1000,
|
|
23
|
+
circuitBreakerThreshold: 5,
|
|
24
|
+
circuitBreakerResetTimeout: 30 * 1000,
|
|
25
|
+
maxEventsPerSecond: 100,
|
|
26
|
+
sampleRate: 1,
|
|
27
|
+
structuredLogging: false,
|
|
20
28
|
};
|
|
21
29
|
/**
|
|
22
30
|
* Storage key names
|
|
23
31
|
*/
|
|
24
32
|
export const STORAGE_KEYS = {
|
|
25
33
|
ANONYMOUS_ID: "tif_anonymous_id",
|
|
34
|
+
ANONYMOUS_ID_CREATED: "tif_anonymous_id_created",
|
|
26
35
|
USER_ID: "tif_user_id",
|
|
27
36
|
USER_TRAITS: "tif_user_traits",
|
|
28
37
|
ACCOUNT_ID: "tif_account_id",
|
|
@@ -30,5 +39,6 @@ export const STORAGE_KEYS = {
|
|
|
30
39
|
SESSION_ID: "tif_session_id",
|
|
31
40
|
LAST_ACTIVITY: "tif_last_activity",
|
|
32
41
|
OPT_OUT: "tif_opt_out",
|
|
42
|
+
QUEUE: "tif_event_queue",
|
|
33
43
|
};
|
|
34
44
|
//# sourceMappingURL=types.js.map
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAojBpC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC3C,uBAAuB,EAAE,CAAC;IAC1B,0BAA0B,EAAE,EAAE,GAAG,IAAI;IACrC,kBAAkB,EAAE,GAAG;IACvB,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,KAAK;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,YAAY,EAAE,kBAAkB;IAChC,oBAAoB,EAAE,0BAA0B;IAChD,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,cAAc,EAAE,oBAAoB;IACpC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,iBAAiB;CACf,CAAC"}
|
package/dist/core/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.3.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/core/version.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export type { Breadcrumb, ErrorCaptureConfig, ErrorPayload, } from "./core/error
|
|
|
40
40
|
export type { AccountDeletedProps, FeatureActivatedProps, InviteAcceptedProps, InviteSentProps, LoginProps, LogoutProps, PlanDowngradedProps, PlanUpgradedProps, SignupProps, SubscriptionCancelledProps, SubscriptionRenewedProps, SubscriptionStartedProps, TrialEndedProps, TrialStartedProps, } from "./core/lifecycle";
|
|
41
41
|
export { LIFECYCLE_EVENTS } from "./core/lifecycle";
|
|
42
42
|
export type { LogLevel } from "./core/logging";
|
|
43
|
-
export type { AccountTraits, Analytics, AnalyticsConfig, AnalyticsEvent, EventContext, GroupEvent, IdentifyEvent, PageEvent, TrackEvent, UserState, UserTraits, } from "./core/types";
|
|
43
|
+
export type { AccountTraits, Analytics, AnalyticsConfig, AnalyticsEvent, BeforeSend, EventContext, FlushResult, GroupEvent, IdentifyEvent, OnFlushError, PageEvent, TrackEvent, UserState, UserTraits, } from "./core/types";
|
|
44
44
|
export { DEFAULT_CONFIG, LIBRARY_INFO, STORAGE_KEYS } from "./core/types";
|
|
45
45
|
export type { BugReportWidgetOptions } from "./widget/bug-report";
|
|
46
46
|
export { createBugReportWidget } from "./widget/bug-report";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,GACZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,GACZ,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EACX,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1E,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAuB1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAoBpD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/next.d.ts
CHANGED
|
@@ -39,8 +39,11 @@
|
|
|
39
39
|
*
|
|
40
40
|
* @packageDocumentation
|
|
41
41
|
*/
|
|
42
|
+
export type { AccountDeletedProps, FeatureActivatedProps, InviteAcceptedProps, InviteSentProps, LoginProps, LogoutProps, PlanDowngradedProps, PlanUpgradedProps, SignupProps, SubscriptionCancelledProps, SubscriptionRenewedProps, SubscriptionStartedProps, TrialEndedProps, TrialStartedProps, } from "./core/lifecycle";
|
|
42
43
|
export type { AccountTraits, Analytics as AnalyticsInstance, AnalyticsConfig, UserState, UserTraits, } from "./core/types";
|
|
43
44
|
export type { NextAnalyticsProps } from "./next/analytics";
|
|
44
45
|
export { Analytics } from "./next/analytics";
|
|
45
|
-
export {
|
|
46
|
+
export type { AnalyticsContextValue, AnalyticsProviderProps, } from "./react/context";
|
|
47
|
+
export { AnalyticsContext, AnalyticsProvider, useAnalyticsContext, useAnalyticsReady, useIsClient, } from "./react/context";
|
|
48
|
+
export { useAccountDeleted, useAnalytics, useCaptureException, useFeatureActivated, useGetUser, useGroup, useIdentify, useInviteAccepted, useInviteSent, useLog, useLogin, useLogout, usePage, usePlanDowngraded, usePlanUpgraded, useReset, useSignup, useSubscriptionCancelled, useSubscriptionRenewed, useSubscriptionStarted, useTrack, useTrialEnded, useTrialStarted, } from "./react/hooks";
|
|
46
49
|
//# sourceMappingURL=next.d.ts.map
|
package/dist/next.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,YAAY,EACX,aAAa,EACb,SAAS,IAAI,iBAAiB,EAC9B,eAAe,EACf,SAAS,EACT,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EACN,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,aAAa,EACb,SAAS,IAAI,iBAAiB,EAC9B,eAAe,EACf,SAAS,EACT,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,YAAY,EACX,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,eAAe,CAAC"}
|
package/dist/next.js
CHANGED
|
@@ -40,5 +40,6 @@
|
|
|
40
40
|
* @packageDocumentation
|
|
41
41
|
*/
|
|
42
42
|
export { Analytics } from "./next/analytics";
|
|
43
|
-
export {
|
|
43
|
+
export { AnalyticsContext, AnalyticsProvider, useAnalyticsContext, useAnalyticsReady, useIsClient, } from "./react/context";
|
|
44
|
+
export { useAccountDeleted, useAnalytics, useCaptureException, useFeatureActivated, useGetUser, useGroup, useIdentify, useInviteAccepted, useInviteSent, useLog, useLogin, useLogout, usePage, usePlanDowngraded, usePlanUpgraded, useReset, useSignup, useSubscriptionCancelled, useSubscriptionRenewed, useSubscriptionStarted, useTrack, useTrialEnded, useTrialStarted, } from "./react/hooks";
|
|
44
45
|
//# sourceMappingURL=next.js.map
|
package/dist/next.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;
|
|
1
|
+
{"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AA2BH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import type { Analytics, AnalyticsConfig } from "../core/types";
|
|
3
|
+
/**
|
|
4
|
+
* Analytics context value
|
|
5
|
+
*/
|
|
6
|
+
export interface AnalyticsContextValue {
|
|
7
|
+
/** The Analytics instance (null during SSR or before initialization) */
|
|
8
|
+
analytics: Analytics | null;
|
|
9
|
+
/** Whether analytics is ready to use (false during SSR) */
|
|
10
|
+
isReady: boolean;
|
|
11
|
+
/** Whether we're on the client side (for hydration safety) */
|
|
12
|
+
isClient: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* React Context for Analytics
|
|
16
|
+
*/
|
|
17
|
+
export declare const AnalyticsContext: import("react").Context<AnalyticsContextValue>;
|
|
18
|
+
/**
|
|
19
|
+
* Props for AnalyticsProvider
|
|
20
|
+
*/
|
|
21
|
+
export interface AnalyticsProviderProps {
|
|
22
|
+
/**
|
|
23
|
+
* Your Thisbefine API key.
|
|
24
|
+
* If not provided, reads from NEXT_PUBLIC_TBF_API_KEY environment variable.
|
|
25
|
+
*/
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
/**
|
|
28
|
+
* API host URL.
|
|
29
|
+
* Defaults to https://thisbefine.com
|
|
30
|
+
*/
|
|
31
|
+
host?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Enable debug logging to console.
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
debug?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Automatically track page views.
|
|
39
|
+
* @default true
|
|
40
|
+
*/
|
|
41
|
+
trackPageviews?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Additional configuration options
|
|
44
|
+
*/
|
|
45
|
+
config?: Omit<AnalyticsConfig, "apiKey" | "host" | "debug">;
|
|
46
|
+
/**
|
|
47
|
+
* Children to render
|
|
48
|
+
*/
|
|
49
|
+
children: ReactNode;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Analytics Provider - initializes and provides Analytics context
|
|
53
|
+
*
|
|
54
|
+
* Wrap your app with this provider to use analytics hooks.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
*
|
|
59
|
+
* import { AnalyticsProvider } from '@thisbefine/analytics/react';
|
|
60
|
+
*
|
|
61
|
+
* export default function RootLayout({ children }) {
|
|
62
|
+
* return (
|
|
63
|
+
* <html>
|
|
64
|
+
* <body>
|
|
65
|
+
* <AnalyticsProvider apiKey="tbf_xxx">
|
|
66
|
+
* {children}
|
|
67
|
+
* </AnalyticsProvider>
|
|
68
|
+
* </body>
|
|
69
|
+
* </html>
|
|
70
|
+
* );
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare const AnalyticsProvider: ({ apiKey, host, debug, trackPageviews, config, children, }: AnalyticsProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
/**
|
|
76
|
+
* Hook to access the Analytics context
|
|
77
|
+
*
|
|
78
|
+
* SSR-safe: returns isClient=false and analytics=null during server rendering.
|
|
79
|
+
* Use isReady to check if analytics is initialized.
|
|
80
|
+
*
|
|
81
|
+
* For backward compatibility, falls back to global analytics instance if
|
|
82
|
+
* no AnalyticsProvider is used (e.g., when using the <Analytics /> component).
|
|
83
|
+
*/
|
|
84
|
+
export declare const useAnalyticsContext: () => AnalyticsContextValue;
|
|
85
|
+
/**
|
|
86
|
+
* Hook to check if we're on the client side
|
|
87
|
+
* Useful for SSR hydration safety
|
|
88
|
+
*/
|
|
89
|
+
export declare const useIsClient: () => boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Hook to check if analytics is ready
|
|
92
|
+
* Combines isClient and isReady checks
|
|
93
|
+
*/
|
|
94
|
+
export declare const useAnalyticsReady: () => boolean;
|
|
95
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEN,KAAK,SAAS,EAMd,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,wEAAwE;IACxE,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,gDAI3B,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,GAAI,4DAO/B,sBAAsB,4CA6DxB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,QAAO,qBAatC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAO,OAQ9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAGpC,CAAC"}
|