@searchspring/snap-tracker 0.31.0 → 0.34.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/cjs/Tracker.d.ts +6 -5
- package/dist/cjs/Tracker.d.ts.map +1 -1
- package/dist/cjs/Tracker.js +18 -2
- package/dist/cjs/types.d.ts +2 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Tracker.d.ts +6 -5
- package/dist/esm/Tracker.d.ts.map +1 -1
- package/dist/esm/Tracker.js +18 -2
- package/dist/esm/types.d.ts +2 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/cjs/Tracker.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { StorageStore } from '@searchspring/snap-store-mobx';
|
|
2
1
|
import { BeaconEvent } from './BeaconEvent';
|
|
3
2
|
import { TrackerGlobals, TrackMethods, BeaconContext, TrackerConfig } from './types';
|
|
4
3
|
export declare class Tracker {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
private mode;
|
|
5
|
+
private globals;
|
|
6
|
+
private localStorage;
|
|
7
|
+
private context;
|
|
8
|
+
private isSending;
|
|
9
9
|
private config;
|
|
10
10
|
private targeters;
|
|
11
11
|
constructor(globals: TrackerGlobals, config?: TrackerConfig);
|
|
12
|
+
getContext(): BeaconContext;
|
|
12
13
|
retarget(): void;
|
|
13
14
|
track: TrackMethods;
|
|
14
15
|
updateContext: (key: keyof BeaconContext, value: any) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAQb,aAAa,EAEb,MAAM,SAAS,CAAC;AAqBjB,qBAAa,OAAO;IACnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA+IpD,UAAU,IAAI,aAAa;IAI3B,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CA6SjB;IAEF,aAAa,QAAS,MAAM,aAAa,SAAS,GAAG,UAInD;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAiBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,gDAAmC,IAAI,CAuB/C;CACF"}
|
package/dist/cjs/Tracker.js
CHANGED
|
@@ -28,6 +28,7 @@ var deepmerge_1 = __importDefault(require("deepmerge"));
|
|
|
28
28
|
var uuid_1 = require("uuid");
|
|
29
29
|
var snap_store_mobx_1 = require("@searchspring/snap-store-mobx");
|
|
30
30
|
var snap_toolbox_1 = require("@searchspring/snap-toolbox");
|
|
31
|
+
var snap_toolbox_2 = require("@searchspring/snap-toolbox");
|
|
31
32
|
var TrackEvent_1 = require("./TrackEvent");
|
|
32
33
|
var PixelEvent_1 = require("./PixelEvent");
|
|
33
34
|
var BeaconEvent_1 = require("./BeaconEvent");
|
|
@@ -47,11 +48,13 @@ var MAX_PARENT_LEVELS = 3;
|
|
|
47
48
|
var defaultConfig = {
|
|
48
49
|
id: 'track',
|
|
49
50
|
framework: 'snap',
|
|
51
|
+
mode: snap_toolbox_2.AppMode.production,
|
|
50
52
|
};
|
|
51
53
|
var Tracker = /** @class */ (function () {
|
|
52
54
|
function Tracker(globals, config) {
|
|
53
55
|
var _this = this;
|
|
54
56
|
var _a;
|
|
57
|
+
this.mode = snap_toolbox_2.AppMode.production;
|
|
55
58
|
this.targeters = [];
|
|
56
59
|
this.track = {
|
|
57
60
|
event: function (payload) {
|
|
@@ -87,8 +90,8 @@ var Tracker = /** @class */ (function () {
|
|
|
87
90
|
category: types_1.BeaconCategory.RUNTIME,
|
|
88
91
|
context: context,
|
|
89
92
|
event: {
|
|
90
|
-
userAgent: userAgent,
|
|
91
|
-
href: href,
|
|
93
|
+
userAgent: userAgent || navigator.userAgent,
|
|
94
|
+
href: href || window.location.href,
|
|
92
95
|
filename: filename,
|
|
93
96
|
stack: stack,
|
|
94
97
|
message: message,
|
|
@@ -97,6 +100,10 @@ var Tracker = /** @class */ (function () {
|
|
|
97
100
|
errortimestamp: errortimestamp,
|
|
98
101
|
},
|
|
99
102
|
};
|
|
103
|
+
// prevent sending of errors when on localhost or CDN
|
|
104
|
+
if (!payload.event.href || payload.event.href.includes('//localhost') || payload.event.href.includes('//snapui.searchspring.io/')) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
100
107
|
return _this.track.event(payload);
|
|
101
108
|
},
|
|
102
109
|
shopper: {
|
|
@@ -469,6 +476,9 @@ var Tracker = /** @class */ (function () {
|
|
|
469
476
|
},
|
|
470
477
|
};
|
|
471
478
|
this.sendEvents = function (eventsToSend) {
|
|
479
|
+
if (_this.mode !== snap_toolbox_2.AppMode.production) {
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
472
482
|
var events = JSON.parse(_this.localStorage.get(LOCALSTORAGE_BEACON_POOL_NAME) || '[]');
|
|
473
483
|
if (eventsToSend) {
|
|
474
484
|
eventsToSend.forEach(function (event) {
|
|
@@ -491,6 +501,9 @@ var Tracker = /** @class */ (function () {
|
|
|
491
501
|
throw new Error("Invalid config passed to tracker. The \"siteId\" attribute must be provided.");
|
|
492
502
|
}
|
|
493
503
|
this.config = (0, deepmerge_1.default)(defaultConfig, config || {});
|
|
504
|
+
if (Object.values(snap_toolbox_2.AppMode).includes(this.config.mode)) {
|
|
505
|
+
this.mode = this.config.mode;
|
|
506
|
+
}
|
|
494
507
|
this.globals = globals;
|
|
495
508
|
this.localStorage = new snap_store_mobx_1.StorageStore({
|
|
496
509
|
type: snap_store_mobx_1.StorageType.LOCAL,
|
|
@@ -607,6 +620,9 @@ var Tracker = /** @class */ (function () {
|
|
|
607
620
|
});
|
|
608
621
|
this.sendEvents();
|
|
609
622
|
}
|
|
623
|
+
Tracker.prototype.getContext = function () {
|
|
624
|
+
return JSON.parse(JSON.stringify(this.context));
|
|
625
|
+
};
|
|
610
626
|
Tracker.prototype.retarget = function () {
|
|
611
627
|
this.targeters.forEach(function (target) {
|
|
612
628
|
target.retarget();
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AppMode } from '@searchspring/snap-toolbox';
|
|
1
2
|
import { BeaconEvent } from './BeaconEvent';
|
|
2
3
|
export declare type TrackerGlobals = {
|
|
3
4
|
siteId: string;
|
|
@@ -5,6 +6,7 @@ export declare type TrackerGlobals = {
|
|
|
5
6
|
export declare type TrackerConfig = {
|
|
6
7
|
id?: string;
|
|
7
8
|
framework?: string;
|
|
9
|
+
mode?: keyof typeof AppMode | AppMode;
|
|
8
10
|
};
|
|
9
11
|
export declare type BeaconPayload = {
|
|
10
12
|
type: BeaconType;
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,oBAAY,cAAc,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Tracker.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { StorageStore } from '@searchspring/snap-store-mobx';
|
|
2
1
|
import { BeaconEvent } from './BeaconEvent';
|
|
3
2
|
import { TrackerGlobals, TrackMethods, BeaconContext, TrackerConfig } from './types';
|
|
4
3
|
export declare class Tracker {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
private mode;
|
|
5
|
+
private globals;
|
|
6
|
+
private localStorage;
|
|
7
|
+
private context;
|
|
8
|
+
private isSending;
|
|
9
9
|
private config;
|
|
10
10
|
private targeters;
|
|
11
11
|
constructor(globals: TrackerGlobals, config?: TrackerConfig);
|
|
12
|
+
getContext(): BeaconContext;
|
|
12
13
|
retarget(): void;
|
|
13
14
|
track: TrackMethods;
|
|
14
15
|
updateContext: (key: keyof BeaconContext, value: any) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAQb,aAAa,EAEb,MAAM,SAAS,CAAC;AAqBjB,qBAAa,OAAO;IACnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA+IpD,UAAU,IAAI,aAAa;IAI3B,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CA6SjB;IAEF,aAAa,QAAS,MAAM,aAAa,SAAS,GAAG,UAInD;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAiBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAuCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,gDAAmC,IAAI,CAuB/C;CACF"}
|
package/dist/esm/Tracker.js
CHANGED
|
@@ -2,6 +2,7 @@ import deepmerge from 'deepmerge';
|
|
|
2
2
|
import { v4 as uuidv4 } from 'uuid';
|
|
3
3
|
import { StorageStore, StorageType } from '@searchspring/snap-store-mobx';
|
|
4
4
|
import { cookies, getFlags, version, DomTargeter, getContext, charsParams } from '@searchspring/snap-toolbox';
|
|
5
|
+
import { AppMode } from '@searchspring/snap-toolbox';
|
|
5
6
|
import { TrackEvent } from './TrackEvent';
|
|
6
7
|
import { PixelEvent } from './PixelEvent';
|
|
7
8
|
import { BeaconEvent } from './BeaconEvent';
|
|
@@ -21,9 +22,11 @@ const MAX_PARENT_LEVELS = 3;
|
|
|
21
22
|
const defaultConfig = {
|
|
22
23
|
id: 'track',
|
|
23
24
|
framework: 'snap',
|
|
25
|
+
mode: AppMode.production,
|
|
24
26
|
};
|
|
25
27
|
export class Tracker {
|
|
26
28
|
constructor(globals, config) {
|
|
29
|
+
this.mode = AppMode.production;
|
|
27
30
|
this.targeters = [];
|
|
28
31
|
this.track = {
|
|
29
32
|
event: (payload) => {
|
|
@@ -59,8 +62,8 @@ export class Tracker {
|
|
|
59
62
|
category: BeaconCategory.RUNTIME,
|
|
60
63
|
context,
|
|
61
64
|
event: {
|
|
62
|
-
userAgent,
|
|
63
|
-
href,
|
|
65
|
+
userAgent: userAgent || navigator.userAgent,
|
|
66
|
+
href: href || window.location.href,
|
|
64
67
|
filename,
|
|
65
68
|
stack,
|
|
66
69
|
message,
|
|
@@ -69,6 +72,10 @@ export class Tracker {
|
|
|
69
72
|
errortimestamp,
|
|
70
73
|
},
|
|
71
74
|
};
|
|
75
|
+
// prevent sending of errors when on localhost or CDN
|
|
76
|
+
if (!payload.event.href || payload.event.href.includes('//localhost') || payload.event.href.includes('//snapui.searchspring.io/')) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
72
79
|
return this.track.event(payload);
|
|
73
80
|
},
|
|
74
81
|
shopper: {
|
|
@@ -443,6 +450,9 @@ export class Tracker {
|
|
|
443
450
|
},
|
|
444
451
|
};
|
|
445
452
|
this.sendEvents = (eventsToSend) => {
|
|
453
|
+
if (this.mode !== AppMode.production) {
|
|
454
|
+
return;
|
|
455
|
+
}
|
|
446
456
|
const events = JSON.parse(this.localStorage.get(LOCALSTORAGE_BEACON_POOL_NAME) || '[]');
|
|
447
457
|
if (eventsToSend) {
|
|
448
458
|
eventsToSend.forEach((event) => {
|
|
@@ -465,6 +475,9 @@ export class Tracker {
|
|
|
465
475
|
throw new Error(`Invalid config passed to tracker. The "siteId" attribute must be provided.`);
|
|
466
476
|
}
|
|
467
477
|
this.config = deepmerge(defaultConfig, config || {});
|
|
478
|
+
if (Object.values(AppMode).includes(this.config.mode)) {
|
|
479
|
+
this.mode = this.config.mode;
|
|
480
|
+
}
|
|
468
481
|
this.globals = globals;
|
|
469
482
|
this.localStorage = new StorageStore({
|
|
470
483
|
type: StorageType.LOCAL,
|
|
@@ -580,6 +593,9 @@ export class Tracker {
|
|
|
580
593
|
});
|
|
581
594
|
this.sendEvents();
|
|
582
595
|
}
|
|
596
|
+
getContext() {
|
|
597
|
+
return JSON.parse(JSON.stringify(this.context));
|
|
598
|
+
}
|
|
583
599
|
retarget() {
|
|
584
600
|
this.targeters.forEach((target) => {
|
|
585
601
|
target.retarget();
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AppMode } from '@searchspring/snap-toolbox';
|
|
1
2
|
import { BeaconEvent } from './BeaconEvent';
|
|
2
3
|
export declare type TrackerGlobals = {
|
|
3
4
|
siteId: string;
|
|
@@ -5,6 +6,7 @@ export declare type TrackerGlobals = {
|
|
|
5
6
|
export declare type TrackerConfig = {
|
|
6
7
|
id?: string;
|
|
7
8
|
framework?: string;
|
|
9
|
+
mode?: keyof typeof AppMode | AppMode;
|
|
8
10
|
};
|
|
9
11
|
export declare type BeaconPayload = {
|
|
10
12
|
type: BeaconType;
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,oBAAY,cAAc,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-tracker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "Snap Tracker",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"test:watch": "jest --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@searchspring/snap-store-mobx": "^0.
|
|
24
|
-
"@searchspring/snap-toolbox": "^0.
|
|
23
|
+
"@searchspring/snap-store-mobx": "^0.34.0",
|
|
24
|
+
"@searchspring/snap-toolbox": "^0.34.0",
|
|
25
25
|
"@types/uuid": "8.3.4",
|
|
26
26
|
"deepmerge": "4.2.2",
|
|
27
27
|
"uuid": "8.3.2"
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"files": [
|
|
31
31
|
"dist/**/*"
|
|
32
32
|
],
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "ba20dc14f2c771f77e2ba840059500209e37e07d"
|
|
34
34
|
}
|