@jitsu/js 1.9.1 → 1.9.3-canary.798.20240508224448

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.
@@ -1,6 +1,6 @@
1
- @jitsu/js:build: cache hit, replaying output 2617a3f605d6c2b8
1
+ @jitsu/js:build: cache hit, replaying output add8c682d745c4de
2
2
  @jitsu/js:build: 
3
- @jitsu/js:build: > @jitsu/js@0.0.0 build /Users/ildarnurislamov/Projects/newjitsu/libs/jitsu-js
3
+ @jitsu/js:build: > @jitsu/js@0.0.0 build /Users/vklmn/dev2/newjitsu/libs/jitsu-js
4
4
  @jitsu/js:build: > tsc -p . && rollup -c && cp compiled/src/*.d.ts dist
5
5
  @jitsu/js:build: 
6
6
  @jitsu/js:build: 
@@ -20,7 +20,7 @@
20
20
  @jitsu/js:build: 3: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21
21
  @jitsu/js:build: 4: return new (P || (P = Promise))(function (resolve, reject) {
22
22
  @jitsu/js:build: ...and 1 other occurrence
23
- @jitsu/js:build: compiled/src/destination-plugins/logrocket.js
23
+ @jitsu/js:build: compiled/src/destination-plugins/tag.js
24
24
  @jitsu/js:build: 1: var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
25
25
  @jitsu/js:build:  ^
26
26
  @jitsu/js:build: 2: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -33,20 +33,17 @@
33
33
  @jitsu/js:build: compiled/src/destination-plugins/index.js -> compiled/src/destination-plugins/tag.js -> compiled/src/destination-plugins/index.js
34
34
  @jitsu/js:build: compiled/src/analytics-plugin.js -> compiled/src/destination-plugins/index.js -> compiled/src/destination-plugins/tag.js -> compiled/src/analytics-plugin.js
35
35
  @jitsu/js:build: ...and 3 more
36
- @jitsu/js:build: (!) Use of eval is strongly discouraged
37
- @jitsu/js:build: https://rollupjs.org/troubleshooting/#avoiding-eval
38
- @jitsu/js:build: compiled/src/destination-plugins/tag.js
39
- @jitsu/js:build: 68: })()`;
40
- @jitsu/js:build: 69: try {
41
- @jitsu/js:build: 70: eval(iif);
42
- @jitsu/js:build:  ^
43
- @jitsu/js:build: 71: }
44
- @jitsu/js:build: 72: catch (e) {
45
- @jitsu/js:build: created dist/web/p.js.txt in 764ms
36
+ @jitsu/js:build: created dist/web/p.js.txt in 394ms
46
37
  @jitsu/js:build: 
47
38
  @jitsu/js:build: ./compiled/src/index.js, ./compiled/src/jitsu.js, ./compiled/src/analytics-plugin.js → dist/jitsu.es.js, dist/jitsu.cjs.js...
48
39
  @jitsu/js:build: (!) "this" has been rewritten to "undefined"
49
40
  @jitsu/js:build: https://rollupjs.org/troubleshooting/#error-this-is-undefined
41
+ @jitsu/js:build: compiled/src/index.js
42
+ @jitsu/js:build: 1: var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
43
+ @jitsu/js:build:  ^
44
+ @jitsu/js:build: 2: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
45
+ @jitsu/js:build: 3: return new (P || (P = Promise))(function (resolve, reject) {
46
+ @jitsu/js:build: ...and 1 other occurrence
50
47
  @jitsu/js:build: compiled/src/analytics-plugin.js
51
48
  @jitsu/js:build: 1: /* global analytics */
52
49
  @jitsu/js:build: 2: var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -54,13 +51,7 @@
54
51
  @jitsu/js:build: 3: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
55
52
  @jitsu/js:build: 4: return new (P || (P = Promise))(function (resolve, reject) {
56
53
  @jitsu/js:build: ...and 1 other occurrence
57
- @jitsu/js:build: compiled/src/index.js
58
- @jitsu/js:build: 1: var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
59
- @jitsu/js:build:  ^
60
- @jitsu/js:build: 2: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
61
- @jitsu/js:build: 3: return new (P || (P = Promise))(function (resolve, reject) {
62
- @jitsu/js:build: ...and 1 other occurrence
63
- @jitsu/js:build: compiled/src/destination-plugins/tag.js
54
+ @jitsu/js:build: compiled/src/destination-plugins/ga4.js
64
55
  @jitsu/js:build: 1: var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
65
56
  @jitsu/js:build:  ^
66
57
  @jitsu/js:build: 2: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -73,13 +64,4 @@
73
64
  @jitsu/js:build: compiled/src/destination-plugins/index.js -> compiled/src/destination-plugins/tag.js -> compiled/src/destination-plugins/index.js
74
65
  @jitsu/js:build: compiled/src/analytics-plugin.js -> compiled/src/destination-plugins/index.js -> compiled/src/destination-plugins/tag.js -> compiled/src/analytics-plugin.js
75
66
  @jitsu/js:build: ...and 3 more
76
- @jitsu/js:build: (!) Use of eval is strongly discouraged
77
- @jitsu/js:build: https://rollupjs.org/troubleshooting/#avoiding-eval
78
- @jitsu/js:build: compiled/src/destination-plugins/tag.js
79
- @jitsu/js:build: 68: })()`;
80
- @jitsu/js:build: 69: try {
81
- @jitsu/js:build: 70: eval(iif);
82
- @jitsu/js:build:  ^
83
- @jitsu/js:build: 71: }
84
- @jitsu/js:build: 72: catch (e) {
85
- @jitsu/js:build: created dist/jitsu.es.js, dist/jitsu.cjs.js in 595ms
67
+ @jitsu/js:build: created dist/jitsu.es.js, dist/jitsu.cjs.js in 183ms
@@ -1,5 +1,5 @@
1
- @jitsu/js:clean: cache hit, replaying output f4860d1cb14d0a1a
1
+ @jitsu/js:clean: cache hit, replaying output ca56ac46e5cdc149
2
2
  @jitsu/js:clean: 
3
- @jitsu/js:clean: > @jitsu/js@0.0.0 clean /Users/ildarnurislamov/Projects/newjitsu/libs/jitsu-js
3
+ @jitsu/js:clean: > @jitsu/js@0.0.0 clean /Users/vklmn/dev2/newjitsu/libs/jitsu-js
4
4
  @jitsu/js:clean: > rm -rf ./dist
5
5
  @jitsu/js:clean: 
package/dist/jitsu.cjs.js CHANGED
@@ -169,6 +169,12 @@ function insertTags(code, event, opts = {}) {
169
169
  }
170
170
  }
171
171
  }
172
+ //This weird code is used to mask eval() usage.
173
+ //Although the code can be executed in the browser, some server side bundlers (like Vercel) fails
174
+ //the build if a direct reference to eval() is found.
175
+ let al = "al";
176
+ let ev = "ve".split("").reverse().join("");
177
+ const execF = globalThis[ev + al];
172
178
  function execJs(code, event) {
173
179
  const varName = `jitsu_event_${randomId()}`;
174
180
  window[varName] = event;
@@ -177,7 +183,7 @@ function execJs(code, event) {
177
183
  ${code}
178
184
  })()`;
179
185
  try {
180
- eval(iif);
186
+ execF(iif);
181
187
  }
182
188
  catch (e) {
183
189
  console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);
@@ -1063,14 +1069,14 @@ function restoreTraits(storage) {
1063
1069
  if (typeof val === "string") {
1064
1070
  val = safeCall(() => JSON.parse(val), {});
1065
1071
  }
1066
- if (typeof val !== "object" || val === null) {
1072
+ if (typeof val !== "object" || val === null || Array.isArray(val)) {
1067
1073
  val = {};
1068
1074
  }
1069
1075
  let groupVal = storage.getItem("__group_traits");
1070
1076
  if (typeof groupVal === "string") {
1071
1077
  groupVal = safeCall(() => JSON.parse(groupVal), {});
1072
1078
  }
1073
- if (typeof groupVal !== "object" || groupVal === null) {
1079
+ if (typeof groupVal !== "object" || groupVal === null || Array.isArray(groupVal)) {
1074
1080
  groupVal = {};
1075
1081
  }
1076
1082
  return Object.assign(Object.assign({}, (groupVal || {})), (val || {}));
@@ -1349,7 +1355,7 @@ function processDestinations(destinations, method, originalEvent, debug, analyti
1349
1355
  if (plugin) {
1350
1356
  for (const event of newEvents) {
1351
1357
  try {
1352
- promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug: true }), event));
1358
+ promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug }), event));
1353
1359
  }
1354
1360
  catch (e) {
1355
1361
  console.warn(`[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e === null || e === void 0 ? void 0 : e.message}`, e);
package/dist/jitsu.es.js CHANGED
@@ -167,6 +167,12 @@ function insertTags(code, event, opts = {}) {
167
167
  }
168
168
  }
169
169
  }
170
+ //This weird code is used to mask eval() usage.
171
+ //Although the code can be executed in the browser, some server side bundlers (like Vercel) fails
172
+ //the build if a direct reference to eval() is found.
173
+ let al = "al";
174
+ let ev = "ve".split("").reverse().join("");
175
+ const execF = globalThis[ev + al];
170
176
  function execJs(code, event) {
171
177
  const varName = `jitsu_event_${randomId()}`;
172
178
  window[varName] = event;
@@ -175,7 +181,7 @@ function execJs(code, event) {
175
181
  ${code}
176
182
  })()`;
177
183
  try {
178
- eval(iif);
184
+ execF(iif);
179
185
  }
180
186
  catch (e) {
181
187
  console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);
@@ -1061,14 +1067,14 @@ function restoreTraits(storage) {
1061
1067
  if (typeof val === "string") {
1062
1068
  val = safeCall(() => JSON.parse(val), {});
1063
1069
  }
1064
- if (typeof val !== "object" || val === null) {
1070
+ if (typeof val !== "object" || val === null || Array.isArray(val)) {
1065
1071
  val = {};
1066
1072
  }
1067
1073
  let groupVal = storage.getItem("__group_traits");
1068
1074
  if (typeof groupVal === "string") {
1069
1075
  groupVal = safeCall(() => JSON.parse(groupVal), {});
1070
1076
  }
1071
- if (typeof groupVal !== "object" || groupVal === null) {
1077
+ if (typeof groupVal !== "object" || groupVal === null || Array.isArray(groupVal)) {
1072
1078
  groupVal = {};
1073
1079
  }
1074
1080
  return Object.assign(Object.assign({}, (groupVal || {})), (val || {}));
@@ -1347,7 +1353,7 @@ function processDestinations(destinations, method, originalEvent, debug, analyti
1347
1353
  if (plugin) {
1348
1354
  for (const event of newEvents) {
1349
1355
  try {
1350
- promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug: true }), event));
1356
+ promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug }), event));
1351
1357
  }
1352
1358
  catch (e) {
1353
1359
  console.warn(`[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e === null || e === void 0 ? void 0 : e.message}`, e);
package/dist/web/p.js.txt CHANGED
@@ -170,6 +170,12 @@
170
170
  }
171
171
  }
172
172
  }
173
+ //This weird code is used to mask eval() usage.
174
+ //Although the code can be executed in the browser, some server side bundlers (like Vercel) fails
175
+ //the build if a direct reference to eval() is found.
176
+ let al = "al";
177
+ let ev = "ve".split("").reverse().join("");
178
+ const execF = globalThis[ev + al];
173
179
  function execJs(code, event) {
174
180
  const varName = `jitsu_event_${randomId()}`;
175
181
  window[varName] = event;
@@ -178,7 +184,7 @@
178
184
  ${code}
179
185
  })()`;
180
186
  try {
181
- eval(iif);
187
+ execF(iif);
182
188
  }
183
189
  catch (e) {
184
190
  console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);
@@ -1064,14 +1070,14 @@
1064
1070
  if (typeof val === "string") {
1065
1071
  val = safeCall(() => JSON.parse(val), {});
1066
1072
  }
1067
- if (typeof val !== "object" || val === null) {
1073
+ if (typeof val !== "object" || val === null || Array.isArray(val)) {
1068
1074
  val = {};
1069
1075
  }
1070
1076
  let groupVal = storage.getItem("__group_traits");
1071
1077
  if (typeof groupVal === "string") {
1072
1078
  groupVal = safeCall(() => JSON.parse(groupVal), {});
1073
1079
  }
1074
- if (typeof groupVal !== "object" || groupVal === null) {
1080
+ if (typeof groupVal !== "object" || groupVal === null || Array.isArray(groupVal)) {
1075
1081
  groupVal = {};
1076
1082
  }
1077
1083
  return Object.assign(Object.assign({}, (groupVal || {})), (val || {}));
@@ -1350,7 +1356,7 @@
1350
1356
  if (plugin) {
1351
1357
  for (const event of newEvents) {
1352
1358
  try {
1353
- promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug: true }), event));
1359
+ promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug }), event));
1354
1360
  }
1355
1361
  catch (e) {
1356
1362
  console.warn(`[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e === null || e === void 0 ? void 0 : e.message}`, e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jitsu/js",
3
- "version": "1.9.1",
3
+ "version": "1.9.3-canary.798.20240508224448",
4
4
  "description": "",
5
5
  "author": "Jitsu Dev Team <dev@jitsu.com>",
6
6
  "main": "dist/jitsu.cjs.js",
@@ -22,7 +22,7 @@
22
22
  "@segment/analytics-next": "^1.46.0",
23
23
  "@types/chalk": "^2.2.0",
24
24
  "@types/jest": "^29.2.0",
25
- "@types/node": "^16.11.7",
25
+ "@types/node": "^18.15.3",
26
26
  "chalk": "^4.1.2",
27
27
  "cookie-parser": "^1.4.6",
28
28
  "ejs": "^3.1.8",
@@ -34,8 +34,8 @@
34
34
  "rollup": "^3.2.5",
35
35
  "ts-jest": "29.0.5",
36
36
  "typescript": "^5.3.3",
37
- "@jitsu/protocols": "1.9.1",
38
- "jsondiffpatch": "1.9.1"
37
+ "@jitsu/protocols": "1.9.3-canary.798.20240508224448",
38
+ "jsondiffpatch": "1.9.3-canary.798.20240508224448"
39
39
  },
40
40
  "dependencies": {
41
41
  "analytics": "0.8.9"
@@ -71,14 +71,14 @@ function restoreTraits(storage: PersistentStorage) {
71
71
  if (typeof val === "string") {
72
72
  val = safeCall(() => JSON.parse(val), {});
73
73
  }
74
- if (typeof val !== "object" || val === null) {
74
+ if (typeof val !== "object" || val === null || Array.isArray(val)) {
75
75
  val = {};
76
76
  }
77
77
  let groupVal = storage.getItem("__group_traits");
78
78
  if (typeof groupVal === "string") {
79
79
  groupVal = safeCall(() => JSON.parse(groupVal), {});
80
80
  }
81
- if (typeof groupVal !== "object" || groupVal === null) {
81
+ if (typeof groupVal !== "object" || groupVal === null || Array.isArray(groupVal)) {
82
82
  groupVal = {};
83
83
  }
84
84
  return {
@@ -426,7 +426,7 @@ async function processDestinations(
426
426
  if (plugin) {
427
427
  for (const event of newEvents) {
428
428
  try {
429
- promises.push(plugin.handle({ ...credentials, debug: true }, event));
429
+ promises.push(plugin.handle({ ...credentials, debug }, event));
430
430
  } catch (e) {
431
431
  console.warn(
432
432
  `[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e?.message}`,
@@ -56,6 +56,13 @@ function insertTags(code, event: AnalyticsClientEvent, opts: { debug?: boolean }
56
56
  }
57
57
  }
58
58
 
59
+ //This weird code is used to mask eval() usage.
60
+ //Although the code can be executed in the browser, some server side bundlers (like Vercel) fails
61
+ //the build if a direct reference to eval() is found.
62
+ let al = "al";
63
+ let ev = "ve".split("").reverse().join("");
64
+ const execF = globalThis[ev + al];
65
+
59
66
  function execJs(code: string, event: any) {
60
67
  const varName = `jitsu_event_${randomId()}`;
61
68
  window[varName] = event;
@@ -64,7 +71,7 @@ function execJs(code: string, event: any) {
64
71
  ${code}
65
72
  })()`;
66
73
  try {
67
- eval(iif);
74
+ execF(iif);
68
75
  } catch (e) {
69
76
  console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);
70
77
  } finally {