@mparticle/web-localytics-kit 2.0.1 → 3.1.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.
@@ -11,16 +11,6 @@ function isObject(val) {
11
11
  return val != null && typeof val === 'object' && Array.isArray(val) === false;
12
12
  }
13
13
 
14
- var isobject = /*#__PURE__*/Object.freeze({
15
- 'default': isObject
16
- });
17
-
18
- function getCjsExportFromNamespace (n) {
19
- return n && n['default'] || n;
20
- }
21
-
22
- var isobject$1 = getCjsExportFromNamespace(isobject);
23
-
24
14
  // Copyright 2015 mParticle, Inc.
25
15
  //
26
16
  // Licensed under the Apache License, Version 2.0 (the "License");
@@ -35,339 +25,395 @@ var isobject$1 = getCjsExportFromNamespace(isobject);
35
25
  // See the License for the specific language governing permissions and
36
26
  // limitations under the License.
37
27
 
38
-
39
-
40
- var name = 'LocalyticsEventForwarder',
41
- moduleId = 84,
42
- maxAllowedDimensions = 10,
43
- trackerCount = 1,
44
- MessageType = {
45
- PageView : 3,
46
- PageEvent : 4,
47
- Commerce : 16
48
- },
49
- EventType = {
50
- Unknown : 0,
51
- Navigation : 1,
52
- Location : 2,
53
- Search : 3,
54
- Transaction : 4,
55
- UserContent : 5,
56
- UserPreference: 6,
57
- Social : 7,
58
- Other : 8,
59
- Media : 9
60
- };
61
-
62
- var constructor = function () {
63
- var self = this,
64
- isInitialized = false,
65
- forwarderSettings = null,
66
- reportingService = null,
67
- customDimensions = [],
68
- initOptions = {},
69
- trackerId = null;
70
-
71
- self.name = name;
72
-
73
- function createTrackerId() {
74
- return 'mpllTracker' + trackerCount++;
75
- }
76
28
 
77
- function createCmd(cmd) {
78
- // Prepends the specified command with the tracker id
79
- return cmd + '.' + trackerId;
80
- }
81
-
82
- function initForwarder(settings, service, testMode, tid) {
83
- forwarderSettings = settings;
84
- reportingService = service;
85
- initOptions = getInitOptions();
86
- customDimensions = getOrderedCustomDimensions();
87
-
88
- if (!tid) {
89
- trackerId = createTrackerId();
90
- }
91
- else {
92
- trackerId = tid;
93
- }
94
-
95
- try {
96
- if (!testMode) {
97
- !function(l,y,t,i,c,s) {
98
- l['LocalyticsGlobal'] = i;
99
- l[i] = function() { (l[i].q = l[i].q || []).push(arguments); };
100
- l[i].t = +new Date;
101
- (s = y.createElement(t)).type = 'text/javascript';
102
- s.src = '//web.localytics.com/v3/localytics.js';
103
- (c = y.getElementsByTagName(t)[0]).parentNode.insertBefore(s, c);
104
- }(window, document, 'script', 'll');
105
-
106
- window.ll(createCmd('init'), settings.appKey, initOptions);
107
- }
108
29
 
109
- isInitialized = true;
30
+ var name = 'LocalyticsEventForwarder',
31
+ moduleId = 84,
32
+ maxAllowedDimensions = 10,
33
+ trackerCount = 1,
34
+ MessageType = {
35
+ PageView: 3,
36
+ PageEvent: 4,
37
+ Commerce: 16,
38
+ },
39
+ EventType = {
40
+ Unknown: 0,
41
+ Navigation: 1,
42
+ Location: 2,
43
+ Search: 3,
44
+ Transaction: 4,
45
+ UserContent: 5,
46
+ UserPreference: 6,
47
+ Social: 7,
48
+ Other: 8,
49
+ Media: 9,
50
+ };
110
51
 
111
- return 'Successfully initialized: ' + name;
52
+ var constructor = function() {
53
+ var self = this,
54
+ isInitialized = false,
55
+ forwarderSettings = null,
56
+ reportingService = null,
57
+ customDimensions = [],
58
+ initOptions = {},
59
+ trackerId = null;
112
60
 
113
- } catch (e) {
114
- return 'Can\'t initialize forwarder: '+ name +':' + e;
115
- }
61
+ self.name = name;
62
+
63
+ function createTrackerId() {
64
+ return 'mpllTracker' + trackerCount++;
65
+ }
66
+
67
+ function createCmd(cmd) {
68
+ // Prepends the specified command with the tracker id
69
+ return cmd + '.' + trackerId;
70
+ }
71
+
72
+ function initForwarder(settings, service, testMode, tid) {
73
+ forwarderSettings = settings;
74
+ reportingService = service;
75
+ initOptions = getInitOptions();
76
+ customDimensions = getOrderedCustomDimensions();
77
+
78
+ if (!tid) {
79
+ trackerId = createTrackerId();
80
+ } else {
81
+ trackerId = tid;
116
82
  }
117
-
118
- function getInitOptions() {
119
- var options = {};
120
-
121
- if(forwarderSettings.appVersion){
122
- options.appVersion = forwarderSettings.appVersion;
123
- }
124
83
 
125
- if(forwarderSettings.sessionTimeout){
126
- options.sessionTimeout = forwarderSettings.sessionTimeout;
84
+ try {
85
+ if (!testMode) {
86
+ !(function(l, y, t, i, c, s) {
87
+ l['LocalyticsGlobal'] = i;
88
+ l[i] = function() {
89
+ (l[i].q = l[i].q || []).push(arguments);
90
+ };
91
+ l[i].t = +new Date();
92
+ (s = y.createElement(t)).type = 'text/javascript';
93
+ s.src = '//web.localytics.com/v4/localytics.min.js';
94
+ (c = y.getElementsByTagName(t)[0]).parentNode.insertBefore(
95
+ s,
96
+ c
97
+ );
98
+ })(window, document, 'script', 'll');
99
+
100
+ window.ll(createCmd('init'), settings.appKey, initOptions);
127
101
  }
128
102
 
129
- if(forwarderSettings.domain){
130
- options.domain = forwarderSettings.domain;
131
- }
103
+ isInitialized = true;
132
104
 
133
- options.trackPageView = forwarderSettings.hasOwnProperty('trackPageView') &&
134
- forwarderSettings.trackPageView.toLowerCase() === 'true';
135
-
136
- return options;
105
+ return 'Successfully initialized: ' + name;
106
+ } catch (e) {
107
+ return "Can't initialize forwarder: " + name + ':' + e;
137
108
  }
109
+ }
138
110
 
139
- function processEvent(event) {
140
- var reportEvent = false;
111
+ function getInitOptions() {
112
+ var options = {};
141
113
 
142
- if(!isInitialized) {
143
- return 'Can\'t send forwarder '+ name + ', not initialized';
144
- }
114
+ if (forwarderSettings.appVersion) {
115
+ options.appVersion = forwarderSettings.appVersion;
116
+ }
145
117
 
146
- try {
147
- if(event.EventDataType == MessageType.PageView) {
148
- reportEvent = true;
149
- logScreenViewEvent(event);
150
- } else if (event.EventDataType == MessageType.Commerce) {
151
- logCommerce(event);
152
- reportEvent = true;
153
- }
154
- else if (event.EventDataType == MessageType.PageEvent) {
155
- reportEvent = true;
156
- logEvent(event);
157
- }
118
+ if (forwarderSettings.sessionTimeout) {
119
+ options.sessionTimeout = forwarderSettings.sessionTimeout;
120
+ }
158
121
 
159
- if(reportEvent && reportingService) {
160
- reportingService(self, event);
161
- }
122
+ if (forwarderSettings.domain) {
123
+ options.domain = forwarderSettings.domain;
124
+ }
162
125
 
163
- return 'Successfully sent to forwarder ' + name;
164
- } catch (e) {
165
- return 'Can\'t send to forwarder: ' + name + ' ' + e;
166
- }
126
+ options.trackPageView =
127
+ forwarderSettings.hasOwnProperty('trackPageView') &&
128
+ forwarderSettings.trackPageView.toLowerCase() === 'true';
129
+
130
+ return options;
131
+ }
132
+
133
+ function processEvent(event) {
134
+ var reportEvent = false;
135
+
136
+ if (!isInitialized) {
137
+ return "Can't send forwarder " + name + ', not initialized';
167
138
  }
168
139
 
169
- function logScreenViewEvent(event) {
170
- var screenName = event.EventName;
171
-
172
- if(event.hasOwnProperty('CustomFlags') && event.CustomFlags.hasOwnProperty("Localytics.ScreenName")) {
173
- screenName = event.CustomFlags["Localytics.ScreenName"];
140
+ try {
141
+ if (event.EventDataType == MessageType.PageView) {
142
+ reportEvent = true;
143
+ logScreenViewEvent(event);
144
+ } else if (event.EventDataType == MessageType.Commerce) {
145
+ logCommerce(event);
146
+ reportEvent = true;
147
+ } else if (event.EventDataType == MessageType.PageEvent) {
148
+ reportEvent = true;
149
+ logEvent(event);
174
150
  }
175
-
176
- window.ll(createCmd('tagScreen'), screenName);
151
+
152
+ if (reportEvent && reportingService) {
153
+ reportingService(self, event);
154
+ }
155
+
156
+ return 'Successfully sent to forwarder ' + name;
157
+ } catch (e) {
158
+ return "Can't send to forwarder: " + name + ' ' + e;
177
159
  }
160
+ }
178
161
 
179
- function logEvent(event) {
180
- var ltv = null;
181
- if(event.hasOwnProperty('EventCategory') && event.EventCategory === EventType.Transaction) {
182
- if(event.hasOwnProperty('EventAttributes') && event.EventAttributes.hasOwnProperty("$Amount")) {
183
- var ltvVal = event.EventAttributes["$Amount"];
184
- if(!isNaN(parseFloat(ltvVal, 10))) {
185
- ltv = parseFloat(ltvVal, 10).toFixed(2);
186
- }
162
+ function logScreenViewEvent(event) {
163
+ var screenName = event.EventName;
164
+
165
+ if (
166
+ event.hasOwnProperty('CustomFlags') &&
167
+ event.CustomFlags.hasOwnProperty('Localytics.ScreenName')
168
+ ) {
169
+ screenName = event.CustomFlags['Localytics.ScreenName'];
170
+ }
171
+
172
+ window.ll(createCmd('tagScreen'), screenName);
173
+ }
174
+
175
+ function logEvent(event) {
176
+ var ltv = null;
177
+ if (
178
+ event.hasOwnProperty('EventCategory') &&
179
+ event.EventCategory === EventType.Transaction
180
+ ) {
181
+ if (
182
+ event.hasOwnProperty('EventAttributes') &&
183
+ event.EventAttributes.hasOwnProperty('$Amount')
184
+ ) {
185
+ var ltvVal = event.EventAttributes['$Amount'];
186
+ if (!isNaN(parseFloat(ltvVal, 10))) {
187
+ ltv = parseFloat(ltvVal, 10).toFixed(2);
187
188
  }
188
189
  }
189
-
190
- if(ltv !== null) {
191
- var multiplier = forwarderSettings.trackClvAsRawValue ? 1 : 100;
192
- window.ll(createCmd('tagEvent'), event.EventName, event.EventAttributes, ltv * multiplier);
193
- } else {
194
- window.ll(createCmd('tagEvent'), event.EventName, event.EventAttributes);
195
- }
196
190
  }
197
191
 
198
- function logCommerce(data) {
199
-
200
- if(!data.ProductAction)
201
- return 'Can\'t forward commerce event: No production action found';
202
-
203
- switch (data.ProductAction.ProductActionType) {
204
- case mParticle.ProductActionType.Purchase:
205
- case mParticle.ProductActionType.Refund:
206
- var total = null,
207
- multiplier = forwarderSettings.trackClvAsRawValue ? 1 : 100;
208
-
209
- if (data.ProductAction.ProductActionType == mParticle.ProductActionType.Refund) {
210
- multiplier *= -1;
211
- }
212
-
213
- if(!isNaN(parseFloat(data.ProductAction.TotalAmount, 10))) {
214
- total = parseFloat(data.ProductAction.TotalAmount, 10).toFixed(2);
215
- }
216
-
217
- if(total != null) {
218
- window.ll(createCmd('tagEvent'), data.EventName, data.EventAttributes, total * multiplier);
219
- } else {
220
- return 'Can\'t forward commerce event: TotalAmount is set incorrectly';
221
- }
222
- break;
223
-
224
- default:
225
- logEvent(data);
226
- break;
227
- }
192
+ if (ltv !== null) {
193
+ var multiplier = forwarderSettings.trackClvAsRawValue ? 1 : 100;
194
+ window.ll(
195
+ createCmd('tagEvent'),
196
+ event.EventName,
197
+ event.EventAttributes,
198
+ ltv * multiplier
199
+ );
200
+ } else {
201
+ window.ll(
202
+ createCmd('tagEvent'),
203
+ event.EventName,
204
+ event.EventAttributes
205
+ );
228
206
  }
229
-
230
- function setUserAttribute(key, value) {
231
- if (!key) {
232
- return 'Can\'t call setUserAttribute on forwarder: No key provided';
233
- }
234
-
235
- if(key === 'Localytics.CustomerName') {
236
- try {
237
- window.ll(createCmd('setCustomerName'), value);
207
+ }
208
+
209
+ function logCommerce(data) {
210
+ if (!data.ProductAction)
211
+ return "Can't forward commerce event: No production action found";
212
+
213
+ switch (data.ProductAction.ProductActionType) {
214
+ case mParticle.ProductActionType.Purchase:
215
+ case mParticle.ProductActionType.Refund:
216
+ var total = null,
217
+ multiplier = forwarderSettings.trackClvAsRawValue ? 1 : 100;
218
+
219
+ if (
220
+ data.ProductAction.ProductActionType ==
221
+ mParticle.ProductActionType.Refund
222
+ ) {
223
+ multiplier *= -1;
238
224
  }
239
- catch(e) {
240
- return 'Can\'t call setCustomerName on forwarder: ' + name + ': ' + e;
225
+
226
+ if (!isNaN(parseFloat(data.ProductAction.TotalAmount, 10))) {
227
+ total = parseFloat(
228
+ data.ProductAction.TotalAmount,
229
+ 10
230
+ ).toFixed(2);
241
231
  }
242
- } else {
243
- if(customDimensions.length > 0) {
244
- updateCustomDimension(key, value);
232
+
233
+ if (total != null) {
234
+ window.ll(
235
+ createCmd('tagEvent'),
236
+ data.EventName,
237
+ data.EventAttributes,
238
+ total * multiplier
239
+ );
240
+ } else {
241
+ return "Can't forward commerce event: TotalAmount is set incorrectly";
245
242
  }
246
- }
247
- }
248
-
249
- function removeUserAttribute(key) {
250
- if(customDimensions.length > 0) {
251
- updateCustomDimension(key, null);
252
- }
243
+ break;
244
+
245
+ default:
246
+ logEvent(data);
247
+ break;
253
248
  }
254
-
255
- function setUserIdentity(id, type) {
256
- if (!id) {
257
- return 'Can\'t call setUserIdentity on forwarder: ' + name + ' without ID';
258
- }
249
+ }
259
250
 
260
- if (!isInitialized) {
261
- return 'Can\'t call setUserIdentity on forwarder: ' + name + ', not initialized';
262
- }
251
+ function setUserAttribute(key, value) {
252
+ if (!key) {
253
+ return "Can't call setUserAttribute on forwarder: No key provided";
254
+ }
263
255
 
256
+ if (key === 'Localytics.CustomerName') {
264
257
  try {
265
- if(window.mParticle.IdentityType.Email == type) {
266
- window.ll(createCmd('setCustomerEmail'), id);
267
- }
268
- else {
269
- window.ll(createCmd('setCustomerId'), id);
270
- }
271
-
272
- return 'Successfully called identify on forwarder: ' + name;
258
+ window.ll(createCmd('setCustomerName'), value);
259
+ } catch (e) {
260
+ return (
261
+ "Can't call setCustomerName on forwarder: " +
262
+ name +
263
+ ': ' +
264
+ e
265
+ );
273
266
  }
274
- catch (e) {
275
- return 'Can\'t call identify on forwarder: ' + name + ': ' + e;
267
+ } else {
268
+ if (customDimensions.length > 0) {
269
+ updateCustomDimension(key, value);
276
270
  }
277
271
  }
278
-
279
- function updateCustomDimension(key, value) {
280
- if(customDimensions.length === 0)
281
- return;
282
-
283
- var index = -1,
284
- keyLower = key.toLowerCase();
285
-
286
- for (var i = 0; i < customDimensions.length; i++) {
287
- if(customDimensions[i].toLowerCase() === keyLower) {
288
- index = i;
289
- }
290
- }
291
-
292
- if(index >= 0) {
293
- window.ll(createCmd('setCustomDimension'), index, value);
272
+ }
273
+
274
+ function removeUserAttribute(key) {
275
+ if (customDimensions.length > 0) {
276
+ updateCustomDimension(key, null);
277
+ }
278
+ }
279
+
280
+ function setUserIdentity(id, type) {
281
+ if (!id) {
282
+ return (
283
+ "Can't call setUserIdentity on forwarder: " +
284
+ name +
285
+ ' without ID'
286
+ );
287
+ }
288
+
289
+ if (!isInitialized) {
290
+ return (
291
+ "Can't call setUserIdentity on forwarder: " +
292
+ name +
293
+ ', not initialized'
294
+ );
295
+ }
296
+
297
+ try {
298
+ if (window.mParticle.IdentityType.Email == type) {
299
+ window.ll(createCmd('setCustomerEmail'), id);
300
+ } else {
301
+ window.ll(createCmd('setCustomerId'), id);
294
302
  }
303
+
304
+ return 'Successfully called identify on forwarder: ' + name;
305
+ } catch (e) {
306
+ return "Can't call identify on forwarder: " + name + ': ' + e;
295
307
  }
296
-
297
- function getOrderedCustomDimensions() {
298
- var dimensions = null,
299
- orderedDimensions = [];
300
-
301
- try {
302
- dimensions = JSON.parse(forwarderSettings.customDimensions.replace(/&quot;/g,'"'));
303
- } catch (e) {
304
- return orderedDimensions;
308
+ }
309
+
310
+ function updateCustomDimension(key, value) {
311
+ if (customDimensions.length === 0) return;
312
+
313
+ var index = -1,
314
+ keyLower = key.toLowerCase();
315
+
316
+ for (var i = 0; i < customDimensions.length; i++) {
317
+ if (customDimensions[i].toLowerCase() === keyLower) {
318
+ index = i;
305
319
  }
306
-
307
- if(dimensions.length > 0) {
308
- for (var index = 0; index < maxAllowedDimensions; index++) {
309
- for (var j = 0; j < dimensions.length; j++) {
310
- if(dimensions[j].maptype.toLowerCase() !== 'userattributeclass.name' ||
311
- !dimensions[j].value ||
312
- !dimensions[j].map)
313
- continue;
314
-
315
- if(dimensions[j].value.toLowerCase() === 'dimension ' + index) {
316
- orderedDimensions.push(dimensions[j].map);
317
- }
320
+ }
321
+
322
+ if (index >= 0) {
323
+ window.ll(createCmd('setCustomDimension'), index, value);
324
+ }
325
+ }
326
+
327
+ function getOrderedCustomDimensions() {
328
+ var dimensions = null,
329
+ orderedDimensions = [];
330
+
331
+ try {
332
+ dimensions = JSON.parse(
333
+ forwarderSettings.customDimensions.replace(/&quot;/g, '"')
334
+ );
335
+ } catch (e) {
336
+ return orderedDimensions;
337
+ }
338
+
339
+ if (dimensions.length > 0) {
340
+ for (var index = 0; index < maxAllowedDimensions; index++) {
341
+ for (var j = 0; j < dimensions.length; j++) {
342
+ if (
343
+ dimensions[j].maptype.toLowerCase() !==
344
+ 'userattributeclass.name' ||
345
+ !dimensions[j].value ||
346
+ !dimensions[j].map
347
+ )
348
+ continue;
349
+
350
+ if (
351
+ dimensions[j].value.toLowerCase() ===
352
+ 'dimension ' + index
353
+ ) {
354
+ orderedDimensions.push(dimensions[j].map);
318
355
  }
319
356
  }
320
357
  }
321
-
322
- return orderedDimensions;
323
358
  }
324
-
325
- this.init = initForwarder;
326
- this.process = processEvent;
327
- this.setUserAttribute = setUserAttribute;
328
- this.setUserIdentity = setUserIdentity;
329
- this.removeUserAttribute = removeUserAttribute;
330
- };
331
359
 
332
- function getId() {
333
- return moduleId;
360
+ return orderedDimensions;
334
361
  }
335
362
 
336
- function register(config) {
337
- if (!config) {
338
- window.console.log('You must pass a config object to register the kit ' + name);
339
- return;
340
- }
363
+ this.init = initForwarder;
364
+ this.process = processEvent;
365
+ this.setUserAttribute = setUserAttribute;
366
+ this.setUserIdentity = setUserIdentity;
367
+ this.removeUserAttribute = removeUserAttribute;
368
+ };
341
369
 
342
- if (!isobject$1(config)) {
343
- window.console.log('\'config\' must be an object. You passed in a ' + typeof config);
344
- return;
345
- }
370
+ function getId() {
371
+ return moduleId;
372
+ }
346
373
 
347
- if (isobject$1(config.kits)) {
348
- config.kits[name] = {
349
- constructor: constructor
350
- };
351
- } else {
352
- config.kits = {};
353
- config.kits[name] = {
354
- constructor: constructor
355
- };
356
- }
357
- window.console.log('Successfully registered ' + name + ' to your mParticle configuration');
374
+ function register(config) {
375
+ if (!config) {
376
+ console.log(
377
+ 'You must pass a config object to register the kit ' + name
378
+ );
379
+ return;
380
+ }
381
+
382
+ if (!isObject(config)) {
383
+ console.log(
384
+ "'config' must be an object. You passed in a " + typeof config
385
+ );
386
+ return;
358
387
  }
359
388
 
389
+ if (isObject(config.kits)) {
390
+ config.kits[name] = {
391
+ constructor: constructor,
392
+ };
393
+ } else {
394
+ config.kits = {};
395
+ config.kits[name] = {
396
+ constructor: constructor,
397
+ };
398
+ }
399
+ console.log(
400
+ 'Successfully registered ' + name + ' to your mParticle configuration'
401
+ );
402
+ }
403
+
404
+ if (typeof window !== 'undefined') {
360
405
  if (window && window.mParticle && window.mParticle.addForwarder) {
361
406
  window.mParticle.addForwarder({
362
407
  name: name,
363
408
  constructor: constructor,
364
- getId: getId
409
+ getId: getId,
365
410
  });
366
411
  }
412
+ }
367
413
 
368
- var LocalyticsEventForwarder = {
369
- register: register
370
- };
414
+ var LocalyticsEventForwarder = {
415
+ register: register,
416
+ };
371
417
  var LocalyticsEventForwarder_1 = LocalyticsEventForwarder.register;
372
418
 
373
419
  exports.default = LocalyticsEventForwarder;
package/package.json CHANGED
@@ -1,28 +1,42 @@
1
1
  {
2
- "name": "@mparticle/web-localytics-kit",
3
- "version": "2.0.1",
4
- "author": "mParticle Developers <developers@mparticle.com> (https://www.mparticle.com)",
5
- "description": "mParticle integration sdk for Localytics",
6
- "main": "dist/LocalyticsEventForwarder.common.js",
7
- "browser": "dist/LocalyticsEventForwarder.common.js",
8
- "files": [
9
- "dist/LocalyticsEventForwarder.common.js"
10
- ],
11
- "repository": "https://github.com/mparticle-integrations/mparticle-javascript-integration-localytics",
12
- "scripts": {
13
- "build": "rollup --config rollup.config.js",
14
- "watch": "rollup --config rollup.config.js -w"
15
- },
16
- "devDependencies": {
17
- "should": "7.1.0",
18
- "mocha": "^2.3.2",
19
- "rollup": "^1.13.1",
20
- "rollup-plugin-commonjs": "^10.0.0",
21
- "rollup-plugin-node-resolve": "^5.0.1"
22
- },
23
- "dependencies": {
24
- "isobject": "^4.0.0",
25
- "@mparticle/web-sdk": "^2.11.1"
26
- },
27
- "license": "Apache-2.0"
2
+ "name": "@mparticle/web-localytics-kit",
3
+ "version": "3.1.0",
4
+ "author": "mParticle Developers <developers@mparticle.com> (https://www.mparticle.com)",
5
+ "description": "mParticle integration sdk for Localytics",
6
+ "main": "dist/LocalyticsEventForwarder.common.js",
7
+ "browser": "dist/LocalyticsEventForwarder.common.js",
8
+ "files": [
9
+ "dist/LocalyticsEventForwarder.common.js"
10
+ ],
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/mParticle/mparticle-web-sdk",
14
+ "directory": "kits/localytics/localytics-4"
15
+ },
16
+ "scripts": {
17
+ "build": "rollup --config rollup.config.js",
18
+ "watch": "rollup --config rollup.config.js -w",
19
+ "test": "node test/boilerplate/test-karma.js"
20
+ },
21
+ "devDependencies": {
22
+ "chai": "^4.2.0",
23
+ "karma": "^5.1.0",
24
+ "karma-chai": "^0.1.0",
25
+ "karma-chrome-launcher": "^3.1.0",
26
+ "karma-firefox-launcher": "^1.3.0",
27
+ "karma-mocha": "^2.0.1",
28
+ "mocha": "^2.5.3",
29
+ "rollup": "^1.13.1",
30
+ "rollup-plugin-commonjs": "^10.0.0",
31
+ "rollup-plugin-node-resolve": "^5.0.1",
32
+ "shelljs": "^0.8.4",
33
+ "should": "^7.1.0",
34
+ "watchify": "^3.11.1"
35
+ },
36
+ "dependencies": {
37
+ "isobject": "^4.0.0",
38
+ "@mparticle/web-sdk": "^3.0.0"
39
+ },
40
+ "license": "Apache-2.0",
41
+ "homepage": "https://github.com/mParticle/mparticle-web-sdk/tree/main/kits/localytics/localytics-4#readme"
28
42
  }