rozmova-analytics 1.0.8 → 1.0.9

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/analytics.js CHANGED
@@ -1,92 +1,85 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.trackEvent = exports.setUser = exports.setPlatform = exports.setLocale = exports.resetUser = exports.init = exports.getUserId = exports.getPlatform = exports.getLocale = exports.getCommonParams = exports.generateUserId = void 0;
7
- var _jsCookie = _interopRequireDefault(require("js-cookie"));
8
- var _mixpanelBrowser = _interopRequireDefault(require("mixpanel-browser"));
9
- var _nanoid = require("nanoid");
10
- var _constants = require("./constants");
11
- var _helpers = require("./helpers");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
4
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
- var generateUserId = exports.generateUserId = function generateUserId() {
20
- var userId = (0, _nanoid.nanoid)();
21
- var domain = (0, _helpers.getDomain)();
22
- _jsCookie["default"].set(_constants.USER_ID_KEY, userId, {
7
+ import Cookies from "js-cookie";
8
+ import mixpanel from "mixpanel-browser";
9
+ import { nanoid } from "nanoid";
10
+ import { GA_SERVER_CONTAINER_URL, GOOGLE_ANALYTICS_ID, MIXPANEL_TOKEN, PARAMS_COOKIE_NAME, USER_ID_KEY, UTM_KEYS } from "./constants";
11
+ import { detectBrowser, detectDeviceType, detectOS, getBrowserLanguage, getDomain, getGAClientId, getGASessionId, getQueryParam, getReferrer, getSearchQueryFromReferrer, isMetaBrowser, setQueryParam } from "./helpers";
12
+ export var generateUserId = function generateUserId() {
13
+ var userId = nanoid();
14
+ var domain = getDomain();
15
+ Cookies.set(USER_ID_KEY, userId, {
23
16
  domain: domain
24
17
  });
25
- localStorage.setItem(_constants.USER_ID_KEY, userId);
18
+ localStorage.setItem(USER_ID_KEY, userId);
26
19
  return userId;
27
20
  };
28
- var getUserId = exports.getUserId = function getUserId() {
29
- return _jsCookie["default"].get(_constants.USER_ID_KEY) || localStorage.getItem(_constants.USER_ID_KEY) || (0, _helpers.getQueryParam)(_constants.USER_ID_KEY) || generateUserId();
21
+ export var getUserId = function getUserId() {
22
+ return Cookies.get(USER_ID_KEY) || localStorage.getItem(USER_ID_KEY) || getQueryParam(USER_ID_KEY) || generateUserId();
30
23
  };
31
24
  var getCurrentParams = function getCurrentParams() {
32
- var paramsFromCookie = _jsCookie["default"].get(_constants.PARAMS_COOKIE_NAME);
25
+ var paramsFromCookie = Cookies.get(PARAMS_COOKIE_NAME);
33
26
  var prevParams = paramsFromCookie ? JSON.parse(paramsFromCookie) : {};
34
27
  var searchParams = new URLSearchParams(window.location.search);
35
- var isNewSetUTM = _constants.UTM_KEYS.some(function (utmKey) {
28
+ var isNewSetUTM = UTM_KEYS.some(function (utmKey) {
36
29
  return searchParams.get(utmKey) && searchParams.get(utmKey) !== prevParams[utmKey];
37
30
  });
38
- var currentUTMParams = isNewSetUTM ? _constants.UTM_KEYS.reduce(function (prev, curr) {
31
+ var currentUTMParams = isNewSetUTM ? UTM_KEYS.reduce(function (prev, curr) {
39
32
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, curr, searchParams.get(curr)));
40
- }, {}) : _constants.UTM_KEYS.reduce(function (prev, curr) {
33
+ }, {}) : UTM_KEYS.reduce(function (prev, curr) {
41
34
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, curr, prevParams[curr]));
42
35
  }, {});
43
36
  var currentParams = _objectSpread(_objectSpread({}, currentUTMParams), {}, {
44
- referrer: (0, _helpers.getReferrer)() || prevParams.referrer,
45
- search_query: (0, _helpers.getSearchQueryFromReferrer)() || prevParams.search_query,
37
+ referrer: getReferrer() || prevParams.referrer,
38
+ search_query: getSearchQueryFromReferrer() || prevParams.search_query,
46
39
  landing_page_url: prevParams.landing_page_url || window.location.href
47
40
  });
48
- _jsCookie["default"].set(_constants.PARAMS_COOKIE_NAME, JSON.stringify(currentParams), {
49
- domain: (0, _helpers.getDomain)()
41
+ Cookies.set(PARAMS_COOKIE_NAME, JSON.stringify(currentParams), {
42
+ domain: getDomain()
50
43
  });
51
44
  return currentParams;
52
45
  };
53
- var setLocale = exports.setLocale = function setLocale(newLocale) {
46
+ export var setLocale = function setLocale(newLocale) {
54
47
  window.analyticsLocale = newLocale;
55
48
  };
56
- var getLocale = exports.getLocale = function getLocale() {
49
+ export var getLocale = function getLocale() {
57
50
  return window.analyticsLocale;
58
51
  };
59
- var setPlatform = exports.setPlatform = function setPlatform(newPlatform) {
52
+ export var setPlatform = function setPlatform(newPlatform) {
60
53
  window.analyticsPlatform = newPlatform;
61
54
  };
62
- var getPlatform = exports.getPlatform = function getPlatform() {
55
+ export var getPlatform = function getPlatform() {
63
56
  return window.analyticsPlatform || "web";
64
57
  };
65
- var getCommonParams = exports.getCommonParams = function getCommonParams() {
58
+ export var getCommonParams = function getCommonParams() {
66
59
  var persistedParams = getCurrentParams();
67
60
  return _objectSpread(_objectSpread({}, persistedParams), {}, {
68
- fbc: _jsCookie["default"].get("_fbc"),
69
- fbp: _jsCookie["default"].get("_fbp"),
70
- session_id: (0, _helpers.getGASessionId)(),
71
- user_pseudo_id: (0, _helpers.getGAClientId)(),
61
+ fbc: Cookies.get("_fbc"),
62
+ fbp: Cookies.get("_fbp"),
63
+ session_id: getGASessionId(),
64
+ user_pseudo_id: getGAClientId(),
72
65
  rid: getUserId(),
73
- funnel_name: _jsCookie["default"].get("funnel_name"),
74
- funnel_type: _jsCookie["default"].get("funnel_type"),
75
- language: (0, _helpers.getBrowserLanguage)(),
66
+ funnel_name: Cookies.get("funnel_name"),
67
+ funnel_type: Cookies.get("funnel_type"),
68
+ language: getBrowserLanguage(),
76
69
  platform: getPlatform(),
77
70
  url: window.location.href,
78
- device: (0, _helpers.detectDeviceType)(),
79
- browser: (0, _helpers.detectBrowser)(),
80
- system: (0, _helpers.detectOS)(),
71
+ device: detectDeviceType(),
72
+ browser: detectBrowser(),
73
+ system: detectOS(),
81
74
  locale: getLocale()
82
75
  });
83
76
  };
84
- var init = exports.init = function init(locale, platform) {
77
+ export var init = function init(locale, platform) {
85
78
  var userId = getUserId();
86
- if ((0, _helpers.isMetaBrowser)()) {
87
- (0, _helpers.setQueryParam)(_constants.USER_ID_KEY, userId);
79
+ if (isMetaBrowser()) {
80
+ setQueryParam(USER_ID_KEY, userId);
88
81
  }
89
- _mixpanelBrowser["default"].init(_constants.MIXPANEL_TOKEN, {
82
+ mixpanel.init(MIXPANEL_TOKEN, {
90
83
  debug: false,
91
84
  track_pageview: "url-with-path",
92
85
  persistence: "cookie"
@@ -94,18 +87,18 @@ var init = exports.init = function init(locale, platform) {
94
87
  if (locale) setLocale(locale);
95
88
  if (platform) setPlatform(platform);
96
89
  var userProperties = getCommonParams();
97
- _mixpanelBrowser["default"].register(userProperties);
98
- gtag("config", _constants.GOOGLE_ANALYTICS_ID, {
90
+ mixpanel.register(userProperties);
91
+ gtag("config", GOOGLE_ANALYTICS_ID, {
99
92
  user_properties: userProperties,
100
- server_container_url: _constants.GA_SERVER_CONTAINER_URL
93
+ server_container_url: GA_SERVER_CONTAINER_URL
101
94
  });
102
95
  };
103
- var trackEvent = exports.trackEvent = function trackEvent(eventName) {
96
+ export var trackEvent = function trackEvent(eventName) {
104
97
  var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
105
98
  var commonParams = getCommonParams();
106
99
  var params = _objectSpread(_objectSpread({}, commonParams), properties);
107
100
  try {
108
- _mixpanelBrowser["default"].track(eventName, params);
101
+ mixpanel.track(eventName, params);
109
102
  } catch (e) {
110
103
  console.log(e);
111
104
  }
@@ -115,22 +108,22 @@ var trackEvent = exports.trackEvent = function trackEvent(eventName) {
115
108
  console.log(e);
116
109
  }
117
110
  };
118
- var setUser = exports.setUser = function setUser(userId, userParams) {
111
+ export var setUser = function setUser(userId, userParams) {
119
112
  var email = userParams.email,
120
113
  name = userParams.name;
121
- _mixpanelBrowser["default"].identify(userId);
122
- _mixpanelBrowser["default"].people.set({
114
+ mixpanel.identify(userId);
115
+ mixpanel.people.set({
123
116
  $email: email,
124
117
  name: name
125
118
  });
126
- gtag("config", _constants.GOOGLE_ANALYTICS_ID, {
119
+ gtag("config", GOOGLE_ANALYTICS_ID, {
127
120
  user_properties: getCommonParams(),
128
121
  user_id: userId,
129
- server_container_url: _constants.GA_SERVER_CONTAINER_URL
122
+ server_container_url: GA_SERVER_CONTAINER_URL
130
123
  });
131
124
  };
132
- var resetUser = exports.resetUser = function resetUser() {
133
- _mixpanelBrowser["default"].reset();
125
+ export var resetUser = function resetUser() {
126
+ mixpanel.reset();
134
127
  generateUserId();
135
128
  init();
136
129
  };
package/dist/constants.js CHANGED
@@ -1,12 +1,6 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.UTM_KEYS = exports.USER_ID_KEY = exports.PARAMS_COOKIE_NAME = exports.MIXPANEL_TOKEN = exports.GOOGLE_ANALYTICS_ID = exports.GA_SERVER_CONTAINER_URL = void 0;
7
- var USER_ID_KEY = exports.USER_ID_KEY = "rid";
8
- var PARAMS_COOKIE_NAME = exports.PARAMS_COOKIE_NAME = "rozmovaAnalyticsParams";
9
- var UTM_KEYS = exports.UTM_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_campaign_id", "utm_advertiser_id", "utm_adset_id", "utm_adset_name", "utm_ad_id", "utm_ad_name", "utm_keyword"];
10
- var GOOGLE_ANALYTICS_ID = exports.GOOGLE_ANALYTICS_ID = "G-9PCTLFE0F6";
11
- var GA_SERVER_CONTAINER_URL = exports.GA_SERVER_CONTAINER_URL = "https://tagging.clearly.help";
12
- var MIXPANEL_TOKEN = exports.MIXPANEL_TOKEN = "9d4cb3d213e5aee689ea01dd68ad65ad";
1
+ export var USER_ID_KEY = "rid";
2
+ export var PARAMS_COOKIE_NAME = "rozmovaAnalyticsParams";
3
+ export var UTM_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_campaign_id", "utm_advertiser_id", "utm_adset_id", "utm_adset_name", "utm_ad_id", "utm_ad_name", "utm_keyword"];
4
+ export var GOOGLE_ANALYTICS_ID = "G-9PCTLFE0F6";
5
+ export var GA_SERVER_CONTAINER_URL = "https://tagging.clearly.help";
6
+ export var MIXPANEL_TOKEN = "9d4cb3d213e5aee689ea01dd68ad65ad";
package/dist/global.d.js CHANGED
@@ -1,5 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
package/dist/helpers.js CHANGED
@@ -1,44 +1,30 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.detectBrowser = detectBrowser;
7
- exports.detectDeviceType = detectDeviceType;
8
- exports.detectOS = detectOS;
9
- exports.getGAClientId = exports.getDomain = exports.getBrowserLanguage = void 0;
10
- exports.getGASessionId = getGASessionId;
11
- exports.getReferrer = exports.getQueryParam = void 0;
12
- exports.getSearchQueryFromReferrer = getSearchQueryFromReferrer;
13
- exports.setQueryParam = exports.isMetaBrowser = void 0;
14
- var _jsCookie = _interopRequireDefault(require("js-cookie"));
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
16
1
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
17
2
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
3
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
4
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
5
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
6
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
22
- var setQueryParam = exports.setQueryParam = function setQueryParam(name, value) {
7
+ import Cookies from "js-cookie";
8
+ export var setQueryParam = function setQueryParam(name, value) {
23
9
  var url = new URL(window.location.href);
24
10
  url.searchParams.set(name, value);
25
11
  window.history.replaceState({
26
12
  path: url.toString()
27
13
  }, "", url.toString());
28
14
  };
29
- var getQueryParam = exports.getQueryParam = function getQueryParam(name) {
15
+ export var getQueryParam = function getQueryParam(name) {
30
16
  var searchParams = new URLSearchParams(window.location.search);
31
17
  return searchParams.get(name);
32
18
  };
33
- var isMetaBrowser = exports.isMetaBrowser = function isMetaBrowser() {
19
+ export var isMetaBrowser = function isMetaBrowser() {
34
20
  // @ts-expect-error opera property
35
21
  var ua = navigator.userAgent || navigator.vendor || window.opera;
36
22
  return ua.match(/FBAN|FBAV|Instagram/i);
37
23
  };
38
- var getBrowserLanguage = exports.getBrowserLanguage = function getBrowserLanguage() {
24
+ export var getBrowserLanguage = function getBrowserLanguage() {
39
25
  return window.navigator.language;
40
26
  };
41
- function detectBrowser() {
27
+ export function detectBrowser() {
42
28
  var userAgent = navigator.userAgent;
43
29
  if (userAgent.indexOf("Edg") > -1) {
44
30
  return "Microsoft Edge";
@@ -55,7 +41,7 @@ function detectBrowser() {
55
41
  }
56
42
  return "Unknown";
57
43
  }
58
- function detectDeviceType() {
44
+ export function detectDeviceType() {
59
45
  var userAgent = navigator.userAgent;
60
46
  if (/Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent)) {
61
47
  return "Mobile";
@@ -63,7 +49,7 @@ function detectDeviceType() {
63
49
  return "Desktop";
64
50
  }
65
51
  }
66
- function detectOS() {
52
+ export function detectOS() {
67
53
  var userAgent = navigator.userAgent;
68
54
  if (userAgent.includes("Win")) {
69
55
  return "Windows";
@@ -79,13 +65,13 @@ function detectOS() {
79
65
  return "Unknown OS";
80
66
  }
81
67
  }
82
- var getDomain = exports.getDomain = function getDomain() {
68
+ export var getDomain = function getDomain() {
83
69
  var domainParts = window.location.hostname.split(".");
84
70
  var domainPartsLength = domainParts.length;
85
71
  if (domainParts.length === 1) return domainParts[0];
86
72
  return domainParts.slice(domainPartsLength - 2, domainPartsLength).join(".");
87
73
  };
88
- var getReferrer = exports.getReferrer = function getReferrer() {
74
+ export var getReferrer = function getReferrer() {
89
75
  var referrer = document.referrer;
90
76
  if (referrer) {
91
77
  var url = new URL(referrer);
@@ -95,7 +81,7 @@ var getReferrer = exports.getReferrer = function getReferrer() {
95
81
  }
96
82
  return referrer;
97
83
  };
98
- function getSearchQueryFromReferrer() {
84
+ export function getSearchQueryFromReferrer() {
99
85
  // Get the referrer URL (the page that linked to your site)
100
86
  var referrer = getReferrer();
101
87
  if (!referrer) {
@@ -131,13 +117,13 @@ function getSearchQueryFromReferrer() {
131
117
  // If no match with search engines, return null
132
118
  return null;
133
119
  }
134
- var getGAClientId = exports.getGAClientId = function getGAClientId() {
135
- var clientId = _jsCookie["default"].get("_ga");
120
+ export var getGAClientId = function getGAClientId() {
121
+ var clientId = Cookies.get("_ga");
136
122
  if (!clientId) return "";
137
123
  var splitedClientId = clientId.split(".");
138
124
  return splitedClientId[2] + "." + splitedClientId[3];
139
125
  };
140
- function getGASessionId() {
126
+ export function getGASessionId() {
141
127
  // Use your own ID here ↓
142
128
  var pattern = /_ga_9PCTLFE0F6=GS\d\.\d\.(.+?)(?:;|$)/;
143
129
  var match = document.cookie.match(pattern);
package/dist/index.js CHANGED
@@ -1,18 +1,12 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _analytics = require("./analytics");
1
+ import { generateUserId, getCommonParams, getUserId, init, resetUser, setUser, trackEvent, setLocale } from "./analytics";
8
2
  var Analytics = {
9
- getUserId: _analytics.getUserId,
10
- generateUserId: _analytics.generateUserId,
11
- init: _analytics.init,
12
- getCommonParams: _analytics.getCommonParams,
13
- trackEvent: _analytics.trackEvent,
14
- setUser: _analytics.setUser,
15
- resetUser: _analytics.resetUser,
16
- setLocale: _analytics.setLocale
3
+ getUserId: getUserId,
4
+ generateUserId: generateUserId,
5
+ init: init,
6
+ getCommonParams: getCommonParams,
7
+ trackEvent: trackEvent,
8
+ setUser: setUser,
9
+ resetUser: resetUser,
10
+ setLocale: setLocale
17
11
  };
18
- var _default = exports["default"] = Analytics;
12
+ export default Analytics;
package/dist/types.js CHANGED
@@ -1,5 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "rozmova-analytics",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "A collection of JavaScript functions for Rozmova analytics",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "type": "module",
7
8
  "scripts": {
8
9
  "build:esm": "babel src --out-dir dist --extensions .ts,.tsx && tsc --emitDeclarationOnly",
9
- "build:umd": "rollup -c --bundleConfigAsCjs",
10
+ "build:umd": "rollup -c",
10
11
  "build": "npm run build:esm && npm run build:umd",
11
12
  "lint": "eslint 'src/**/*.{ts,tsx}'",
12
13
  "lint:fix": "eslint 'src/**/*.{ts,tsx}' --fix",