@nexly/core 0.8.0 → 0.8.2
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/collect.js +2 -2
- package/dist/nexly.d.ts +1 -0
- package/dist/nexly.d.ts.map +1 -1
- package/dist/nexly.js +15 -2
- package/package.json +1 -1
package/dist/collect.js
CHANGED
|
@@ -32,12 +32,12 @@ export function buildCollectPayload(input) {
|
|
|
32
32
|
* Packages the payload and sends it via `navigator.sendBeacon` (survives page unload).
|
|
33
33
|
*/
|
|
34
34
|
export function sendBeaconCollect(input) {
|
|
35
|
-
const url = input.collectUrl.trim();
|
|
35
|
+
const url = (input.collectUrl ?? '').trim();
|
|
36
36
|
if (!url) {
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
39
39
|
const payload = buildCollectPayload(input);
|
|
40
40
|
const body = JSON.stringify(payload);
|
|
41
|
-
const blob = new Blob([body], { type: '
|
|
41
|
+
const blob = new Blob([body], { type: 'text/plain' });
|
|
42
42
|
return navigator.sendBeacon(url, blob);
|
|
43
43
|
}
|
package/dist/nexly.d.ts
CHANGED
package/dist/nexly.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexly.d.ts","sourceRoot":"","sources":["../src/nexly.ts"],"names":[],"mappings":"AAMA,kGAAkG;AAClG,MAAM,MAAM,SAAS,GAAG;IACtB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAE5C;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK;IAKtC,uFAAuF;IACvF,MAAM,CAAC,WAAW,IAAI,KAAK,GAAG,IAAI;IAIlC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAER,IAAI,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"nexly.d.ts","sourceRoot":"","sources":["../src/nexly.ts"],"names":[],"mappings":"AAMA,kGAAkG;AAClG,MAAM,MAAM,SAAS,GAAG;IACtB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAE5C;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK;IAKtC,uFAAuF;IACvF,MAAM,CAAC,WAAW,IAAI,KAAK,GAAG,IAAI;IAIlC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAER,IAAI,EAAE,SAAS;IAQ3B,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,WAAW,GAMtB;IAED,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAKhC;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAgBtC;;OAEG;IACH,eAAe,IAAI,MAAM,IAAI;CAI9B"}
|
package/dist/nexly.js
CHANGED
|
@@ -24,8 +24,15 @@ export class Nexly {
|
|
|
24
24
|
key;
|
|
25
25
|
constructor(init) {
|
|
26
26
|
this.collectUrl = (init.collectUrl ?? DEFAULT_COLLECT_URL).trim();
|
|
27
|
-
this.appId = init.appId.trim();
|
|
28
|
-
this.key = init.key.trim();
|
|
27
|
+
this.appId = (init.appId ?? '').trim();
|
|
28
|
+
this.key = (init.key ?? '').trim();
|
|
29
|
+
if (!this.appId)
|
|
30
|
+
console.warn('[Nexly] Missing appId — tracking will be disabled.');
|
|
31
|
+
if (!this.key)
|
|
32
|
+
console.warn('[Nexly] Missing key — tracking will be disabled.');
|
|
33
|
+
}
|
|
34
|
+
get disabled() {
|
|
35
|
+
return !this.appId || !this.key;
|
|
29
36
|
}
|
|
30
37
|
get credentials() {
|
|
31
38
|
return {
|
|
@@ -44,6 +51,8 @@ export class Nexly {
|
|
|
44
51
|
* Sends a page view (`event_name` / `event_type`: `pageview`) with full browser context.
|
|
45
52
|
*/
|
|
46
53
|
pageview(path) {
|
|
54
|
+
if (this.disabled)
|
|
55
|
+
return false;
|
|
47
56
|
return sendPageViewBeacon(this.credentials, path ?? getDefaultPathname());
|
|
48
57
|
}
|
|
49
58
|
/**
|
|
@@ -51,6 +60,8 @@ export class Nexly {
|
|
|
51
60
|
* Includes session_context so the backend can upsert session metadata.
|
|
52
61
|
*/
|
|
53
62
|
event(input) {
|
|
63
|
+
if (this.disabled)
|
|
64
|
+
return false;
|
|
54
65
|
const context = input.context
|
|
55
66
|
? { ...this.defaultContext(), ...input.context }
|
|
56
67
|
: this.defaultContext();
|
|
@@ -68,6 +79,8 @@ export class Nexly {
|
|
|
68
79
|
* Starts scroll, click, focus, visibility, and heartbeat tracking. Returns a stop function.
|
|
69
80
|
*/
|
|
70
81
|
startEngagement() {
|
|
82
|
+
if (this.disabled)
|
|
83
|
+
return () => { };
|
|
71
84
|
return startEngagementTracking(this.credentials);
|
|
72
85
|
}
|
|
73
86
|
}
|