aesirx-analytics 2.2.1 → 2.2.3
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/{Consent-3FMR7JQE.js → Consent-HRGYMPE6.js} +152 -117
- package/dist/analytics.js +8185 -6978
- package/dist/index.d.ts +7 -1
- package/dist/index.js +337 -54
- package/package.json +11 -10
package/dist/index.d.ts
CHANGED
@@ -29,4 +29,10 @@ interface AnalyticsContextType {
|
|
29
29
|
}
|
30
30
|
declare const AnalyticsContext: React.Context<AnalyticsContextType>;
|
31
31
|
|
32
|
-
|
32
|
+
/**
|
33
|
+
* Function to get browser finger print
|
34
|
+
* @returns
|
35
|
+
*/
|
36
|
+
declare const getFingerprint: () => string;
|
37
|
+
|
38
|
+
export { AnalyticsContext, AnalyticsNext, AnalyticsReact, getFingerprint, trackEvent };
|
package/dist/index.js
CHANGED
@@ -34,7 +34,293 @@ var trackerService = async (endpoint, payload) => {
|
|
34
34
|
|
35
35
|
// src/utils/index.ts
|
36
36
|
import Bowser from "bowser";
|
37
|
-
|
37
|
+
|
38
|
+
// src/lib/envHelper.ts
|
39
|
+
var getHashKey = () => {
|
40
|
+
let value = null;
|
41
|
+
try {
|
42
|
+
if (typeof process.env != "undefined") {
|
43
|
+
value = process.env.SECURE_LOCAL_STORAGE_HASH_KEY || process.env.REACT_APP_SECURE_LOCAL_STORAGE_HASH_KEY || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_HASH_KEY || process.env.VITE_SECURE_LOCAL_STORAGE_HASH_KEY;
|
44
|
+
} else {
|
45
|
+
console.warn(`react-secure-storage : process is not defined! Just a warning!`);
|
46
|
+
}
|
47
|
+
} catch (ex) {
|
48
|
+
return null;
|
49
|
+
}
|
50
|
+
return value;
|
51
|
+
};
|
52
|
+
var getStoragePrefix = () => {
|
53
|
+
let value = null;
|
54
|
+
try {
|
55
|
+
if (typeof process.env != "undefined") {
|
56
|
+
value = process.env.SECURE_LOCAL_STORAGE_PREFIX || process.env.REACT_APP_SECURE_LOCAL_STORAGE_PREFIX || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_PREFIX || process.env.VITE_SECURE_LOCAL_STORAGE_PREFIX;
|
57
|
+
} else {
|
58
|
+
console.warn(`react-secure-storage : process is not defined! Just a warning!`);
|
59
|
+
}
|
60
|
+
} catch (ex) {
|
61
|
+
return null;
|
62
|
+
}
|
63
|
+
return value;
|
64
|
+
};
|
65
|
+
var getDisabledKeys = () => {
|
66
|
+
let value = null;
|
67
|
+
try {
|
68
|
+
if (typeof process.env != "undefined") {
|
69
|
+
value = process.env.SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.REACT_APP_SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.VITE_SECURE_LOCAL_STORAGE_DISABLED_KEYS;
|
70
|
+
} else {
|
71
|
+
console.warn(`react-secure-storage : process is not defined! Just a warning!`);
|
72
|
+
}
|
73
|
+
} catch (ex) {
|
74
|
+
return null;
|
75
|
+
}
|
76
|
+
return value;
|
77
|
+
};
|
78
|
+
var envHelper = {
|
79
|
+
getHashKey,
|
80
|
+
getStoragePrefix,
|
81
|
+
getDisabledKeys
|
82
|
+
};
|
83
|
+
var envHelper_default = envHelper;
|
84
|
+
|
85
|
+
// src/lib/fingerpint.lib.ts
|
86
|
+
import murmurhash3_32_gc from "murmurhash-js/murmurhash3_gc";
|
87
|
+
|
88
|
+
// src/lib/utils.ts
|
89
|
+
var FINGERPRINT_KEYS = {
|
90
|
+
USERAGENT: "UserAgent",
|
91
|
+
SCREEN_PRINT: "ScreenPrint",
|
92
|
+
PLUGINS: "Plugins",
|
93
|
+
FONTS: "Fonts",
|
94
|
+
LOCAL_STORAGE: "LocalStorage",
|
95
|
+
SESSION_STORAGE: "SessionStorage",
|
96
|
+
TIMEZONE: "TimeZone",
|
97
|
+
LANGUAGE: "Language",
|
98
|
+
SYSTEM_LANGUAGE: "SystemLanguage",
|
99
|
+
COOKIE: "Cookie",
|
100
|
+
CANVAS: "Canvas",
|
101
|
+
HOSTNAME: "Hostname"
|
102
|
+
};
|
103
|
+
var getDisabledKeys2 = () => {
|
104
|
+
const DISABLED_KEYS = envHelper_default.getDisabledKeys() || "";
|
105
|
+
if (DISABLED_KEYS === "")
|
106
|
+
return [];
|
107
|
+
const allOptions = [
|
108
|
+
FINGERPRINT_KEYS.USERAGENT,
|
109
|
+
FINGERPRINT_KEYS.SCREEN_PRINT,
|
110
|
+
FINGERPRINT_KEYS.PLUGINS,
|
111
|
+
FINGERPRINT_KEYS.FONTS,
|
112
|
+
FINGERPRINT_KEYS.LOCAL_STORAGE,
|
113
|
+
FINGERPRINT_KEYS.SESSION_STORAGE,
|
114
|
+
FINGERPRINT_KEYS.TIMEZONE,
|
115
|
+
FINGERPRINT_KEYS.LANGUAGE,
|
116
|
+
FINGERPRINT_KEYS.SYSTEM_LANGUAGE,
|
117
|
+
FINGERPRINT_KEYS.COOKIE,
|
118
|
+
FINGERPRINT_KEYS.CANVAS,
|
119
|
+
FINGERPRINT_KEYS.HOSTNAME
|
120
|
+
];
|
121
|
+
const response = [];
|
122
|
+
DISABLED_KEYS.split("|").forEach((key) => {
|
123
|
+
if (key === "") {
|
124
|
+
console.log("test");
|
125
|
+
} else if (allOptions.includes(key))
|
126
|
+
response.push(key);
|
127
|
+
else
|
128
|
+
console.warn(
|
129
|
+
`react-secure-storage : ${key} is not present in the available disabled keys options! Please go through the documentation`
|
130
|
+
);
|
131
|
+
});
|
132
|
+
return response;
|
133
|
+
};
|
134
|
+
|
135
|
+
// src/lib/fingerpint.lib.ts
|
136
|
+
var ClientJS = class {
|
137
|
+
//
|
138
|
+
// MAIN METHODS
|
139
|
+
//
|
140
|
+
// Get Fingerprint. Return a 32-bit integer representing the browsers fingerprint.
|
141
|
+
getFingerprint() {
|
142
|
+
const bar = "|";
|
143
|
+
const disabledKeys = getDisabledKeys2();
|
144
|
+
let key = "";
|
145
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.USERAGENT)) {
|
146
|
+
key += navigator.userAgent + bar;
|
147
|
+
}
|
148
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.HOSTNAME)) {
|
149
|
+
key += window.location.hostname + bar;
|
150
|
+
}
|
151
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.SCREEN_PRINT)) {
|
152
|
+
key += this.getScreenPrint() + bar;
|
153
|
+
}
|
154
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.PLUGINS)) {
|
155
|
+
key += this.getPlugins() + bar;
|
156
|
+
}
|
157
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.FONTS)) {
|
158
|
+
key += this.getFonts() + bar;
|
159
|
+
}
|
160
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.LOCAL_STORAGE)) {
|
161
|
+
key += this.isLocalStorage() + bar;
|
162
|
+
}
|
163
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.SESSION_STORAGE)) {
|
164
|
+
key += this.isSessionStorage() + bar;
|
165
|
+
}
|
166
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.TIMEZONE)) {
|
167
|
+
key += this.getTimeZone() + bar;
|
168
|
+
}
|
169
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.LANGUAGE)) {
|
170
|
+
key += this.getLanguage() + bar;
|
171
|
+
}
|
172
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.SYSTEM_LANGUAGE)) {
|
173
|
+
key += this.getSystemLanguage() + bar;
|
174
|
+
}
|
175
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.COOKIE)) {
|
176
|
+
key += this.isCookie() + bar;
|
177
|
+
}
|
178
|
+
if (!disabledKeys.includes(FINGERPRINT_KEYS.CANVAS)) {
|
179
|
+
key += this.getCanvasPrint();
|
180
|
+
}
|
181
|
+
if (key.endsWith(bar))
|
182
|
+
key = key.substring(0, key.length - 1);
|
183
|
+
const seed = 256;
|
184
|
+
return murmurhash3_32_gc(key, seed);
|
185
|
+
}
|
186
|
+
//
|
187
|
+
// SCREEN METHODS
|
188
|
+
//
|
189
|
+
// Get Screen Print. Return a string containing screen information.
|
190
|
+
getScreenPrint() {
|
191
|
+
return "Color Depth: " + this.getColorDepth() + ", Device XDPI: " + this.getDeviceXDPI() + ", Device YDPI: " + this.getDeviceYDPI();
|
192
|
+
}
|
193
|
+
// Get Color Depth. Return a string containing the color depth.
|
194
|
+
getColorDepth() {
|
195
|
+
return window.screen.colorDepth;
|
196
|
+
}
|
197
|
+
// Get Current Resolution. Return a string containing the current resolution.
|
198
|
+
getCurrentResolution() {
|
199
|
+
return window.screen.width + "x" + window.screen.height;
|
200
|
+
}
|
201
|
+
// Get Available Resolution. Return a string containing the available resolution.
|
202
|
+
getAvailableResolution() {
|
203
|
+
return window.screen.availWidth + "x" + window.screen.availHeight;
|
204
|
+
}
|
205
|
+
// Get Device XPDI. Return a string containing the device XPDI.
|
206
|
+
getDeviceXDPI() {
|
207
|
+
return "";
|
208
|
+
}
|
209
|
+
// Get Device YDPI. Return a string containing the device YDPI.
|
210
|
+
getDeviceYDPI() {
|
211
|
+
return "";
|
212
|
+
}
|
213
|
+
//
|
214
|
+
// PLUGIN METHODS
|
215
|
+
//
|
216
|
+
// Get Plugins. Return a string containing a list of installed plugins.
|
217
|
+
getPlugins() {
|
218
|
+
let pluginsList = "";
|
219
|
+
for (let i = 0; i < navigator.plugins.length; i++) {
|
220
|
+
if (i === navigator.plugins.length - 1) {
|
221
|
+
pluginsList += navigator.plugins[i].name;
|
222
|
+
} else {
|
223
|
+
pluginsList += navigator.plugins[i].name + ", ";
|
224
|
+
}
|
225
|
+
}
|
226
|
+
return pluginsList;
|
227
|
+
}
|
228
|
+
//
|
229
|
+
// FONT METHODS
|
230
|
+
//
|
231
|
+
// Get Fonts. Return a string containing a list of installed fonts.
|
232
|
+
getFonts() {
|
233
|
+
const fontString = "";
|
234
|
+
return fontString;
|
235
|
+
}
|
236
|
+
//
|
237
|
+
// STORAGE METHODS
|
238
|
+
//
|
239
|
+
// Is Local Storage. Check if local storage is enabled.
|
240
|
+
isLocalStorage() {
|
241
|
+
try {
|
242
|
+
return !!localStorage;
|
243
|
+
} catch (e) {
|
244
|
+
return true;
|
245
|
+
}
|
246
|
+
}
|
247
|
+
// Is Session Storage. Check if session storage is enabled.
|
248
|
+
isSessionStorage() {
|
249
|
+
try {
|
250
|
+
return !!sessionStorage;
|
251
|
+
} catch (e) {
|
252
|
+
return true;
|
253
|
+
}
|
254
|
+
}
|
255
|
+
// Is Cookie. Check if cookies are enabled.
|
256
|
+
isCookie() {
|
257
|
+
return navigator.cookieEnabled;
|
258
|
+
}
|
259
|
+
//
|
260
|
+
// TIME METHODS
|
261
|
+
//
|
262
|
+
// Get Time Zone. Return a string containing the time zone.
|
263
|
+
getTimeZone() {
|
264
|
+
const rightNow = /* @__PURE__ */ new Date();
|
265
|
+
let myNumber, formattedNumber, result;
|
266
|
+
myNumber = String(-(rightNow.getTimezoneOffset() / 60));
|
267
|
+
if (myNumber < 0) {
|
268
|
+
myNumber = myNumber * -1;
|
269
|
+
formattedNumber = ("0" + myNumber).slice(-2);
|
270
|
+
result = "-" + formattedNumber;
|
271
|
+
} else {
|
272
|
+
formattedNumber = ("0" + myNumber).slice(-2);
|
273
|
+
result = "+" + formattedNumber;
|
274
|
+
}
|
275
|
+
return result;
|
276
|
+
}
|
277
|
+
//
|
278
|
+
// LANGUAGE METHODS
|
279
|
+
//
|
280
|
+
// Get Language. Return a string containing the user language.
|
281
|
+
getLanguage() {
|
282
|
+
return navigator.language;
|
283
|
+
}
|
284
|
+
// Get System Language. Return a string containing the system language.
|
285
|
+
getSystemLanguage() {
|
286
|
+
return navigator.language || window.navigator.language;
|
287
|
+
}
|
288
|
+
// Get Canvas Print. Return a string containing the canvas URI data.
|
289
|
+
getCanvasPrint() {
|
290
|
+
const canvas = document.createElement("canvas");
|
291
|
+
let ctx;
|
292
|
+
try {
|
293
|
+
ctx = canvas.getContext("2d");
|
294
|
+
} catch (e) {
|
295
|
+
return "";
|
296
|
+
}
|
297
|
+
const txt = "ClientJS,org <canvas> 1.0";
|
298
|
+
ctx.textBaseline = "top";
|
299
|
+
ctx.font = "14px 'Arial'";
|
300
|
+
ctx.textBaseline = "alphabetic";
|
301
|
+
ctx.fillStyle = "#f60";
|
302
|
+
ctx.fillRect(125, 1, 62, 20);
|
303
|
+
ctx.fillStyle = "#069";
|
304
|
+
ctx.fillText(txt, 2, 15);
|
305
|
+
ctx.fillStyle = "rgba(102, 204, 0, 0.7)";
|
306
|
+
ctx.fillText(txt, 4, 17);
|
307
|
+
return canvas.toDataURL();
|
308
|
+
}
|
309
|
+
};
|
310
|
+
var clientJS = new ClientJS();
|
311
|
+
var fingerpint_lib_default = clientJS;
|
312
|
+
|
313
|
+
// src/lib/fingerprint.ts
|
314
|
+
var HASH_KEY = "E86E2612010258B35137";
|
315
|
+
var getFingerprint = () => {
|
316
|
+
const HASH_KEY_CUSTOM = envHelper_default.getHashKey() || HASH_KEY;
|
317
|
+
if (typeof window === "undefined")
|
318
|
+
return HASH_KEY_CUSTOM;
|
319
|
+
return fingerpint_lib_default.getFingerprint() + HASH_KEY_CUSTOM;
|
320
|
+
};
|
321
|
+
var fingerprint_default = getFingerprint;
|
322
|
+
|
323
|
+
// src/utils/index.ts
|
38
324
|
var createRequest = (endpoint, task) => {
|
39
325
|
return `${endpoint}/visitor/v1/${task}`;
|
40
326
|
};
|
@@ -62,34 +348,31 @@ var startTracker = async (endpoint, url, referer, user_agent) => {
|
|
62
348
|
const queryString = window.location.search;
|
63
349
|
const urlParams = new URLSearchParams(queryString);
|
64
350
|
const ip = "";
|
65
|
-
const fpPromise = FingerprintJS.load({ monitoring: false });
|
66
351
|
try {
|
67
|
-
const
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
352
|
+
const fingerprint = fingerprint_default();
|
353
|
+
const attributes = [];
|
354
|
+
for (const key of urlParams.keys()) {
|
355
|
+
if (key.startsWith("utm_")) {
|
356
|
+
urlParams.get(key) && attributes.push({ name: key, value: urlParams.get(key) });
|
357
|
+
}
|
358
|
+
}
|
359
|
+
const responseStart = await trackerService(createRequestV2(endpoint, "start"), {
|
360
|
+
fingerprint,
|
361
|
+
url,
|
362
|
+
...referer && (referer !== url || document2.referrer) && {
|
363
|
+
referer: referer !== url ? referer : document2.referrer
|
364
|
+
},
|
365
|
+
user_agent,
|
366
|
+
ip,
|
367
|
+
browser_name,
|
368
|
+
browser_version,
|
369
|
+
lang,
|
370
|
+
device,
|
371
|
+
...attributes?.length && {
|
372
|
+
event_name: "visit",
|
373
|
+
event_type: "action",
|
374
|
+
attributes
|
74
375
|
}
|
75
|
-
return await trackerService(createRequestV2(endpoint, "start"), {
|
76
|
-
fingerprint,
|
77
|
-
url,
|
78
|
-
...referer && (referer !== url || document2.referrer) && {
|
79
|
-
referer: referer !== url ? referer : document2.referrer
|
80
|
-
},
|
81
|
-
user_agent,
|
82
|
-
ip,
|
83
|
-
browser_name,
|
84
|
-
browser_version,
|
85
|
-
lang,
|
86
|
-
device,
|
87
|
-
...attributes?.length && {
|
88
|
-
event_name: "visit",
|
89
|
-
event_type: "action",
|
90
|
-
attributes
|
91
|
-
}
|
92
|
-
});
|
93
376
|
});
|
94
377
|
if (window["aesirxTrackEcommerce"] === "true" && sessionStorage.getItem("aesirx-analytics-flow") !== (await responseStart)?.flow_uuid) {
|
95
378
|
sessionStorage.setItem("aesirx-analytics-flow", (await responseStart)?.flow_uuid);
|
@@ -118,31 +401,28 @@ var trackEvent = async (endpoint, referer, data) => {
|
|
118
401
|
const lang = window.navigator["userLanguage"] || window.navigator.language;
|
119
402
|
const device = browser?.platform?.model ?? browser?.platform?.type;
|
120
403
|
const ip = "";
|
121
|
-
const
|
122
|
-
const
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
);
|
144
|
-
return navigator.sendBeacon(createRequestV2(endpoint, "start"), blobData);
|
145
|
-
});
|
404
|
+
const fingerprint = fingerprint_default();
|
405
|
+
const headers = { type: "application/json" };
|
406
|
+
const blobData = new Blob(
|
407
|
+
[
|
408
|
+
JSON.stringify({
|
409
|
+
fingerprint,
|
410
|
+
url,
|
411
|
+
...referer !== "/" && referer && {
|
412
|
+
referer
|
413
|
+
},
|
414
|
+
user_agent,
|
415
|
+
ip,
|
416
|
+
browser_name,
|
417
|
+
browser_version,
|
418
|
+
lang,
|
419
|
+
device,
|
420
|
+
...data
|
421
|
+
})
|
422
|
+
],
|
423
|
+
headers
|
424
|
+
);
|
425
|
+
const responseStart = navigator.sendBeacon(createRequestV2(endpoint, "start"), blobData);
|
146
426
|
return responseStart;
|
147
427
|
};
|
148
428
|
var endTracker = (endPoint, event_uuid, visitor_uuid) => {
|
@@ -233,12 +513,13 @@ var handle_default = AnalyticsHandle;
|
|
233
513
|
|
234
514
|
// src/AnalyticsNext/index.tsx
|
235
515
|
import dynamic from "next/dynamic";
|
236
|
-
var ConsentComponent = dynamic(() => import("./Consent-
|
516
|
+
var ConsentComponent = dynamic(() => import("./Consent-HRGYMPE6.js"), { ssr: false });
|
237
517
|
var AnalyticsNext = ({ router, children }) => {
|
238
518
|
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
519
|
ConsentComponent,
|
240
520
|
{
|
241
521
|
endpoint: process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,
|
522
|
+
networkEnv: process.env.NEXT_PUBLIC_CONCORDIUM_NETWORK,
|
242
523
|
aesirXEndpoint: process.env.NEXT_PUBLIC_ENDPOINT_URL ?? "https://api.aesirx.io"
|
243
524
|
}
|
244
525
|
))));
|
@@ -285,12 +566,13 @@ var AnalyticsHandle2 = ({ location, history, children }) => {
|
|
285
566
|
var handle_default2 = AnalyticsHandle2;
|
286
567
|
|
287
568
|
// src/AnalyticsReact/index.tsx
|
288
|
-
var ConsentComponent2 = React4.lazy(() => import("./Consent-
|
569
|
+
var ConsentComponent2 = React4.lazy(() => import("./Consent-HRGYMPE6.js"));
|
289
570
|
var AnalyticsReact = ({ location, history, children }) => {
|
290
571
|
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
572
|
ConsentComponent2,
|
292
573
|
{
|
293
574
|
endpoint: process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,
|
575
|
+
networkEnv: process.env.REACT_APP_CONCORDIUM_NETWORK,
|
294
576
|
aesirXEndpoint: process.env.REACT_APP_ENDPOINT_URL ?? "https://api.aesirx.io"
|
295
577
|
}
|
296
578
|
))));
|
@@ -300,5 +582,6 @@ export {
|
|
300
582
|
AnalyticsContext,
|
301
583
|
AnalyticsNext_default as AnalyticsNext,
|
302
584
|
AnalyticsReact_default as AnalyticsReact,
|
585
|
+
fingerprint_default as getFingerprint,
|
303
586
|
trackEvent
|
304
587
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "aesirx-analytics",
|
3
|
-
"version": "2.2.
|
3
|
+
"version": "2.2.3",
|
4
4
|
"license": "GPL-3.0-only",
|
5
5
|
"author": "AesirX",
|
6
6
|
"repository": "https://gitlab.redweb.dk/aesirx/analytics",
|
@@ -9,20 +9,20 @@
|
|
9
9
|
"types": "dist/index.d.ts",
|
10
10
|
"type": "module",
|
11
11
|
"dependencies": {
|
12
|
-
"@concordium/browser-wallet-api-helpers": "^
|
13
|
-
"@concordium/react-components": "^0.
|
14
|
-
"@concordium/web-sdk": "^
|
15
|
-
"@fingerprintjs/fingerprintjs": "3.4.2",
|
12
|
+
"@concordium/browser-wallet-api-helpers": "^3.0.0",
|
13
|
+
"@concordium/react-components": "^0.4.0-rc.7",
|
14
|
+
"@concordium/web-sdk": "^7.0.4-rc.3",
|
16
15
|
"@web3modal/ethereum": "^2.7.0",
|
17
16
|
"@web3modal/react": "^2.7.0",
|
18
|
-
"aesirx-sso": "^1.4.
|
19
|
-
"axios": "^1.
|
17
|
+
"aesirx-sso": "^1.4.5",
|
18
|
+
"axios": "^1.6.0",
|
20
19
|
"bootstrap": "^5.3.2",
|
21
20
|
"bowser": "^2.11.0",
|
22
21
|
"buffer": "^6.0.3",
|
23
22
|
"ethers": "^6.6.5",
|
24
|
-
"i18next": "^23.
|
23
|
+
"i18next": "^23.6.0",
|
25
24
|
"i18next-browser-languagedetector": "^7.1.0",
|
25
|
+
"murmurhash-js": "^1.0.0",
|
26
26
|
"next": "^13.5.4",
|
27
27
|
"query-string": "^7.1.1",
|
28
28
|
"react": "^18.2.0",
|
@@ -67,9 +67,10 @@
|
|
67
67
|
"@babel/preset-typescript": "^7.23.0",
|
68
68
|
"@jest/globals": "^29.7.0",
|
69
69
|
"@types/jest": "^29.5.0",
|
70
|
+
"@types/murmurhash-js": "^1.0.3",
|
70
71
|
"@types/node": "^20.8.0",
|
71
72
|
"@types/react": "^18.2.21",
|
72
|
-
"@types/react-dom": "^18.2.
|
73
|
+
"@types/react-dom": "^18.2.14",
|
73
74
|
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
74
75
|
"@typescript-eslint/parser": "^5.57.0",
|
75
76
|
"@walletconnect/types": "^2.10.0",
|
@@ -78,7 +79,7 @@
|
|
78
79
|
"esbuild-sass-plugin": "^2.15.0",
|
79
80
|
"esbuild-scss-modules-plugin": "^1.1.1",
|
80
81
|
"eslint": "^8.48.0",
|
81
|
-
"eslint-plugin-react": "^7.
|
82
|
+
"eslint-plugin-react": "^7.33.2",
|
82
83
|
"jest": "^29.4.3",
|
83
84
|
"jest-environment-jsdom": "^29.4.3",
|
84
85
|
"node-fetch": "^3.3.1",
|