@deriv-com/analytics 1.38.5 → 1.38.6
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/browser/analytics.bundle.global.js +1 -1
- package/dist/browser/analytics.bundle.global.js.map +1 -1
- package/dist/browser/analytics.esm.mjs +2 -2
- package/dist/browser/analytics.esm.mjs.map +1 -1
- package/dist/chunk-CAKVOFLO.js +3 -0
- package/dist/chunk-CAKVOFLO.js.map +1 -0
- package/dist/chunk-UDVSKE3Y.mjs +3 -0
- package/dist/chunk-UDVSKE3Y.mjs.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.mjs +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/metafile-iife.json +1 -1
- package/dist/providers/growthbook/index.d.mts +1 -1
- package/dist/providers/growthbook/index.d.ts +1 -1
- package/dist/providers/rudderstack/index.js +1 -1
- package/dist/providers/rudderstack/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-KDJ46GSX.mjs +0 -3
- package/dist/chunk-KDJ46GSX.mjs.map +0 -1
- package/dist/chunk-NZ35MU4O.js +0 -3
- package/dist/chunk-NZ35MU4O.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkCAKVOFLO_js=require('./chunk-CAKVOFLO.js'),chunkNOEKD4DT_js=require('./chunk-NOEKD4DT.js'),chunkLKLVBL24_js=require('./chunk-LKLVBL24.js'),g=require('js-cookie');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var g__default=/*#__PURE__*/_interopDefault(g);/* @deriv-com/analytics - NPM Package - Built with tsup */
|
|
2
2
|
var E="cached_analytics_events",T="cached_analytics_page_views",B=(n,o)=>{try{let t=chunkNOEKD4DT_js.g(),i=g__default.default.get(E),a=i?JSON.parse(i):[];a.push({name:n,properties:o,timestamp:Date.now()});let p={expires:1};t&&(p.domain=t),g__default.default.set(E,JSON.stringify(a),p);}catch(t){console.warn("Analytics: Failed to cache event",t);}},W=(n,o)=>{try{let t=chunkNOEKD4DT_js.g(),i=g__default.default.get(T),a=i?JSON.parse(i):[];a.push({name:n,properties:o,timestamp:Date.now()});let p={expires:1};t&&(p.domain=t),g__default.default.set(T,JSON.stringify(a),p);}catch(t){console.warn("Analytics: Failed to cache page view",t);}},$=()=>{try{let n=g__default.default.get(E);if(n){let o=JSON.parse(n);return Array.isArray(o)?o:[]}}catch(n){console.warn("Analytics: Failed to get cached events",n);}return []},q=()=>{try{let n=g__default.default.get(T);if(n){let o=JSON.parse(n);return Array.isArray(o)?o:[]}}catch(n){console.warn("Analytics: Failed to get cached pages",n);}return []},M=()=>{let n=chunkNOEKD4DT_js.g(),o=n?{domain:n}:{};g__default.default.remove(E,o);},Q=()=>{let n=chunkNOEKD4DT_js.g(),o=n?{domain:n}:{};g__default.default.remove(T,o);};var w=n=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(n),b=null,X=async()=>{if(b)return b;let n=JSON.parse(g__default.default.get("website_status")||"{}")?.clients_country;return b=(async()=>{try{let o=await fetch(chunkNOEKD4DT_js.a).catch(()=>null);if(!o)return n||"";let t=await o.text().catch(()=>"");return t?Object.fromEntries(t.split(`
|
|
3
|
-
`).map(a=>a.split("=",2))).loc?.toLowerCase()||n||"":n||""}catch{return n||""}})(),b},k=n=>{if(n==null||typeof n!="object")return n;if(Array.isArray(n)){let t=n.map(k).filter(i=>i!=null);return t.length?t:void 0}let o={};return Object.entries(n).forEach(([t,i])=>{let a=k(i);a==null||a===""||typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length===0||Array.isArray(a)&&a.length===0||(o[t]=a);}),Object.keys(o).length?o:void 0},R=n=>{if(n==null||typeof n!="object"||Array.isArray(n))return n;let o={};return Object.entries(n).forEach(([t,i])=>{i&&typeof i=="object"&&!Array.isArray(i)?Object.assign(o,R(i)):o[t]=i;}),o};function ge(n){let o,t,i,a={},p={},v=[],C=[],G=false,Y=()=>{if(!G&&t?.has_initialized){G=true;try{let e=$();e.length>0&&(e.forEach(d=>{t?.track(d.name,d.properties);}),M());let c=q();c.length>0&&(c.forEach(d=>{t?.pageView(d.name,"Deriv App",h(),d.properties);}),Q());}catch(e){console.warn("Analytics: Failed to process cookie cache",e);}}},Z=()=>{Y(),C.forEach(({userId:e,traits:c})=>{e&&t?.identifyEvent(e,c);}),C=[];},ee=async({growthbookKey:e,growthbookDecryptionKey:c,rudderstackKey:d,growthbookOptions:s,posthogOptions:y})=>{var u,l;try{let f=s?.attributes?.country||(e?await X():void 0);if(d&&(t=
|
|
3
|
+
`).map(a=>a.split("=",2))).loc?.toLowerCase()||n||"":n||""}catch{return n||""}})(),b},k=n=>{if(n==null||typeof n!="object")return n;if(Array.isArray(n)){let t=n.map(k).filter(i=>i!=null);return t.length?t:void 0}let o={};return Object.entries(n).forEach(([t,i])=>{let a=k(i);a==null||a===""||typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length===0||Array.isArray(a)&&a.length===0||(o[t]=a);}),Object.keys(o).length?o:void 0},R=n=>{if(n==null||typeof n!="object"||Array.isArray(n))return n;let o={};return Object.entries(n).forEach(([t,i])=>{i&&typeof i=="object"&&!Array.isArray(i)?Object.assign(o,R(i)):o[t]=i;}),o};function ge(n){let o,t,i,a={},p={},v=[],C=[],G=false,Y=()=>{if(!G&&t?.has_initialized){G=true;try{let e=$();e.length>0&&(e.forEach(d=>{t?.track(d.name,d.properties);}),M());let c=q();c.length>0&&(c.forEach(d=>{t?.pageView(d.name,"Deriv App",h(),d.properties);}),Q());}catch(e){console.warn("Analytics: Failed to process cookie cache",e);}}},Z=()=>{Y(),C.forEach(({userId:e,traits:c})=>{e&&t?.identifyEvent(e,c);}),C=[];},ee=async({growthbookKey:e,growthbookDecryptionKey:c,rudderstackKey:d,growthbookOptions:s,posthogOptions:y})=>{var u,l;try{let f=s?.attributes?.country||(e?await X():void 0);if(d&&(t=chunkCAKVOFLO_js.a.getRudderStackInstance(d,Z)),s?.attributes&&Object.keys(s.attributes).length>0){let r=s.attributes,m=t?.getAnonymousId();a={...a,country:f,...r.user_language&&{user_language:r.user_language},...r.account_type&&{account_type:r.account_type},...r.app_id&&{app_id:r.app_id},...r.residence_country&&{residence_country:r.residence_country},...r.device_type&&{device_type:r.device_type},...r.url&&{url:r.url},...r.email_hash&&{email_hash:r.email_hash},...r.network_type&&{network_type:r.network_type},...r.network_rtt&&{network_rtt:r.network_rtt},...r.network_downlink&&{network_downlink:r.network_downlink},...r.account_currency&&{account_currency:r.account_currency},...r.account_mode&&{account_mode:r.account_mode},loggedIn:!!r.loggedIn,...r.user_id&&!w(r.user_id)&&{user_id:r.user_id},...m&&{anonymous_id:m}};}s??(s={}),s.attributes??(s.attributes={});let _=t?.getAnonymousId();if((u=s.attributes).id??(u.id=_),(l=s.attributes).country??(l.country=f),e){let{Growthbook:r}=await import('./providers/growthbook/index.js');o=r.getGrowthBookInstance(e,c,s);let m=setInterval(()=>{Object.keys(p).length>0?clearInterval(m):p=F("tracking-buttons-config",{});},1e3);}if(y){let{Posthog:r}=await import('./providers/posthog/index.js');i=r.getPosthogInstance(y);}}catch(f){console.warn("Analytics: Failed to initialize",f);}},te=({country:e,user_language:c,device_language:d,device_type:s,account_type:y,user_id:u,anonymous_id:l,app_id:f,utm_source:_,utm_medium:r,utm_campaign:m,is_authorised:le,residence_country:x,url:I,domain:fe,geo_location:D,loggedIn:P,network_downlink:N,network_rtt:j,network_type:J,account_currency:U,account_mode:K})=>{let O=u??h();if(o){let V={country:e,residence_country:x,user_language:c,device_language:d,device_type:s,utm_source:_,utm_medium:r,utm_campaign:m,is_authorised:le,url:I,domain:fe,loggedIn:P,...u&&!w(u)&&{user_id:u},anonymous_id:l};O&&(V.id=O,V.user_id=O),o.setAttributes(V);}a={...a,...e!==void 0&&{country:e},...D!==void 0&&{geo_location:D},...c!==void 0&&{user_language:c},...y!==void 0&&{account_type:y},...f!==void 0&&{app_id:f},...x!==void 0&&{residence_country:x},...s!==void 0&&{device_type:s},...I!==void 0&&{url:I},...P!==void 0&&{loggedIn:P},...N!==void 0&&{network_downlink:N},...j!==void 0&&{network_rtt:j},...J!==void 0&&{network_type:J},...u!==void 0&&!w(u)&&{user_id:u},...l!==void 0&&{anonymous_id:l},...U!==void 0&&{account_currency:U},...K!==void 0&&{account_mode:K}};},ne=e=>o?.getFeatureState(e)?.experimentResult?.name,F=(e,c)=>o?.getFeatureValue(e,c),oe=async()=>await o?.getStatus(),re=e=>o?.isOn(e),se=e=>o?.setUrl(e),h=()=>{let e=t?.getUserId()||"";return e&&!w(e)?e:""},ie=()=>t?.getAnonymousId()||"",ae=(e,c="Deriv App",d)=>{let s=h();t&&(t.has_initialized?t.pageView(e,c,s,d):W(e,{platform:c,...d}));},ce=(e,c)=>{let d=e||h();if(!d)return;let s=c?.rudderstack!==void 0||c?.posthog!==void 0,y=s?c?.rudderstack:c,u=s?c?.posthog:c;t&&(t.has_initialized?t.identifyEvent(d,y):C.some(l=>l.userId===d)||C.push({userId:d,traits:y})),i?.has_initialized&&i.identifyEvent(d,u);},de=()=>{t?.has_initialized&&t.reset(),i?.has_initialized&&i.reset();},ue=e=>"event_metadata"in e||"cta_information"in e||"error"in e,z={initialise:ee,setAttributes:te,identifyEvent:ce,getFeatureState:ne,getFeatureValue:F,getGrowthbookStatus:oe,isFeatureOn:re,setUrl:se,getId:h,getAnonymousId:ie,trackEvent:(e,c)=>{let d=h(),s={};if(ue(c)){let l=c;s={...l,event_metadata:{...a,...d&&!a.user_id&&{user_id:d},...l.event_metadata}};}else s={...a,...c,...d&&!a.user_id&&{user_id:d}};if(!(!(e in p)||p[e]))return;let u=t?.has_initialized;if(!navigator.onLine||!u)u?v.push({event:e,payload:s}):B(e,s);else {v.length>0&&(v.forEach(f=>{let _=k(f.payload);t?.track(f.event,_);}),v=[]);let l=k(s);t?.track(e,l);}if(i?.has_initialized){let l=R(s),f=k(l);i.capture(e,f);}},getInstances:()=>({ab:o,tracking:t,posthog:i}),pageView:ae,reset:de};return typeof window<"u"&&(window.AnalyticsInstance=z),z}var he=ge();Object.defineProperty(exports,"cacheTrackEvents",{enumerable:true,get:function(){return chunkLKLVBL24_js.a}});exports.Analytics=he;//# sourceMappingURL=index.js.map
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a}from'./chunk-
|
|
1
|
+
import {a}from'./chunk-UDVSKE3Y.mjs';import {g,a as a$1}from'./chunk-DNCZM4KN.mjs';export{a as cacheTrackEvents}from'./chunk-3LFZFQL4.mjs';import g$1 from'js-cookie';/* @deriv-com/analytics - NPM Package - Built with tsup */
|
|
2
2
|
var E="cached_analytics_events",T="cached_analytics_page_views",H=(n,o)=>{try{let t=g(),i=g$1.get(E),a=i?JSON.parse(i):[];a.push({name:n,properties:o,timestamp:Date.now()});let p={expires:1};t&&(p.domain=t),g$1.set(E,JSON.stringify(a),p);}catch(t){console.warn("Analytics: Failed to cache event",t);}},B=(n,o)=>{try{let t=g(),i=g$1.get(T),a=i?JSON.parse(i):[];a.push({name:n,properties:o,timestamp:Date.now()});let p={expires:1};t&&(p.domain=t),g$1.set(T,JSON.stringify(a),p);}catch(t){console.warn("Analytics: Failed to cache page view",t);}},W=()=>{try{let n=g$1.get(E);if(n){let o=JSON.parse(n);return Array.isArray(o)?o:[]}}catch(n){console.warn("Analytics: Failed to get cached events",n);}return []},$=()=>{try{let n=g$1.get(T);if(n){let o=JSON.parse(n);return Array.isArray(o)?o:[]}}catch(n){console.warn("Analytics: Failed to get cached pages",n);}return []},q=()=>{let n=g(),o=n?{domain:n}:{};g$1.remove(E,o);},M=()=>{let n=g(),o=n?{domain:n}:{};g$1.remove(T,o);};var w=n=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(n),b=null,Q=async()=>{if(b)return b;let n=JSON.parse(g$1.get("website_status")||"{}")?.clients_country;return b=(async()=>{try{let o=await fetch(a$1).catch(()=>null);if(!o)return n||"";let t=await o.text().catch(()=>"");return t?Object.fromEntries(t.split(`
|
|
3
3
|
`).map(a=>a.split("=",2))).loc?.toLowerCase()||n||"":n||""}catch{return n||""}})(),b},k=n=>{if(n==null||typeof n!="object")return n;if(Array.isArray(n)){let t=n.map(k).filter(i=>i!=null);return t.length?t:void 0}let o={};return Object.entries(n).forEach(([t,i])=>{let a=k(i);a==null||a===""||typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length===0||Array.isArray(a)&&a.length===0||(o[t]=a);}),Object.keys(o).length?o:void 0},S=n=>{if(n==null||typeof n!="object"||Array.isArray(n))return n;let o={};return Object.entries(n).forEach(([t,i])=>{i&&typeof i=="object"&&!Array.isArray(i)?Object.assign(o,S(i)):o[t]=i;}),o};function ye(n){let o,t,i,a$1={},p={},v=[],C=[],R=false,X=()=>{if(!R&&t?.has_initialized){R=true;try{let e=W();e.length>0&&(e.forEach(d=>{t?.track(d.name,d.properties);}),q());let c=$();c.length>0&&(c.forEach(d=>{t?.pageView(d.name,"Deriv App",h(),d.properties);}),M());}catch(e){console.warn("Analytics: Failed to process cookie cache",e);}}},Y=()=>{X(),C.forEach(({userId:e,traits:c})=>{e&&t?.identifyEvent(e,c);}),C=[];},Z=async({growthbookKey:e,growthbookDecryptionKey:c,rudderstackKey:d,growthbookOptions:s,posthogOptions:y})=>{var u,l;try{let f=s?.attributes?.country||(e?await Q():void 0);if(d&&(t=a.getRudderStackInstance(d,Y)),s?.attributes&&Object.keys(s.attributes).length>0){let r=s.attributes,m=t?.getAnonymousId();a$1={...a$1,country:f,...r.user_language&&{user_language:r.user_language},...r.account_type&&{account_type:r.account_type},...r.app_id&&{app_id:r.app_id},...r.residence_country&&{residence_country:r.residence_country},...r.device_type&&{device_type:r.device_type},...r.url&&{url:r.url},...r.email_hash&&{email_hash:r.email_hash},...r.network_type&&{network_type:r.network_type},...r.network_rtt&&{network_rtt:r.network_rtt},...r.network_downlink&&{network_downlink:r.network_downlink},...r.account_currency&&{account_currency:r.account_currency},...r.account_mode&&{account_mode:r.account_mode},loggedIn:!!r.loggedIn,...r.user_id&&!w(r.user_id)&&{user_id:r.user_id},...m&&{anonymous_id:m}};}s??(s={}),s.attributes??(s.attributes={});let _=t?.getAnonymousId();if((u=s.attributes).id??(u.id=_),(l=s.attributes).country??(l.country=f),e){let{Growthbook:r}=await import('./providers/growthbook/index.mjs');o=r.getGrowthBookInstance(e,c,s);let m=setInterval(()=>{Object.keys(p).length>0?clearInterval(m):p=G("tracking-buttons-config",{});},1e3);}if(y){let{Posthog:r}=await import('./providers/posthog/index.mjs');i=r.getPosthogInstance(y);}}catch(f){console.warn("Analytics: Failed to initialize",f);}},ee=({country:e,user_language:c,device_language:d,device_type:s,account_type:y,user_id:u,anonymous_id:l,app_id:f,utm_source:_,utm_medium:r,utm_campaign:m,is_authorised:ue,residence_country:x,url:I,domain:le,geo_location:z,loggedIn:P,network_downlink:D,network_rtt:N,network_type:j,account_currency:J,account_mode:U})=>{let O=u??h();if(o){let V={country:e,residence_country:x,user_language:c,device_language:d,device_type:s,utm_source:_,utm_medium:r,utm_campaign:m,is_authorised:ue,url:I,domain:le,loggedIn:P,...u&&!w(u)&&{user_id:u},anonymous_id:l};O&&(V.id=O,V.user_id=O),o.setAttributes(V);}a$1={...a$1,...e!==void 0&&{country:e},...z!==void 0&&{geo_location:z},...c!==void 0&&{user_language:c},...y!==void 0&&{account_type:y},...f!==void 0&&{app_id:f},...x!==void 0&&{residence_country:x},...s!==void 0&&{device_type:s},...I!==void 0&&{url:I},...P!==void 0&&{loggedIn:P},...D!==void 0&&{network_downlink:D},...N!==void 0&&{network_rtt:N},...j!==void 0&&{network_type:j},...u!==void 0&&!w(u)&&{user_id:u},...l!==void 0&&{anonymous_id:l},...J!==void 0&&{account_currency:J},...U!==void 0&&{account_mode:U}};},te=e=>o?.getFeatureState(e)?.experimentResult?.name,G=(e,c)=>o?.getFeatureValue(e,c),ne=async()=>await o?.getStatus(),oe=e=>o?.isOn(e),re=e=>o?.setUrl(e),h=()=>{let e=t?.getUserId()||"";return e&&!w(e)?e:""},se=()=>t?.getAnonymousId()||"",ie=(e,c="Deriv App",d)=>{let s=h();t&&(t.has_initialized?t.pageView(e,c,s,d):B(e,{platform:c,...d}));},ae=(e,c)=>{let d=e||h();if(!d)return;let s=c?.rudderstack!==void 0||c?.posthog!==void 0,y=s?c?.rudderstack:c,u=s?c?.posthog:c;t&&(t.has_initialized?t.identifyEvent(d,y):C.some(l=>l.userId===d)||C.push({userId:d,traits:y})),i?.has_initialized&&i.identifyEvent(d,u);},ce=()=>{t?.has_initialized&&t.reset(),i?.has_initialized&&i.reset();},de=e=>"event_metadata"in e||"cta_information"in e||"error"in e,F={initialise:Z,setAttributes:ee,identifyEvent:ae,getFeatureState:te,getFeatureValue:G,getGrowthbookStatus:ne,isFeatureOn:oe,setUrl:re,getId:h,getAnonymousId:se,trackEvent:(e,c)=>{let d=h(),s={};if(de(c)){let l=c;s={...l,event_metadata:{...a$1,...d&&!a$1.user_id&&{user_id:d},...l.event_metadata}};}else s={...a$1,...c,...d&&!a$1.user_id&&{user_id:d}};if(!(!(e in p)||p[e]))return;let u=t?.has_initialized;if(!navigator.onLine||!u)u?v.push({event:e,payload:s}):H(e,s);else {v.length>0&&(v.forEach(f=>{let _=k(f.payload);t?.track(f.event,_);}),v=[]);let l=k(s);t?.track(e,l);}if(i?.has_initialized){let l=S(s),f=k(l);i.capture(e,f);}},getInstances:()=>({ab:o,tracking:t,posthog:i}),pageView:ie,reset:ce};return typeof window<"u"&&(window.AnalyticsInstance=F),F}var ge=ye();export{ge as Analytics};//# sourceMappingURL=index.mjs.map
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
package/dist/metafile-cjs.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"node_modules/tsup/assets/cjs_shims.js":{"bytes":569,"imports":[],"format":"esm"},"src/utils/urls.ts":{"bytes":730,"imports":[{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/providers/rudderstack.ts":{"bytes":
|
|
1
|
+
{"inputs":{"node_modules/tsup/assets/cjs_shims.js":{"bytes":569,"imports":[],"format":"esm"},"src/utils/urls.ts":{"bytes":730,"imports":[{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/providers/rudderstack.ts":{"bytes":7891,"imports":[{"path":"@rudderstack/analytics-js","kind":"import-statement","external":true},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"},{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/utils/cookie.ts":{"bytes":2956,"imports":[{"path":"js-cookie","kind":"import-statement","external":true},{"path":"src/utils/urls.ts","kind":"import-statement","original":"./urls"},{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/utils/helpers.ts":{"bytes":4070,"imports":[{"path":"js-cookie","kind":"import-statement","external":true},{"path":"src/utils/urls.ts","kind":"import-statement","original":"./urls"},{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/providers/growthbook.ts":{"bytes":6572,"imports":[{"path":"@growthbook/growthbook","kind":"import-statement","external":true},{"path":"@rudderstack/analytics-js","kind":"import-statement","external":true},{"path":"./growthbookTypes","kind":"import-statement","external":true},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"},{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/providers/posthog.ts":{"bytes":5190,"imports":[{"path":"posthog-js","kind":"import-statement","external":true},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"},{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/analytics.ts":{"bytes":20464,"imports":[{"path":"src/providers/rudderstack.ts","kind":"import-statement","original":"./providers/rudderstack"},{"path":"src/utils/cookie.ts","kind":"import-statement","original":"./utils/cookie"},{"path":"src/utils/helpers.ts","kind":"import-statement","original":"./utils/helpers"},{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true},{"path":"src/providers/growthbook.ts","kind":"dynamic-import","original":"./providers/growthbook"},{"path":"src/providers/posthog.ts","kind":"dynamic-import","original":"./providers/posthog"}],"format":"esm"},"src/utils/analytics-cache.ts":{"bytes":14873,"imports":[{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":138,"imports":[{"path":"src/analytics.ts","kind":"import-statement","original":"./analytics"},{"path":"src/utils/analytics-cache.ts","kind":"import-statement","original":"./utils/analytics-cache"},{"path":"/home/runner/work/deriv-analytics/deriv-analytics/node_modules/tsup/assets/cjs_shims.js","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":39388},"dist/index.js":{"imports":[{"path":"dist/chunk-CAKVOFLO.js","kind":"import-statement"},{"path":"dist/chunk-NOEKD4DT.js","kind":"import-statement"},{"path":"dist/chunk-LKLVBL24.js","kind":"import-statement"},{"path":"js-cookie","kind":"import-statement","external":true},{"path":"js-cookie","kind":"import-statement","external":true},{"path":"dist/providers/growthbook/index.js","kind":"dynamic-import"},{"path":"dist/providers/posthog/index.js","kind":"dynamic-import"}],"exports":["Analytics","cacheTrackEvents"],"entryPoint":"src/index.ts","inputs":{"src/utils/cookie.ts":{"bytesInOutput":972},"src/utils/helpers.ts":{"bytesInOutput":985},"src/analytics.ts":{"bytesInOutput":4503},"src/index.ts":{"bytesInOutput":0}},"bytes":6695},"dist/providers/growthbook/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":10284},"dist/providers/growthbook/index.js":{"imports":[{"path":"dist/chunk-NOEKD4DT.js","kind":"import-statement"},{"path":"@growthbook/growthbook","kind":"import-statement","external":true},{"path":"@rudderstack/analytics-js","kind":"import-statement","external":true}],"exports":["Growthbook"],"entryPoint":"src/providers/growthbook.ts","inputs":{"src/providers/growthbook.ts":{"bytesInOutput":2835}},"bytes":2963},"dist/providers/rudderstack/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/providers/rudderstack/index.js":{"imports":[{"path":"dist/chunk-CAKVOFLO.js","kind":"import-statement"},{"path":"dist/chunk-NOEKD4DT.js","kind":"import-statement"}],"exports":["RudderStack"],"entryPoint":"src/providers/rudderstack.ts","inputs":{},"bytes":156},"dist/chunk-CAKVOFLO.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":11089},"dist/chunk-CAKVOFLO.js":{"imports":[{"path":"dist/chunk-NOEKD4DT.js","kind":"import-statement"},{"path":"@rudderstack/analytics-js","kind":"import-statement","external":true}],"exports":["a"],"inputs":{"src/providers/rudderstack.ts":{"bytesInOutput":2629}},"bytes":2739},"dist/providers/posthog/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":7199},"dist/providers/posthog/index.js":{"imports":[{"path":"dist/chunk-NOEKD4DT.js","kind":"import-statement"},{"path":"posthog-js","kind":"import-statement","external":true}],"exports":["Posthog"],"entryPoint":"src/providers/posthog.ts","inputs":{"src/providers/posthog.ts":{"bytesInOutput":1381}},"bytes":1515},"dist/chunk-NOEKD4DT.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1338},"dist/chunk-NOEKD4DT.js":{"imports":[],"exports":["a","b","c","d","e","f","g"],"inputs":{"src/utils/urls.ts":{"bytesInOutput":396}},"bytes":513},"dist/utils/analytics-cache/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/utils/analytics-cache/index.js":{"imports":[{"path":"dist/chunk-LKLVBL24.js","kind":"import-statement"}],"exports":["cacheTrackEvents"],"entryPoint":"src/utils/analytics-cache.ts","inputs":{},"bytes":129},"dist/chunk-LKLVBL24.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":21937},"dist/chunk-LKLVBL24.js":{"imports":[],"exports":["a"],"inputs":{"src/utils/analytics-cache.ts":{"bytesInOutput":4793}},"bytes":4868}}}
|
package/dist/metafile-esm.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs":{"bytes":263304,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/urls.ts":{"bytes":730,"imports":[],"format":"esm"},"src/providers/rudderstack.ts":{"bytes":
|
|
1
|
+
{"inputs":{"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs":{"bytes":263304,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/urls.ts":{"bytes":730,"imports":[],"format":"esm"},"src/providers/rudderstack.ts":{"bytes":7891,"imports":[{"path":"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs","kind":"import-statement","original":"@rudderstack/analytics-js"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"}],"format":"esm"},"node_modules/js-cookie/dist/js.cookie.mjs":{"bytes":3475,"imports":[],"format":"esm"},"src/utils/cookie.ts":{"bytes":2956,"imports":[{"path":"node_modules/js-cookie/dist/js.cookie.mjs","kind":"import-statement","original":"js-cookie"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"./urls"}],"format":"esm"},"src/utils/helpers.ts":{"bytes":4070,"imports":[{"path":"node_modules/js-cookie/dist/js.cookie.mjs","kind":"import-statement","original":"js-cookie"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"./urls"}],"format":"esm"},"src/providers/growthbook.ts":{"bytes":6572,"imports":[{"path":"@growthbook/growthbook","kind":"import-statement","external":true},{"path":"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs","kind":"import-statement","original":"@rudderstack/analytics-js"},{"path":"./growthbookTypes","kind":"import-statement","external":true},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"}],"format":"esm"},"node_modules/posthog-js/dist/module.js":{"bytes":177040,"imports":[],"format":"esm"},"src/providers/posthog.ts":{"bytes":5190,"imports":[{"path":"node_modules/posthog-js/dist/module.js","kind":"import-statement","original":"posthog-js"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"}],"format":"esm"},"src/analytics.ts":{"bytes":20464,"imports":[{"path":"src/providers/rudderstack.ts","kind":"import-statement","original":"./providers/rudderstack"},{"path":"src/utils/cookie.ts","kind":"import-statement","original":"./utils/cookie"},{"path":"src/utils/helpers.ts","kind":"import-statement","original":"./utils/helpers"},{"path":"src/providers/growthbook.ts","kind":"dynamic-import","original":"./providers/growthbook"},{"path":"src/providers/posthog.ts","kind":"dynamic-import","original":"./providers/posthog"}],"format":"esm"},"src/utils/analytics-cache.ts":{"bytes":14873,"imports":[],"format":"esm"},"src/index.ts":{"bytes":138,"imports":[{"path":"src/analytics.ts","kind":"import-statement","original":"./analytics"},{"path":"src/utils/analytics-cache.ts","kind":"import-statement","original":"./utils/analytics-cache"}],"format":"esm"}},"outputs":{"dist/browser/analytics.esm.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":77916},"dist/browser/analytics.esm.mjs":{"imports":[{"path":"dist/chunk-EMF3RT6E.mjs","kind":"import-statement"},{"path":"dist/chunk-HQX3Z7PF.mjs","kind":"import-statement"},{"path":"dist/growthbook-NJGOOJH4.mjs","kind":"dynamic-import"},{"path":"dist/posthog-HKTZY3SM.mjs","kind":"dynamic-import"}],"exports":["Analytics","cacheTrackEvents"],"entryPoint":"src/index.ts","inputs":{"src/providers/rudderstack.ts":{"bytesInOutput":2572},"node_modules/js-cookie/dist/js.cookie.mjs":{"bytesInOutput":1375},"src/utils/cookie.ts":{"bytesInOutput":953},"src/utils/helpers.ts":{"bytesInOutput":959},"src/analytics.ts":{"bytesInOutput":4496},"src/index.ts":{"bytesInOutput":0},"src/utils/analytics-cache.ts":{"bytesInOutput":4793}},"bytes":15483},"dist/growthbook-NJGOOJH4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10234},"dist/growthbook-NJGOOJH4.mjs":{"imports":[{"path":"dist/chunk-EMF3RT6E.mjs","kind":"import-statement"},{"path":"dist/chunk-HQX3Z7PF.mjs","kind":"import-statement"},{"path":"@growthbook/growthbook","kind":"import-statement","external":true}],"exports":["Growthbook"],"entryPoint":"src/providers/growthbook.ts","inputs":{"src/providers/growthbook.ts":{"bytesInOutput":2775}},"bytes":2972},"dist/chunk-EMF3RT6E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":423192},"dist/chunk-EMF3RT6E.mjs":{"imports":[{"path":"dist/chunk-HQX3Z7PF.mjs","kind":"import-statement"}],"exports":["a"],"inputs":{"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs":{"bytesInOutput":112434}},"bytes":112582},"dist/posthog-HKTZY3SM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1026166},"dist/posthog-HKTZY3SM.mjs":{"imports":[{"path":"dist/chunk-HQX3Z7PF.mjs","kind":"import-statement"}],"exports":["Posthog"],"entryPoint":"src/providers/posthog.ts","inputs":{"node_modules/posthog-js/dist/module.js":{"bytesInOutput":174141},"src/providers/posthog.ts":{"bytesInOutput":1375}},"bytes":175687},"dist/chunk-HQX3Z7PF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1339},"dist/chunk-HQX3Z7PF.mjs":{"imports":[],"exports":["a","b","c","d","e","f","g","h"],"inputs":{"src/utils/urls.ts":{"bytesInOutput":396}},"bytes":715}}}
|
package/dist/metafile-iife.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs":{"bytes":263304,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/urls.ts":{"bytes":730,"imports":[],"format":"esm"},"src/providers/rudderstack.ts":{"bytes":
|
|
1
|
+
{"inputs":{"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs":{"bytes":263304,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/urls.ts":{"bytes":730,"imports":[],"format":"esm"},"src/providers/rudderstack.ts":{"bytes":7891,"imports":[{"path":"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs","kind":"import-statement","original":"@rudderstack/analytics-js"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"}],"format":"esm"},"node_modules/js-cookie/dist/js.cookie.mjs":{"bytes":3475,"imports":[],"format":"esm"},"src/utils/cookie.ts":{"bytes":2956,"imports":[{"path":"node_modules/js-cookie/dist/js.cookie.mjs","kind":"import-statement","original":"js-cookie"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"./urls"}],"format":"esm"},"src/utils/helpers.ts":{"bytes":4070,"imports":[{"path":"node_modules/js-cookie/dist/js.cookie.mjs","kind":"import-statement","original":"js-cookie"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"./urls"}],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/util.mjs":{"bytes":9941,"imports":[],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/feature-repository.mjs":{"bytes":13664,"imports":[{"path":"node_modules/@growthbook/growthbook/dist/esm/util.mjs","kind":"import-statement","original":"./util.mjs"}],"format":"esm"},"node_modules/dom-mutator/dist/dom-mutator.esm.js":{"bytes":14835,"imports":[],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/mongrule.mjs":{"bytes":7849,"imports":[{"path":"node_modules/@growthbook/growthbook/dist/esm/util.mjs","kind":"import-statement","original":"./util.mjs"}],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/core.mjs":{"bytes":30540,"imports":[{"path":"node_modules/@growthbook/growthbook/dist/esm/mongrule.mjs","kind":"import-statement","original":"./mongrule.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/util.mjs","kind":"import-statement","original":"./util.mjs"}],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/GrowthBook.mjs":{"bytes":26103,"imports":[{"path":"node_modules/dom-mutator/dist/dom-mutator.esm.js","kind":"import-statement","original":"dom-mutator"},{"path":"node_modules/@growthbook/growthbook/dist/esm/util.mjs","kind":"import-statement","original":"./util.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/feature-repository.mjs","kind":"import-statement","original":"./feature-repository.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/core.mjs","kind":"import-statement","original":"./core.mjs"}],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/GrowthBookClient.mjs":{"bytes":8903,"imports":[{"path":"node_modules/@growthbook/growthbook/dist/esm/util.mjs","kind":"import-statement","original":"./util.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/feature-repository.mjs","kind":"import-statement","original":"./feature-repository.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/core.mjs","kind":"import-statement","original":"./core.mjs"}],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/sticky-bucket-service.mjs":{"bytes":6878,"imports":[{"path":"node_modules/@growthbook/growthbook/dist/esm/util.mjs","kind":"import-statement","original":"./util.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/core.mjs","kind":"import-statement","original":"./core.mjs"}],"format":"esm"},"node_modules/@growthbook/growthbook/dist/esm/index.mjs":{"bytes":789,"imports":[{"path":"node_modules/@growthbook/growthbook/dist/esm/feature-repository.mjs","kind":"import-statement","original":"./feature-repository.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/GrowthBook.mjs","kind":"import-statement","original":"./GrowthBook.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/GrowthBookClient.mjs","kind":"import-statement","original":"./GrowthBookClient.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/sticky-bucket-service.mjs","kind":"import-statement","original":"./sticky-bucket-service.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/mongrule.mjs","kind":"import-statement","original":"./mongrule.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/util.mjs","kind":"import-statement","original":"./util.mjs"},{"path":"node_modules/@growthbook/growthbook/dist/esm/core.mjs","kind":"import-statement","original":"./core.mjs"}],"format":"esm"},"src/providers/growthbook.ts":{"bytes":6572,"imports":[{"path":"node_modules/@growthbook/growthbook/dist/esm/index.mjs","kind":"import-statement","original":"@growthbook/growthbook"},{"path":"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs","kind":"import-statement","original":"@rudderstack/analytics-js"},{"path":"./growthbookTypes","kind":"import-statement","external":true},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"}],"format":"esm"},"node_modules/posthog-js/dist/module.js":{"bytes":177040,"imports":[],"format":"esm"},"src/providers/posthog.ts":{"bytes":5190,"imports":[{"path":"node_modules/posthog-js/dist/module.js","kind":"import-statement","original":"posthog-js"},{"path":"src/utils/urls.ts","kind":"import-statement","original":"../utils/urls"}],"format":"esm"},"src/analytics.ts":{"bytes":20464,"imports":[{"path":"src/providers/rudderstack.ts","kind":"import-statement","original":"./providers/rudderstack"},{"path":"src/utils/cookie.ts","kind":"import-statement","original":"./utils/cookie"},{"path":"src/utils/helpers.ts","kind":"import-statement","original":"./utils/helpers"},{"path":"src/providers/growthbook.ts","kind":"dynamic-import","original":"./providers/growthbook"},{"path":"src/providers/posthog.ts","kind":"dynamic-import","original":"./providers/posthog"}],"format":"esm"},"src/utils/analytics-cache.ts":{"bytes":14873,"imports":[],"format":"esm"},"src/index.ts":{"bytes":138,"imports":[{"path":"src/analytics.ts","kind":"import-statement","original":"./analytics"},{"path":"src/utils/analytics-cache.ts","kind":"import-statement","original":"./utils/analytics-cache"}],"format":"esm"}},"outputs":{"dist/browser/analytics.bundle.global.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1742872},"dist/browser/analytics.bundle.global.js":{"imports":[],"exports":[],"entryPoint":"src/index.ts","inputs":{"node_modules/@rudderstack/analytics-js/dist/npm/modern/esm/index.mjs":{"bytesInOutput":114110},"src/utils/urls.ts":{"bytesInOutput":451},"node_modules/@growthbook/growthbook/dist/esm/util.mjs":{"bytesInOutput":3635},"node_modules/@growthbook/growthbook/dist/esm/feature-repository.mjs":{"bytesInOutput":5508},"node_modules/dom-mutator/dist/dom-mutator.esm.js":{"bytesInOutput":6145},"node_modules/@growthbook/growthbook/dist/esm/mongrule.mjs":{"bytesInOutput":2996},"node_modules/@growthbook/growthbook/dist/esm/core.mjs":{"bytesInOutput":10937},"node_modules/@growthbook/growthbook/dist/esm/GrowthBook.mjs":{"bytesInOutput":14677},"node_modules/@growthbook/growthbook/dist/esm/index.mjs":{"bytesInOutput":35},"src/providers/growthbook.ts":{"bytesInOutput":2820},"node_modules/posthog-js/dist/module.js":{"bytesInOutput":175297},"src/providers/posthog.ts":{"bytesInOutput":1447},"src/index.ts":{"bytesInOutput":60},"src/providers/rudderstack.ts":{"bytesInOutput":2592},"node_modules/js-cookie/dist/js.cookie.mjs":{"bytesInOutput":1385},"src/utils/cookie.ts":{"bytesInOutput":980},"src/utils/helpers.ts":{"bytesInOutput":977},"src/analytics.ts":{"bytesInOutput":4584},"src/utils/analytics-cache.ts":{"bytesInOutput":4798}},"bytes":354284}}}
|
|
@@ -62,7 +62,7 @@ declare class Growthbook {
|
|
|
62
62
|
isLoaded: boolean;
|
|
63
63
|
status: void | InitResponse;
|
|
64
64
|
}>;
|
|
65
|
-
getFeatureState: (id: string) => _growthbook_growthbook.FeatureResult<string | boolean |
|
|
65
|
+
getFeatureState: (id: string) => _growthbook_growthbook.FeatureResult<string | boolean | Record<string, boolean> | [] | null>;
|
|
66
66
|
setUrl: (href: string) => Promise<void>;
|
|
67
67
|
isOn: (key: string) => boolean;
|
|
68
68
|
init: () => Promise<void>;
|
|
@@ -62,7 +62,7 @@ declare class Growthbook {
|
|
|
62
62
|
isLoaded: boolean;
|
|
63
63
|
status: void | InitResponse;
|
|
64
64
|
}>;
|
|
65
|
-
getFeatureState: (id: string) => _growthbook_growthbook.FeatureResult<string | boolean |
|
|
65
|
+
getFeatureState: (id: string) => _growthbook_growthbook.FeatureResult<string | boolean | Record<string, boolean> | [] | null>;
|
|
66
66
|
setUrl: (href: string) => Promise<void>;
|
|
67
67
|
isOn: (key: string) => boolean;
|
|
68
68
|
init: () => Promise<void>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkCAKVOFLO_js=require('../../chunk-CAKVOFLO.js');require('../../chunk-NOEKD4DT.js');Object.defineProperty(exports,"RudderStack",{enumerable:true,get:function(){return chunkCAKVOFLO_js.a}});//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as RudderStack}from'../../chunk-
|
|
1
|
+
export{a as RudderStack}from'../../chunk-UDVSKE3Y.mjs';import'../../chunk-DNCZM4KN.mjs';//# sourceMappingURL=index.mjs.map
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deriv-com/analytics",
|
|
3
|
-
"version": "1.38.
|
|
3
|
+
"version": "1.38.6",
|
|
4
4
|
"description": "Comprehensive analytics package for Deriv applications. Provides unified event tracking, A/B testing, and user analytics through RudderStack, PostHog and GrowthBook integrations with built-in caching and offline support.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"rudderstack",
|
package/dist/chunk-KDJ46GSX.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import {c}from'./chunk-DNCZM4KN.mjs';import {RudderAnalytics}from'@rudderstack/analytics-js';/* @deriv-com/analytics - NPM Package - Built with tsup */
|
|
2
|
-
var k=2*365*24*60*60,o=class o{constructor(e,t){this.analytics=new RudderAnalytics;this.has_identified=false;this.has_initialized=false;this.current_page="";this.rudderstack_anonymous_cookie_key="rudder_anonymous_id";this.getAnonymousId=()=>document.cookie.match("(^|;)\\s*"+this.rudderstack_anonymous_cookie_key+"\\s*=\\s*([^;]+)")?.pop();this.setCookieIfNotExists=()=>{if(!this.getAnonymousId())try{let t=window.location.hostname,r=["webflow.io"].some(i=>t.endsWith(i))?t:t.split(".").slice(-2).join("."),d;if(crypto?.randomUUID)d=crypto.randomUUID();else if(crypto?.getRandomValues){let i=new Uint8Array(16);crypto.getRandomValues(i),i[6]=i[6]&15|64,i[8]=i[8]&63|128;let s=Array.from(i,h=>h.toString(16).padStart(2,"0")).join("");d=`${s.slice(0,8)}-${s.slice(8,12)}-${s.slice(12,16)}-${s.slice(16,20)}-${s.slice(20)}`;}else throw new Error("Crypto API not available for secure random UUID generation");let u=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${this.rudderstack_anonymous_cookie_key}=${d}; path=/; Domain=${r}; max-age=${k}; SameSite=Lax${u}`;}catch(t){console.warn("RudderStack: Failed to set anonymous ID cookie",t);}};this.getUserId=()=>this.analytics.getUserId();this.init=e=>{if(!e){console.warn("RudderStack: Initialization skipped - no key provided");return}try{this.setCookieIfNotExists(),this.analytics.load(e,c,{externalAnonymousIdCookieName:this.rudderstack_anonymous_cookie_key,useBeacon:!0,lockIntegrationsVersion:!0,onLoaded:()=>{this.has_initialized=!0,this.has_identified=!!this.getUserId(),this.onLoadedCallback?.();}});}catch(t){console.error("RudderStack: Failed to initialize",t);}};this.identifyEvent=(e,t)=>{if(!this.has_initialized){console.warn("RudderStack: Cannot identify - not initialized");return}if(this.getUserId())this.has_identified=true;else try{this.analytics.identify(e,t||{}),this.has_identified=!0;}catch(a){console.error("RudderStack: Failed to identify user",a);}};this.pageView=(e,t="Deriv App",n,a)=>{if(!(!this.has_initialized||e===this.current_page))try{let r={...n&&{user_id:n},...a};this.analytics.page(t,e,r),this.current_page=e;}catch(r){console.error("RudderStack: Failed to track page view",r);}};this.reset=()=>{if(this.has_initialized)try{this.analytics.reset(),this.has_identified=!1;}catch(e){console.error("RudderStack: Failed to reset",e);}};this.track=(e,t)=>{if(this.has_initialized)try{this.analytics.track(e,t);}catch(n){console.warn("RudderStack: Failed to track event",n);}};this.onLoadedCallback=t,this.init(e);}};o.getRudderStackInstance=(e,t)=>(o._instance||(o._instance=new o(e,t)),o._instance);var l=o;export{l as a};//# sourceMappingURL=chunk-KDJ46GSX.mjs.map
|
|
3
|
-
//# sourceMappingURL=chunk-KDJ46GSX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/rudderstack.ts"],"names":["COOKIE_MAX_AGE_SECONDS","_RudderStack","RUDDERSTACK_KEY","onLoaded","RudderAnalytics","hostname","domain_name","domain","uuid","bytes","hex","byte","secureFlag","error","rudderstackDataplane","user_id","payload","current_page","platform","properties","pageProperties","event","err","RudderStack"],"mappings":"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","file":"chunk-KDJ46GSX.mjs","sourcesContent":["import { RudderAnalytics } from '@rudderstack/analytics-js'\nimport type { TCoreAttributes, TAllEvents } from '../types'\nimport { rudderstackDataplane } from '../utils/urls'\n\n// Constants\nconst COOKIE_MAX_AGE_SECONDS = 2 * 365 * 24 * 60 * 60 // 2 years\n\n/**\n * RudderStack analytics wrapper with singleton pattern.\n * Handles user tracking, page views, and event analytics.\n */\nexport class RudderStack {\n analytics = new RudderAnalytics()\n has_identified = false\n has_initialized = false\n current_page = ''\n rudderstack_anonymous_cookie_key = 'rudder_anonymous_id'\n private static _instance: RudderStack\n private onLoadedCallback?: () => void\n\n constructor(RUDDERSTACK_KEY: string, onLoaded?: () => void) {\n this.onLoadedCallback = onLoaded\n this.init(RUDDERSTACK_KEY)\n }\n\n /**\n * Get or create the singleton instance of RudderStack\n * @param RUDDERSTACK_KEY - RudderStack write key\n * @param onLoaded - Optional callback when RudderStack is loaded\n * @returns The RudderStack singleton instance\n */\n public static getRudderStackInstance = (RUDDERSTACK_KEY: string, onLoaded?: () => void): RudderStack => {\n if (!RudderStack._instance) {\n RudderStack._instance = new RudderStack(RUDDERSTACK_KEY, onLoaded)\n }\n return RudderStack._instance\n }\n\n /**\n * Get the anonymous ID from cookies\n * @returns The anonymous ID or undefined if not found\n */\n getAnonymousId = (): string | undefined => {\n return document.cookie.match('(^|;)\\\\s*' + this.rudderstack_anonymous_cookie_key + '\\\\s*=\\\\s*([^;]+)')?.pop()\n }\n\n /**\n * Set anonymous ID cookie if it doesn't exist\n * Creates a secure cookie with proper domain and security attributes\n */\n setCookieIfNotExists = (): void => {\n const anonymous_id = this.getAnonymousId()\n\n if (!anonymous_id) {\n try {\n const hostname = window.location.hostname\n const external_domains = ['webflow.io']\n const is_external_domain = external_domains.some(domain => hostname.endsWith(domain))\n const domain_name = is_external_domain ? hostname : hostname.split('.').slice(-2).join('.')\n\n // Generate cryptographically secure UUID\n let uuid: string\n if (crypto?.randomUUID) {\n uuid = crypto.randomUUID()\n } else if (crypto?.getRandomValues) {\n // Fallback: Generate UUID v4 using crypto.getRandomValues\n const bytes = new Uint8Array(16)\n crypto.getRandomValues(bytes)\n // Set version (4) and variant bits\n bytes[6] = (bytes[6]! & 0x0f) | 0x40\n bytes[8] = (bytes[8]! & 0x3f) | 0x80\n // Convert to UUID string format\n const hex = Array.from(bytes, byte => byte.toString(16).padStart(2, '0')).join('')\n uuid = `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`\n } else {\n // Crypto API not available - this should not happen in modern browsers\n throw new Error('Crypto API not available for secure random UUID generation')\n }\n\n const isSecure = window.location.protocol === 'https:'\n const secureFlag = isSecure ? '; Secure' : ''\n\n document.cookie = `${this.rudderstack_anonymous_cookie_key}=${uuid}; path=/; Domain=${domain_name}; max-age=${COOKIE_MAX_AGE_SECONDS}; SameSite=Lax${secureFlag}`\n } catch (error) {\n console.warn('RudderStack: Failed to set anonymous ID cookie', error)\n }\n }\n }\n\n /**\n * Get the current user ID\n * @returns The user ID, null, or undefined if not identified\n */\n getUserId = () => this.analytics.getUserId()\n\n /**\n * Initialize RudderStack with the provided key\n * @param RUDDERSTACK_KEY - RudderStack write key\n */\n init = (RUDDERSTACK_KEY: string): void => {\n if (!RUDDERSTACK_KEY) {\n console.warn('RudderStack: Initialization skipped - no key provided')\n return\n }\n\n try {\n this.setCookieIfNotExists()\n\n this.analytics.load(RUDDERSTACK_KEY, rudderstackDataplane, {\n externalAnonymousIdCookieName: this.rudderstack_anonymous_cookie_key,\n // Performance optimizations\n useBeacon: true,\n lockIntegrationsVersion: true,\n onLoaded: () => {\n this.has_initialized = true\n this.has_identified = !!this.getUserId()\n this.onLoadedCallback?.()\n },\n })\n } catch (error) {\n console.error('RudderStack: Failed to initialize', error)\n }\n }\n\n /**\n * Identify a user with RudderStack\n * Only identifies if user hasn't been identified yet\n * @param user_id - The user ID to identify\n * @param payload - Optional user traits (e.g., language, custom properties)\n */\n identifyEvent = (user_id: string, payload?: Record<string, any>): void => {\n if (!this.has_initialized) {\n console.warn('RudderStack: Cannot identify - not initialized')\n return\n }\n\n const currentUserId = this.getUserId()\n if (!currentUserId) {\n try {\n this.analytics.identify(user_id, payload || {})\n this.has_identified = true\n } catch (error) {\n console.error('RudderStack: Failed to identify user', error)\n }\n } else {\n this.has_identified = true\n }\n }\n\n /**\n * Track a page view event\n * @param current_page - The page name/path\n * @param platform - The platform name (default: 'Deriv App')\n * @param user_id - The user ID\n * @param properties - Additional page properties\n */\n pageView = (\n current_page: string,\n platform = 'Deriv App',\n user_id: string,\n properties?: Record<string, unknown>\n ): void => {\n if (!this.has_initialized || current_page === this.current_page) return\n\n try {\n const pageProperties = {\n ...(user_id && { user_id }),\n ...properties,\n }\n\n // Type assertion needed due to RudderStack's type definitions\n this.analytics.page(platform, current_page, pageProperties as any)\n this.current_page = current_page\n } catch (error) {\n console.error('RudderStack: Failed to track page view', error)\n }\n }\n\n /**\n * Reset the RudderStack instance\n * Clears user identification and resets tracking state\n */\n reset = (): void => {\n if (!this.has_initialized) return\n\n try {\n this.analytics.reset()\n this.has_identified = false\n } catch (error) {\n console.error('RudderStack: Failed to reset', error)\n }\n }\n\n /**\n * Track a custom event with payload\n * Payload is pre-cleaned by analytics.ts using cleanObject before being passed here\n * @param event - The event name\n * @param payload - The event payload with core attributes\n */\n track = <T extends keyof TAllEvents>(event: T, payload: TAllEvents[T] & Partial<TCoreAttributes>): void => {\n if (!this.has_initialized) return\n\n try {\n // Type assertion needed to match RudderStack's ApiObject type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.analytics.track(event as string, payload as any)\n } catch (err) {\n console.warn('RudderStack: Failed to track event', err)\n }\n }\n}\n"]}
|
package/dist/chunk-NZ35MU4O.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkNOEKD4DT_js=require('./chunk-NOEKD4DT.js'),analyticsJs=require('@rudderstack/analytics-js');/* @deriv-com/analytics - NPM Package - Built with tsup */
|
|
2
|
-
var k=2*365*24*60*60,o=class o{constructor(e,t){this.analytics=new analyticsJs.RudderAnalytics;this.has_identified=false;this.has_initialized=false;this.current_page="";this.rudderstack_anonymous_cookie_key="rudder_anonymous_id";this.getAnonymousId=()=>document.cookie.match("(^|;)\\s*"+this.rudderstack_anonymous_cookie_key+"\\s*=\\s*([^;]+)")?.pop();this.setCookieIfNotExists=()=>{if(!this.getAnonymousId())try{let t=window.location.hostname,r=["webflow.io"].some(i=>t.endsWith(i))?t:t.split(".").slice(-2).join("."),d;if(crypto?.randomUUID)d=crypto.randomUUID();else if(crypto?.getRandomValues){let i=new Uint8Array(16);crypto.getRandomValues(i),i[6]=i[6]&15|64,i[8]=i[8]&63|128;let s=Array.from(i,h=>h.toString(16).padStart(2,"0")).join("");d=`${s.slice(0,8)}-${s.slice(8,12)}-${s.slice(12,16)}-${s.slice(16,20)}-${s.slice(20)}`;}else throw new Error("Crypto API not available for secure random UUID generation");let u=window.location.protocol==="https:"?"; Secure":"";document.cookie=`${this.rudderstack_anonymous_cookie_key}=${d}; path=/; Domain=${r}; max-age=${k}; SameSite=Lax${u}`;}catch(t){console.warn("RudderStack: Failed to set anonymous ID cookie",t);}};this.getUserId=()=>this.analytics.getUserId();this.init=e=>{if(!e){console.warn("RudderStack: Initialization skipped - no key provided");return}try{this.setCookieIfNotExists(),this.analytics.load(e,chunkNOEKD4DT_js.c,{externalAnonymousIdCookieName:this.rudderstack_anonymous_cookie_key,useBeacon:!0,lockIntegrationsVersion:!0,onLoaded:()=>{this.has_initialized=!0,this.has_identified=!!this.getUserId(),this.onLoadedCallback?.();}});}catch(t){console.error("RudderStack: Failed to initialize",t);}};this.identifyEvent=(e,t)=>{if(!this.has_initialized){console.warn("RudderStack: Cannot identify - not initialized");return}if(this.getUserId())this.has_identified=true;else try{this.analytics.identify(e,t||{}),this.has_identified=!0;}catch(a){console.error("RudderStack: Failed to identify user",a);}};this.pageView=(e,t="Deriv App",n,a)=>{if(!(!this.has_initialized||e===this.current_page))try{let r={...n&&{user_id:n},...a};this.analytics.page(t,e,r),this.current_page=e;}catch(r){console.error("RudderStack: Failed to track page view",r);}};this.reset=()=>{if(this.has_initialized)try{this.analytics.reset(),this.has_identified=!1;}catch(e){console.error("RudderStack: Failed to reset",e);}};this.track=(e,t)=>{if(this.has_initialized)try{this.analytics.track(e,t);}catch(n){console.warn("RudderStack: Failed to track event",n);}};this.onLoadedCallback=t,this.init(e);}};o.getRudderStackInstance=(e,t)=>(o._instance||(o._instance=new o(e,t)),o._instance);var l=o;exports.a=l;//# sourceMappingURL=chunk-NZ35MU4O.js.map
|
|
3
|
-
//# sourceMappingURL=chunk-NZ35MU4O.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/rudderstack.ts"],"names":["COOKIE_MAX_AGE_SECONDS","_RudderStack","RUDDERSTACK_KEY","onLoaded","RudderAnalytics","hostname","domain_name","domain","uuid","bytes","hex","byte","secureFlag","error","rudderstackDataplane","user_id","payload","current_page","platform","properties","pageProperties","event","err","RudderStack"],"mappings":"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","file":"chunk-NZ35MU4O.js","sourcesContent":["import { RudderAnalytics } from '@rudderstack/analytics-js'\nimport type { TCoreAttributes, TAllEvents } from '../types'\nimport { rudderstackDataplane } from '../utils/urls'\n\n// Constants\nconst COOKIE_MAX_AGE_SECONDS = 2 * 365 * 24 * 60 * 60 // 2 years\n\n/**\n * RudderStack analytics wrapper with singleton pattern.\n * Handles user tracking, page views, and event analytics.\n */\nexport class RudderStack {\n analytics = new RudderAnalytics()\n has_identified = false\n has_initialized = false\n current_page = ''\n rudderstack_anonymous_cookie_key = 'rudder_anonymous_id'\n private static _instance: RudderStack\n private onLoadedCallback?: () => void\n\n constructor(RUDDERSTACK_KEY: string, onLoaded?: () => void) {\n this.onLoadedCallback = onLoaded\n this.init(RUDDERSTACK_KEY)\n }\n\n /**\n * Get or create the singleton instance of RudderStack\n * @param RUDDERSTACK_KEY - RudderStack write key\n * @param onLoaded - Optional callback when RudderStack is loaded\n * @returns The RudderStack singleton instance\n */\n public static getRudderStackInstance = (RUDDERSTACK_KEY: string, onLoaded?: () => void): RudderStack => {\n if (!RudderStack._instance) {\n RudderStack._instance = new RudderStack(RUDDERSTACK_KEY, onLoaded)\n }\n return RudderStack._instance\n }\n\n /**\n * Get the anonymous ID from cookies\n * @returns The anonymous ID or undefined if not found\n */\n getAnonymousId = (): string | undefined => {\n return document.cookie.match('(^|;)\\\\s*' + this.rudderstack_anonymous_cookie_key + '\\\\s*=\\\\s*([^;]+)')?.pop()\n }\n\n /**\n * Set anonymous ID cookie if it doesn't exist\n * Creates a secure cookie with proper domain and security attributes\n */\n setCookieIfNotExists = (): void => {\n const anonymous_id = this.getAnonymousId()\n\n if (!anonymous_id) {\n try {\n const hostname = window.location.hostname\n const external_domains = ['webflow.io']\n const is_external_domain = external_domains.some(domain => hostname.endsWith(domain))\n const domain_name = is_external_domain ? hostname : hostname.split('.').slice(-2).join('.')\n\n // Generate cryptographically secure UUID\n let uuid: string\n if (crypto?.randomUUID) {\n uuid = crypto.randomUUID()\n } else if (crypto?.getRandomValues) {\n // Fallback: Generate UUID v4 using crypto.getRandomValues\n const bytes = new Uint8Array(16)\n crypto.getRandomValues(bytes)\n // Set version (4) and variant bits\n bytes[6] = (bytes[6]! & 0x0f) | 0x40\n bytes[8] = (bytes[8]! & 0x3f) | 0x80\n // Convert to UUID string format\n const hex = Array.from(bytes, byte => byte.toString(16).padStart(2, '0')).join('')\n uuid = `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`\n } else {\n // Crypto API not available - this should not happen in modern browsers\n throw new Error('Crypto API not available for secure random UUID generation')\n }\n\n const isSecure = window.location.protocol === 'https:'\n const secureFlag = isSecure ? '; Secure' : ''\n\n document.cookie = `${this.rudderstack_anonymous_cookie_key}=${uuid}; path=/; Domain=${domain_name}; max-age=${COOKIE_MAX_AGE_SECONDS}; SameSite=Lax${secureFlag}`\n } catch (error) {\n console.warn('RudderStack: Failed to set anonymous ID cookie', error)\n }\n }\n }\n\n /**\n * Get the current user ID\n * @returns The user ID, null, or undefined if not identified\n */\n getUserId = () => this.analytics.getUserId()\n\n /**\n * Initialize RudderStack with the provided key\n * @param RUDDERSTACK_KEY - RudderStack write key\n */\n init = (RUDDERSTACK_KEY: string): void => {\n if (!RUDDERSTACK_KEY) {\n console.warn('RudderStack: Initialization skipped - no key provided')\n return\n }\n\n try {\n this.setCookieIfNotExists()\n\n this.analytics.load(RUDDERSTACK_KEY, rudderstackDataplane, {\n externalAnonymousIdCookieName: this.rudderstack_anonymous_cookie_key,\n // Performance optimizations\n useBeacon: true,\n lockIntegrationsVersion: true,\n onLoaded: () => {\n this.has_initialized = true\n this.has_identified = !!this.getUserId()\n this.onLoadedCallback?.()\n },\n })\n } catch (error) {\n console.error('RudderStack: Failed to initialize', error)\n }\n }\n\n /**\n * Identify a user with RudderStack\n * Only identifies if user hasn't been identified yet\n * @param user_id - The user ID to identify\n * @param payload - Optional user traits (e.g., language, custom properties)\n */\n identifyEvent = (user_id: string, payload?: Record<string, any>): void => {\n if (!this.has_initialized) {\n console.warn('RudderStack: Cannot identify - not initialized')\n return\n }\n\n const currentUserId = this.getUserId()\n if (!currentUserId) {\n try {\n this.analytics.identify(user_id, payload || {})\n this.has_identified = true\n } catch (error) {\n console.error('RudderStack: Failed to identify user', error)\n }\n } else {\n this.has_identified = true\n }\n }\n\n /**\n * Track a page view event\n * @param current_page - The page name/path\n * @param platform - The platform name (default: 'Deriv App')\n * @param user_id - The user ID\n * @param properties - Additional page properties\n */\n pageView = (\n current_page: string,\n platform = 'Deriv App',\n user_id: string,\n properties?: Record<string, unknown>\n ): void => {\n if (!this.has_initialized || current_page === this.current_page) return\n\n try {\n const pageProperties = {\n ...(user_id && { user_id }),\n ...properties,\n }\n\n // Type assertion needed due to RudderStack's type definitions\n this.analytics.page(platform, current_page, pageProperties as any)\n this.current_page = current_page\n } catch (error) {\n console.error('RudderStack: Failed to track page view', error)\n }\n }\n\n /**\n * Reset the RudderStack instance\n * Clears user identification and resets tracking state\n */\n reset = (): void => {\n if (!this.has_initialized) return\n\n try {\n this.analytics.reset()\n this.has_identified = false\n } catch (error) {\n console.error('RudderStack: Failed to reset', error)\n }\n }\n\n /**\n * Track a custom event with payload\n * Payload is pre-cleaned by analytics.ts using cleanObject before being passed here\n * @param event - The event name\n * @param payload - The event payload with core attributes\n */\n track = <T extends keyof TAllEvents>(event: T, payload: TAllEvents[T] & Partial<TCoreAttributes>): void => {\n if (!this.has_initialized) return\n\n try {\n // Type assertion needed to match RudderStack's ApiObject type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.analytics.track(event as string, payload as any)\n } catch (err) {\n console.warn('RudderStack: Failed to track event', err)\n }\n }\n}\n"]}
|