aesirx-analytics 2.1.1 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +4 -4
- package/dist/{Consent-MKSHHJAP.js → Consent-3FMR7JQE.js} +2006 -355
- package/dist/analytics.js +3600 -434
- package/dist/{chunk-OGDZQCIU.js → chunk-ZYCOHH2R.js} +2 -1
- package/dist/index.js +53 -25
- package/package.json +21 -14
@@ -144,6 +144,7 @@ function warn() {
|
|
144
144
|
}
|
145
145
|
if (typeof args[0] === "string")
|
146
146
|
args[0] = `react-i18next:: ${args[0]}`;
|
147
|
+
console.warn(...args);
|
147
148
|
}
|
148
149
|
}
|
149
150
|
var alreadyWarned = {};
|
@@ -473,7 +474,7 @@ var common_default2 = {
|
|
473
474
|
txt_revoke_consent: "Revoke Consent",
|
474
475
|
txt_yes_i_consent: "Yes, I consent",
|
475
476
|
txt_reject_consent: "Reject Consent",
|
476
|
-
txt_please_connect: "Please connect your
|
477
|
+
txt_please_connect: "Please connect your Web3 wallet",
|
477
478
|
txt_please_sign: "Please sign the message on your wallet twice and wait for it to be saved.",
|
478
479
|
txt_saving: "Saving...",
|
479
480
|
txt_please_connect_your_wallet: "Please connect to your wallet",
|
package/dist/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import {
|
2
2
|
AnalyticsContext,
|
3
3
|
AnalyticsContextProvider_default
|
4
|
-
} from "./chunk-
|
4
|
+
} from "./chunk-ZYCOHH2R.js";
|
5
5
|
|
6
6
|
// src/AnalyticsNext/index.tsx
|
7
7
|
import React2 from "react";
|
@@ -41,6 +41,9 @@ var createRequest = (endpoint, task) => {
|
|
41
41
|
var createRequestV2 = (endpoint, task) => {
|
42
42
|
return `${endpoint}/visitor/v2/${task}`;
|
43
43
|
};
|
44
|
+
var rememberFlow = (endpoint, flow) => {
|
45
|
+
return `${endpoint}/remember_flow/${flow}`;
|
46
|
+
};
|
44
47
|
var startTracker = async (endpoint, url, referer, user_agent) => {
|
45
48
|
const allow = sessionStorage.getItem("aesirx-analytics-allow");
|
46
49
|
if (allow === "0") {
|
@@ -72,8 +75,8 @@ var startTracker = async (endpoint, url, referer, user_agent) => {
|
|
72
75
|
return await trackerService(createRequestV2(endpoint, "start"), {
|
73
76
|
fingerprint,
|
74
77
|
url,
|
75
|
-
...referer && referer !== url && {
|
76
|
-
referer
|
78
|
+
...referer && (referer !== url || document2.referrer) && {
|
79
|
+
referer: referer !== url ? referer : document2.referrer
|
77
80
|
},
|
78
81
|
user_agent,
|
79
82
|
ip,
|
@@ -88,8 +91,16 @@ var startTracker = async (endpoint, url, referer, user_agent) => {
|
|
88
91
|
}
|
89
92
|
});
|
90
93
|
});
|
94
|
+
if (window["aesirxTrackEcommerce"] === "true" && sessionStorage.getItem("aesirx-analytics-flow") !== (await responseStart)?.flow_uuid) {
|
95
|
+
sessionStorage.setItem("aesirx-analytics-flow", (await responseStart)?.flow_uuid);
|
96
|
+
await trackerService(
|
97
|
+
rememberFlow(window.location.origin, (await responseStart)?.flow_uuid),
|
98
|
+
{}
|
99
|
+
);
|
100
|
+
}
|
91
101
|
return responseStart;
|
92
102
|
} catch (error) {
|
103
|
+
console.error("Analytics Error: ", error);
|
93
104
|
}
|
94
105
|
};
|
95
106
|
var trackEvent = async (endpoint, referer, data) => {
|
@@ -108,26 +119,30 @@ var trackEvent = async (endpoint, referer, data) => {
|
|
108
119
|
const device = browser?.platform?.model ?? browser?.platform?.type;
|
109
120
|
const ip = "";
|
110
121
|
const fpPromise = FingerprintJS.load({ monitoring: false });
|
111
|
-
const
|
122
|
+
const responseStart = fpPromise.then((fp) => fp.get()).then(async (result) => {
|
112
123
|
const fingerprint = result.visitorId;
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
124
|
+
const headers = { type: "application/json" };
|
125
|
+
const blobData = new Blob(
|
126
|
+
[
|
127
|
+
JSON.stringify({
|
128
|
+
fingerprint,
|
129
|
+
url,
|
130
|
+
...referer !== "/" && referer && {
|
131
|
+
referer
|
132
|
+
},
|
133
|
+
user_agent,
|
134
|
+
ip,
|
135
|
+
browser_name,
|
136
|
+
browser_version,
|
137
|
+
lang,
|
138
|
+
device,
|
139
|
+
...data
|
140
|
+
})
|
141
|
+
],
|
142
|
+
headers
|
143
|
+
);
|
144
|
+
return navigator.sendBeacon(createRequestV2(endpoint, "start"), blobData);
|
127
145
|
});
|
128
|
-
const headers = { type: "application/json" };
|
129
|
-
const blob = new Blob([JSON.stringify(body)], headers);
|
130
|
-
const responseStart = navigator.sendBeacon(createRequestV2(endpoint, "start"), blob);
|
131
146
|
return responseStart;
|
132
147
|
};
|
133
148
|
var endTracker = (endPoint, event_uuid, visitor_uuid) => {
|
@@ -180,6 +195,7 @@ var AnalyticsHandle = ({ router, children }) => {
|
|
180
195
|
useEffect(() => {
|
181
196
|
const init = async () => {
|
182
197
|
if (!AnalyticsStore.visitor_uuid) {
|
198
|
+
setPrevRoute(router.asPath);
|
183
199
|
await handleStartTracker(router.asPath);
|
184
200
|
}
|
185
201
|
};
|
@@ -217,9 +233,15 @@ var handle_default = AnalyticsHandle;
|
|
217
233
|
|
218
234
|
// src/AnalyticsNext/index.tsx
|
219
235
|
import dynamic from "next/dynamic";
|
220
|
-
var ConsentComponent = dynamic(() => import("./Consent-
|
236
|
+
var ConsentComponent = dynamic(() => import("./Consent-3FMR7JQE.js"), { ssr: false });
|
221
237
|
var AnalyticsNext = ({ router, children }) => {
|
222
|
-
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AnalyticsContextProvider_default, null, /* @__PURE__ */ React2.createElement(handle_default, { router }, children, process.env.NEXT_PUBLIC_DISABLE_ANALYTICS_CONSENT !== "true" && /* @__PURE__ */ React2.createElement(
|
238
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AnalyticsContextProvider_default, null, /* @__PURE__ */ React2.createElement(handle_default, { router }, children, process.env.NEXT_PUBLIC_DISABLE_ANALYTICS_CONSENT !== "true" && /* @__PURE__ */ React2.createElement(
|
239
|
+
ConsentComponent,
|
240
|
+
{
|
241
|
+
endpoint: process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,
|
242
|
+
aesirXEndpoint: process.env.NEXT_PUBLIC_ENDPOINT_URL ?? "https://api.aesirx.io"
|
243
|
+
}
|
244
|
+
))));
|
223
245
|
};
|
224
246
|
var AnalyticsNext_default = AnalyticsNext;
|
225
247
|
|
@@ -263,9 +285,15 @@ var AnalyticsHandle2 = ({ location, history, children }) => {
|
|
263
285
|
var handle_default2 = AnalyticsHandle2;
|
264
286
|
|
265
287
|
// src/AnalyticsReact/index.tsx
|
266
|
-
var ConsentComponent2 = React4.lazy(() => import("./Consent-
|
288
|
+
var ConsentComponent2 = React4.lazy(() => import("./Consent-3FMR7JQE.js"));
|
267
289
|
var AnalyticsReact = ({ location, history, children }) => {
|
268
|
-
return /* @__PURE__ */ React4.createElement(AnalyticsContextProvider_default, null, /* @__PURE__ */ React4.createElement(handle_default2, { location, history }, children, process.env.REACT_APP_DISABLE_ANALYTICS_CONSENT !== "true" && /* @__PURE__ */ React4.createElement(Suspense, { fallback: /* @__PURE__ */ React4.createElement(React4.Fragment, null) }, /* @__PURE__ */ React4.createElement(
|
290
|
+
return /* @__PURE__ */ React4.createElement(AnalyticsContextProvider_default, null, /* @__PURE__ */ React4.createElement(handle_default2, { location, history }, children, process.env.REACT_APP_DISABLE_ANALYTICS_CONSENT !== "true" && /* @__PURE__ */ React4.createElement(Suspense, { fallback: /* @__PURE__ */ React4.createElement(React4.Fragment, null) }, /* @__PURE__ */ React4.createElement(
|
291
|
+
ConsentComponent2,
|
292
|
+
{
|
293
|
+
endpoint: process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,
|
294
|
+
aesirXEndpoint: process.env.REACT_APP_ENDPOINT_URL ?? "https://api.aesirx.io"
|
295
|
+
}
|
296
|
+
))));
|
269
297
|
};
|
270
298
|
var AnalyticsReact_default = AnalyticsReact;
|
271
299
|
export {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "aesirx-analytics",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.2.1",
|
4
4
|
"license": "GPL-3.0-only",
|
5
5
|
"author": "AesirX",
|
6
6
|
"repository": "https://gitlab.redweb.dk/aesirx/analytics",
|
@@ -12,32 +12,36 @@
|
|
12
12
|
"@concordium/browser-wallet-api-helpers": "^2",
|
13
13
|
"@concordium/react-components": "^0.3.0",
|
14
14
|
"@concordium/web-sdk": "^6",
|
15
|
-
"@fingerprintjs/fingerprintjs": "
|
16
|
-
"
|
15
|
+
"@fingerprintjs/fingerprintjs": "3.4.2",
|
16
|
+
"@web3modal/ethereum": "^2.7.0",
|
17
|
+
"@web3modal/react": "^2.7.0",
|
18
|
+
"aesirx-sso": "^1.4.1",
|
17
19
|
"axios": "^1.4.0",
|
18
|
-
"bootstrap": "^5.3.
|
20
|
+
"bootstrap": "^5.3.2",
|
19
21
|
"bowser": "^2.11.0",
|
20
22
|
"buffer": "^6.0.3",
|
23
|
+
"ethers": "^6.6.5",
|
21
24
|
"i18next": "^23.4.4",
|
22
25
|
"i18next-browser-languagedetector": "^7.1.0",
|
23
|
-
"next": "^13.4
|
26
|
+
"next": "^13.5.4",
|
24
27
|
"query-string": "^7.1.1",
|
25
28
|
"react": "^18.2.0",
|
26
29
|
"react-bootstrap": "^2.8.0",
|
27
30
|
"react-content-loader": "^6.2.1",
|
28
31
|
"react-device-detect": "^2.2.3",
|
29
32
|
"react-dom": "18",
|
30
|
-
"react-toastify": "^9.1.3"
|
33
|
+
"react-toastify": "^9.1.3",
|
34
|
+
"wagmi": "^1.3.2"
|
31
35
|
},
|
32
36
|
"scripts": {
|
33
|
-
"dev": "tsup --watch
|
37
|
+
"dev": "NODE_ENV=development tsup --watch",
|
34
38
|
"build": "tsup",
|
35
39
|
"lint": "eslint --fix \"src/**/\"",
|
36
40
|
"lint:check": "eslint \"src/**/\"",
|
37
41
|
"lint:nowarns": "eslint --quiet \"src/**/\"",
|
38
42
|
"prepublishOnly": "yarn run build",
|
39
|
-
"format:check": "prettier --check
|
40
|
-
"format:write": "prettier --write
|
43
|
+
"format:check": "prettier --check \"./src/**/*.{js,jsx,ts,tsx}\"",
|
44
|
+
"format:write": "prettier --write \"./src/**/*.{js,jsx,ts,tsx}\"",
|
41
45
|
"test": "jest"
|
42
46
|
},
|
43
47
|
"eslintConfig": {
|
@@ -60,10 +64,10 @@
|
|
60
64
|
},
|
61
65
|
"devDependencies": {
|
62
66
|
"@babel/preset-env": "^7.21.5",
|
63
|
-
"@babel/preset-typescript": "^7.
|
64
|
-
"@jest/globals": "^29.
|
67
|
+
"@babel/preset-typescript": "^7.23.0",
|
68
|
+
"@jest/globals": "^29.7.0",
|
65
69
|
"@types/jest": "^29.5.0",
|
66
|
-
"@types/node": "^20.
|
70
|
+
"@types/node": "^20.8.0",
|
67
71
|
"@types/react": "^18.2.21",
|
68
72
|
"@types/react-dom": "^18.2.4",
|
69
73
|
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
@@ -71,7 +75,7 @@
|
|
71
75
|
"@walletconnect/types": "^2.10.0",
|
72
76
|
"dotenv": "^16.0.3",
|
73
77
|
"esbuild-plugin-inline-image": "^0.0.9",
|
74
|
-
"esbuild-sass-plugin": "^2.
|
78
|
+
"esbuild-sass-plugin": "^2.15.0",
|
75
79
|
"esbuild-scss-modules-plugin": "^1.1.1",
|
76
80
|
"eslint": "^8.48.0",
|
77
81
|
"eslint-plugin-react": "^7.31.10",
|
@@ -86,5 +90,8 @@
|
|
86
90
|
},
|
87
91
|
"files": [
|
88
92
|
"dist"
|
89
|
-
]
|
93
|
+
],
|
94
|
+
"resolutions": {
|
95
|
+
"postcss": "^8"
|
96
|
+
}
|
90
97
|
}
|