@rudderstack/analytics-js 3.11.15 → 3.11.17
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/CHANGELOG.md +20 -0
- package/LICENSE.md +6 -6
- package/dist/npm/index.d.cts +1 -1
- package/dist/npm/index.d.mts +1 -1
- package/dist/npm/legacy/bundled/cjs/index.cjs +102 -94
- package/dist/npm/legacy/bundled/esm/index.mjs +102 -94
- package/dist/npm/legacy/bundled/umd/index.js +102 -94
- package/dist/npm/legacy/cjs/index.cjs +102 -94
- package/dist/npm/legacy/content-script/cjs/index.cjs +99 -92
- package/dist/npm/legacy/content-script/esm/index.mjs +99 -92
- package/dist/npm/legacy/content-script/umd/index.js +99 -92
- package/dist/npm/legacy/esm/index.mjs +102 -94
- package/dist/npm/legacy/umd/index.js +102 -94
- package/dist/npm/modern/bundled/cjs/index.cjs +95 -93
- package/dist/npm/modern/bundled/esm/index.mjs +95 -93
- package/dist/npm/modern/bundled/umd/index.js +95 -93
- package/dist/npm/modern/cjs/index.cjs +6 -6
- package/dist/npm/modern/content-script/cjs/index.cjs +93 -92
- package/dist/npm/modern/content-script/esm/index.mjs +93 -92
- package/dist/npm/modern/content-script/umd/index.js +93 -92
- package/dist/npm/modern/esm/index.mjs +6 -6
- package/dist/npm/modern/umd/index.js +6 -6
- package/package.json +1 -1
@@ -415,7 +415,7 @@ const getFormattedTimestamp=date=>date.toISOString();/**
|
|
415
415
|
* @returns ISO formatted timestamp string
|
416
416
|
*/const getCurrentTimeFormatted=()=>getFormattedTimestamp(new Date());
|
417
417
|
|
418
|
-
const LOG_CONTEXT_SEPARATOR=':: ';const SCRIPT_ALREADY_EXISTS_ERROR=id=>`A script with the id "${id}" is already loaded. Skipping the loading of this script to prevent conflicts.`;const SCRIPT_LOAD_ERROR=(id,url)=>`Failed to load the script with the id "${id}" from URL "${url}".`;const SCRIPT_LOAD_TIMEOUT_ERROR=(id,url,timeout)=>`A timeout of ${timeout} ms occurred while trying to load the script with id "${id}" from URL "${url}".`;const CIRCULAR_REFERENCE_WARNING=(context,key)=>`${context}${LOG_CONTEXT_SEPARATOR}A circular reference has been detected in the object and the property "${key}" has been dropped from the output.`;const JSON_STRINGIFY_WARNING=`Failed to convert the value to a JSON string.`;
|
418
|
+
const LOG_CONTEXT_SEPARATOR=':: ';const SCRIPT_ALREADY_EXISTS_ERROR=id=>`A script with the id "${id}" is already loaded. Skipping the loading of this script to prevent conflicts.`;const SCRIPT_LOAD_ERROR=(id,url)=>`Failed to load the script with the id "${id}" from URL "${url}".`;const SCRIPT_LOAD_TIMEOUT_ERROR=(id,url,timeout)=>`A timeout of ${timeout} ms occurred while trying to load the script with id "${id}" from URL "${url}".`;const CIRCULAR_REFERENCE_WARNING=(context,key)=>`${context}${LOG_CONTEXT_SEPARATOR}A circular reference has been detected in the object and the property "${key}" has been dropped from the output.`;const JSON_STRINGIFY_WARNING=`Failed to convert the value to a JSON string.`;const COOKIE_DATA_ENCODING_ERROR=`Failed to encode the cookie data.`;
|
419
419
|
|
420
420
|
const JSON_STRINGIFY='JSONStringify';const BIG_INT_PLACEHOLDER='[BigInt]';const CIRCULAR_REFERENCE_PLACEHOLDER='[Circular Reference]';const getCircularReplacer=(excludeNull,excludeKeys,logger)=>{const ancestors=[];// Here we do not want to use arrow function to use "this" in function context
|
421
421
|
// eslint-disable-next-line func-names
|
@@ -459,7 +459,7 @@ const MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
|
|
459
459
|
* @returns Instance of Error with message prepended with issue
|
460
460
|
*/const getMutatedError=(err,issue)=>{let finalError=err;if(!isTypeOfError(err)){finalError=new Error(`${issue}: ${stringifyWithoutCircular(err)}`);}else {finalError.message=`${issue}: ${err.message}`;}return finalError;};const dispatchErrorEvent=error=>{if(isTypeOfError(error)){error.stack=`${error.stack??''}\n${MANUAL_ERROR_IDENTIFIER}`;}globalThis.dispatchEvent(new ErrorEvent('error',{error}));};
|
461
461
|
|
462
|
-
const APP_NAME='RudderLabs JavaScript SDK';const APP_VERSION='3.11.
|
462
|
+
const APP_NAME='RudderLabs JavaScript SDK';const APP_VERSION='3.11.17';const APP_NAMESPACE='com.rudderlabs.javascript';const MODULE_TYPE='npm';const ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';const ADBLOCK_PAGE_NAME='ad-block page request';const ADBLOCK_PAGE_PATH='/ad-blocked';const GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';const CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
|
463
463
|
|
464
464
|
const QUERY_PARAM_TRAIT_PREFIX='ajs_trait_';const QUERY_PARAM_PROPERTY_PREFIX='ajs_prop_';const QUERY_PARAM_ANONYMOUS_ID_KEY='ajs_aid';const QUERY_PARAM_USER_ID_KEY='ajs_uid';const QUERY_PARAM_TRACK_EVENT_NAME_KEY='ajs_event';
|
465
465
|
|
@@ -710,10 +710,6 @@ new URL(url);}return URL_PATTERN.test(url);}catch(e){return false;}};
|
|
710
710
|
const isErrRetryable=details=>{let isRetryableNWFailure=false;if(details?.error&&details?.xhr){const xhrStatus=details.xhr.status;// same as in v1.1
|
711
711
|
isRetryableNWFailure=xhrStatus===429||xhrStatus>=500&&xhrStatus<600;}return isRetryableNWFailure;};
|
712
712
|
|
713
|
-
const userIdKey='rl_user_id';const userTraitsKey='rl_trait';const anonymousUserIdKey='rl_anonymous_id';const groupIdKey='rl_group_id';const groupTraitsKey='rl_group_trait';const pageInitialReferrerKey='rl_page_init_referrer';const pageInitialReferringDomainKey='rl_page_init_referring_domain';const sessionInfoKey='rl_session';const authTokenKey='rl_auth_token';const COOKIE_KEYS={userId:userIdKey,userTraits:userTraitsKey,anonymousId:anonymousUserIdKey,groupId:groupIdKey,groupTraits:groupTraitsKey,initialReferrer:pageInitialReferrerKey,initialReferringDomain:pageInitialReferringDomainKey,sessionInfo:sessionInfoKey,authToken:authTokenKey};const ENCRYPTION_PREFIX_V3='RS_ENC_v3_';
|
714
|
-
|
715
|
-
const COOKIE_DATA_ENCODING_ERROR=`Failed to encode the cookie data.`;
|
716
|
-
|
717
713
|
/**
|
718
714
|
* Encode.
|
719
715
|
*/const encode=(value,logger)=>{try{return encodeURIComponent(value);}catch(err){logger?.error(COOKIE_DATA_ENCODING_ERROR,err);return undefined;}};/**
|
@@ -733,6 +729,8 @@ pairs.forEach(pairItem=>{pair=pairItem.split('=');const keyName=pair[0]?decode$1
|
|
733
729
|
*/// eslint-disable-next-line func-names
|
734
730
|
const cookie=function(name,value,options,logger){switch(arguments.length){case 4:case 3:case 2:return set(name,value,options,logger);case 1:if(name){return get(name);}return all();default:return all();}};
|
735
731
|
|
732
|
+
const userIdKey='rl_user_id';const userTraitsKey='rl_trait';const anonymousUserIdKey='rl_anonymous_id';const groupIdKey='rl_group_id';const groupTraitsKey='rl_group_trait';const pageInitialReferrerKey='rl_page_init_referrer';const pageInitialReferringDomainKey='rl_page_init_referring_domain';const sessionInfoKey='rl_session';const authTokenKey='rl_auth_token';const COOKIE_KEYS={userId:userIdKey,userTraits:userTraitsKey,anonymousId:anonymousUserIdKey,groupId:groupIdKey,groupTraits:groupTraitsKey,initialReferrer:pageInitialReferrerKey,initialReferringDomain:pageInitialReferringDomainKey,sessionInfo:sessionInfoKey,authToken:authTokenKey};const ENCRYPTION_PREFIX_V3='RS_ENC_v3_';
|
733
|
+
|
736
734
|
const encryptBrowser=value=>`${ENCRYPTION_PREFIX_V3}${toBase64(value)}`;const decryptBrowser=value=>{if(value?.startsWith(ENCRYPTION_PREFIX_V3)){return fromBase64(value.substring(ENCRYPTION_PREFIX_V3.length));}return value;};
|
737
735
|
|
738
736
|
const EVENT_PAYLOAD_SIZE_BYTES_LIMIT=32*1024;// 32 KB
|
@@ -936,170 +934,170 @@ const isDestIntgConfigTruthy=destIntgConfig=>!isUndefined(destIntgConfig)&&Boole
|
|
936
934
|
* @returns Destinations array filtered based on the integration options
|
937
935
|
*/const filterDestinations=(intgOpts,destinations)=>{const allOptVal=intgOpts.All??true;return destinations.filter(dest=>{const destDisplayName=dest.displayName;let isDestEnabled;if(allOptVal){isDestEnabled=true;if(isDestIntgConfigFalsy(intgOpts[destDisplayName])){isDestEnabled=false;}}else {isDestEnabled=false;if(isDestIntgConfigTruthy(intgOpts[destDisplayName])){isDestEnabled=true;}}return isDestEnabled;});};
|
938
936
|
|
939
|
-
const
|
937
|
+
const ACTIVE_CAMPAIGN_DISPLAY_NAME='ActiveCampaign';const ADOBE_ANALYTICS_DISPLAY_NAME='Adobe Analytics';const ADROLL_DISPLAY_NAME='Adroll';const AM_DISPLAY_NAME='Amplitude';const APPCUES_DISPLAY_NAME='Appcues';const AXEPTIO_DISPLAY_NAME='Axeptio';const BINGADS_DISPLAY_NAME='Bing Ads';const BRAZE_DISPLAY_NAME='Braze';const BUGSNAG_DISPLAY_NAME='Bugsnag';const CHARTBEAT_DISPLAY_NAME='Chartbeat';const CLEVERTAP_DISPLAY_NAME='CleverTap';const COMMANDBAR_DISPLAY_NAME='CommandBar';const CONVERTFLOW_DISPLAY_NAME='Convertflow';const CRITEO_DISPLAY_NAME='Criteo';const CUSTOMERIO_DISPLAY_NAME='Customer IO';const DCM_FLOODLIGHT_DISPLAY_NAME='DCM Floodlight';const DRIP_DISPLAY_NAME='Drip';const ENGAGE_DISPLAY_NAME='Engage';const FACEBOOK_PIXEL_DISPLAY_NAME='Facebook Pixel';const FULLSTORY_DISPLAY_NAME='Fullstory';const GA_DISPLAY_NAME='Google Analytics';const GA360_DISPLAY_NAME='Google Analytics 360';const GA4_DISPLAY_NAME='Google Analytics 4 (GA4)';const GA4_V2_DISPLAY_NAME='Google Analytics 4 (GA4) V2';const GAINSIGHT_PX_DISPLAY_NAME='Gainsight PX';const GOOGLE_OPTIMIZE_DISPLAY_NAME='Google Optimize';const GOOGLEADS_DISPLAY_NAME='Google Ads';const GTM_DISPLAY_NAME='Google Tag Manager';const HEAP_DISPLAY_NAME='Heap.io';const HOTJAR_DISPLAY_NAME='Hotjar';const HS_DISPLAY_NAME='HubSpot';const INTERCOM_DISPLAY_NAME='Intercom';const ITERABLE_DISPLAY_NAME='Iterable';const JUNE_DISPLAY_NAME='JUNE';const KEEN_DISPLAY_NAME='Keen';const KISSMETRICS_DISPLAY_NAME='Kiss Metrics';const KLAVIYO_DISPLAY_NAME='Klaviyo';const LAUNCHDARKLY_DISPLAY_NAME='LaunchDarkly';const LEMNISK_DISPLAY_NAME='Lemnisk Marketing Automation';const LINKEDIN_INSIGHT_TAG_DISPLAY_NAME='Linkedin Insight Tag';const LIVECHAT_DISPLAY_NAME='livechat';const LOTAME_DISPLAY_NAME='Lotame';const LYTICS_DISPLAY_NAME='Lytics';const MATOMO_DISPLAY_NAME='Matomo';const MICROSOFT_CLARITY_DISPLAY_NAME='Microsoft Clarity';const MOENGAGE_DISPLAY_NAME='MoEngage';const MOUSEFLOW_DISPLAY_NAME='Mouseflow';const MP_DISPLAY_NAME='Mixpanel';const NINETAILED_DISPLAY_NAME='Ninetailed';const OLARK_DISPLAY_NAME='Olark';const OPTIMIZELY_DISPLAY_NAME='Optimizely Web';const PENDO_DISPLAY_NAME='Pendo';const PINTEREST_TAG_DISPLAY_NAME='Pinterest Tag';const PODSIGHTS_DISPLAY_NAME='Podsights';const POST_AFFILIATE_PRO_DISPLAY_NAME='Post Affiliate Pro';const POSTHOG_DISPLAY_NAME='PostHog';const PROFITWELL_DISPLAY_NAME='ProfitWell';const QUALAROO_DISPLAY_NAME='Qualaroo';const QUALTRICS_DISPLAY_NAME='Qualtrics';const QUANTUMMETRIC_DISPLAY_NAME='Quantum Metric';const QUORA_PIXEL_DISPLAY_NAME='Quora Pixel';const REDDIT_PIXEL_DISPLAY_NAME='Reddit Pixel';const REFINER_DISPLAY_NAME='Refiner';const ROCKERBOX_DISPLAY_NAME='Rockerbox';const ROLLBAR_DISPLAY_NAME='rollbar';const SATISMETER_DISPLAY_NAME='SatisMeter';const SENDINBLUE_DISPLAY_NAME='Sendinblue';const SENTRY_DISPLAY_NAME='Sentry';const SHYNET_DISPLAY_NAME='Shynet';const SNAP_PIXEL_DISPLAY_NAME='Snap Pixel';const SNAPENGAGE_DISPLAY_NAME='SnapEngage';const SPOTIFYPIXEL_DISPLAY_NAME='Spotify Pixel';const SPRIG_DISPLAY_NAME='Sprig';const TIKTOK_ADS_DISPLAY_NAME='TikTok Ads';const TVSQUARED_DISPLAY_NAME='TVSquared';const VERO_DISPLAY_NAME='Vero';const VWO_DISPLAY_NAME='VWO';const WOOPRA_DISPLAY_NAME='WOOPRA';const XPIXEL_DISPLAY_NAME='XPixel';const YANDEX_METRICA_DISPLAY_NAME='Yandex.Metrica';
|
940
938
|
|
941
|
-
const DIR_NAME$1f='
|
939
|
+
const DIR_NAME$1f='AdobeAnalytics';
|
942
940
|
|
943
|
-
const DIR_NAME$1e='
|
941
|
+
const DIR_NAME$1e='Amplitude';
|
944
942
|
|
945
|
-
const DIR_NAME$1d='
|
943
|
+
const DIR_NAME$1d='Appcues';
|
946
944
|
|
947
|
-
const DIR_NAME$1c='
|
945
|
+
const DIR_NAME$1c='BingAds';
|
948
946
|
|
949
|
-
const DIR_NAME$1b='
|
947
|
+
const DIR_NAME$1b='Braze';
|
950
948
|
|
951
|
-
const DIR_NAME$1a='
|
949
|
+
const DIR_NAME$1a='Bugsnag';
|
952
950
|
|
953
|
-
const DIR_NAME$19='
|
951
|
+
const DIR_NAME$19='Chartbeat';
|
954
952
|
|
955
|
-
const DIR_NAME$18='
|
953
|
+
const DIR_NAME$18='Clevertap';
|
956
954
|
|
957
|
-
const DIR_NAME$17='Criteo';
|
955
|
+
const DIR_NAME$17='Criteo';
|
958
956
|
|
959
|
-
const DIR_NAME$16='CustomerIO';
|
957
|
+
const DIR_NAME$16='CustomerIO';
|
960
958
|
|
961
|
-
const DIR_NAME$15='Drip';
|
959
|
+
const DIR_NAME$15='Drip';
|
962
960
|
|
963
|
-
const DIR_NAME$14='FacebookPixel';
|
961
|
+
const DIR_NAME$14='FacebookPixel';
|
964
962
|
|
965
|
-
const DIR_NAME$13='Fullstory';
|
963
|
+
const DIR_NAME$13='Fullstory';
|
966
964
|
|
967
|
-
const DIR_NAME$12='GA';
|
965
|
+
const DIR_NAME$12='GA';
|
968
966
|
|
969
|
-
const DIR_NAME$11='GA4';
|
967
|
+
const DIR_NAME$11='GA4';
|
970
968
|
|
971
|
-
const DIR_NAME$10='GA4_V2';
|
969
|
+
const DIR_NAME$10='GA4_V2';
|
972
970
|
|
973
|
-
const DIR_NAME$$='GoogleAds';
|
971
|
+
const DIR_NAME$$='GoogleAds';
|
974
972
|
|
975
|
-
const DIR_NAME$_='GoogleOptimize';
|
973
|
+
const DIR_NAME$_='GoogleOptimize';
|
976
974
|
|
977
|
-
const DIR_NAME$Z='GoogleTagManager';
|
975
|
+
const DIR_NAME$Z='GoogleTagManager';
|
978
976
|
|
979
|
-
const DIR_NAME$Y='Heap';
|
977
|
+
const DIR_NAME$Y='Heap';
|
980
978
|
|
981
|
-
const DIR_NAME$X='Hotjar';
|
979
|
+
const DIR_NAME$X='Hotjar';
|
982
980
|
|
983
|
-
const DIR_NAME$W='HubSpot';
|
981
|
+
const DIR_NAME$W='HubSpot';
|
984
982
|
|
985
|
-
const DIR_NAME$V='INTERCOM';
|
983
|
+
const DIR_NAME$V='INTERCOM';
|
986
984
|
|
987
|
-
const DIR_NAME$U='Keen';
|
985
|
+
const DIR_NAME$U='Keen';
|
988
986
|
|
989
|
-
const DIR_NAME$T='Kissmetrics';
|
987
|
+
const DIR_NAME$T='Kissmetrics';
|
990
988
|
|
991
|
-
const DIR_NAME$S='Klaviyo';
|
989
|
+
const DIR_NAME$S='Klaviyo';
|
992
990
|
|
993
|
-
const DIR_NAME$R='LaunchDarkly';
|
991
|
+
const DIR_NAME$R='LaunchDarkly';
|
994
992
|
|
995
|
-
const DIR_NAME$Q='LinkedInInsightTag';
|
993
|
+
const DIR_NAME$Q='LinkedInInsightTag';
|
996
994
|
|
997
|
-
const DIR_NAME$P='Lotame';
|
995
|
+
const DIR_NAME$P='Lotame';
|
998
996
|
|
999
|
-
const DIR_NAME$O='Lytics';
|
997
|
+
const DIR_NAME$O='Lytics';
|
1000
998
|
|
1001
|
-
const DIR_NAME$N='Mixpanel';
|
999
|
+
const DIR_NAME$N='Mixpanel';
|
1002
1000
|
|
1003
|
-
const DIR_NAME$M='MoEngage';
|
1001
|
+
const DIR_NAME$M='MoEngage';
|
1004
1002
|
|
1005
|
-
const DIR_NAME$L='Optimizely';
|
1003
|
+
const DIR_NAME$L='Optimizely';
|
1006
1004
|
|
1007
|
-
const DIR_NAME$K='Pendo';
|
1005
|
+
const DIR_NAME$K='Pendo';
|
1008
1006
|
|
1009
|
-
const DIR_NAME$J='PinterestTag';
|
1007
|
+
const DIR_NAME$J='PinterestTag';
|
1010
1008
|
|
1011
|
-
const DIR_NAME$I='PostAffiliatePro';
|
1009
|
+
const DIR_NAME$I='PostAffiliatePro';
|
1012
1010
|
|
1013
|
-
const DIR_NAME$H='Posthog';
|
1011
|
+
const DIR_NAME$H='Posthog';
|
1014
1012
|
|
1015
|
-
const DIR_NAME$G='ProfitWell';
|
1013
|
+
const DIR_NAME$G='ProfitWell';
|
1016
1014
|
|
1017
|
-
const DIR_NAME$F='Qualtrics';
|
1015
|
+
const DIR_NAME$F='Qualtrics';
|
1018
1016
|
|
1019
|
-
const DIR_NAME$E='QuantumMetric';
|
1017
|
+
const DIR_NAME$E='QuantumMetric';
|
1020
1018
|
|
1021
|
-
const DIR_NAME$D='RedditPixel';
|
1019
|
+
const DIR_NAME$D='RedditPixel';
|
1022
1020
|
|
1023
|
-
const DIR_NAME$C='Sentry';
|
1021
|
+
const DIR_NAME$C='Sentry';
|
1024
1022
|
|
1025
|
-
const DIR_NAME$B='SnapPixel';
|
1023
|
+
const DIR_NAME$B='SnapPixel';
|
1026
1024
|
|
1027
|
-
const DIR_NAME$A='TVSquared';
|
1025
|
+
const DIR_NAME$A='TVSquared';
|
1028
1026
|
|
1029
|
-
const DIR_NAME$z='VWO';
|
1027
|
+
const DIR_NAME$z='VWO';
|
1030
1028
|
|
1031
|
-
const DIR_NAME$y='GA360';
|
1029
|
+
const DIR_NAME$y='GA360';
|
1032
1030
|
|
1033
|
-
const DIR_NAME$x='Adroll';
|
1031
|
+
const DIR_NAME$x='Adroll';
|
1034
1032
|
|
1035
|
-
const DIR_NAME$w='DCMFloodlight';
|
1033
|
+
const DIR_NAME$w='DCMFloodlight';
|
1036
1034
|
|
1037
|
-
const DIR_NAME$v='Matomo';
|
1035
|
+
const DIR_NAME$v='Matomo';
|
1038
1036
|
|
1039
|
-
const DIR_NAME$u='Vero';
|
1037
|
+
const DIR_NAME$u='Vero';
|
1040
1038
|
|
1041
|
-
const DIR_NAME$t='Mouseflow';
|
1039
|
+
const DIR_NAME$t='Mouseflow';
|
1042
1040
|
|
1043
|
-
const DIR_NAME$s='Rockerbox';
|
1041
|
+
const DIR_NAME$s='Rockerbox';
|
1044
1042
|
|
1045
|
-
const DIR_NAME$r='ConvertFlow';
|
1043
|
+
const DIR_NAME$r='ConvertFlow';
|
1046
1044
|
|
1047
|
-
const DIR_NAME$q='SnapEngage';
|
1045
|
+
const DIR_NAME$q='SnapEngage';
|
1048
1046
|
|
1049
|
-
const DIR_NAME$p='LiveChat';
|
1047
|
+
const DIR_NAME$p='LiveChat';
|
1050
1048
|
|
1051
|
-
const DIR_NAME$o='Shynet';
|
1049
|
+
const DIR_NAME$o='Shynet';
|
1052
1050
|
|
1053
|
-
const DIR_NAME$n='Woopra';
|
1051
|
+
const DIR_NAME$n='Woopra';
|
1054
1052
|
|
1055
|
-
const DIR_NAME$m='RollBar';
|
1053
|
+
const DIR_NAME$m='RollBar';
|
1056
1054
|
|
1057
|
-
const DIR_NAME$l='QuoraPixel';
|
1055
|
+
const DIR_NAME$l='QuoraPixel';
|
1058
1056
|
|
1059
|
-
const DIR_NAME$k='June';
|
1057
|
+
const DIR_NAME$k='June';
|
1060
1058
|
|
1061
|
-
const DIR_NAME$j='Engage';
|
1059
|
+
const DIR_NAME$j='Engage';
|
1062
1060
|
|
1063
|
-
const DIR_NAME$i='Iterable';
|
1061
|
+
const DIR_NAME$i='Iterable';
|
1064
1062
|
|
1065
|
-
const DIR_NAME$h='YandexMetrica';
|
1063
|
+
const DIR_NAME$h='YandexMetrica';
|
1066
1064
|
|
1067
|
-
const DIR_NAME$g='Refiner';
|
1065
|
+
const DIR_NAME$g='Refiner';
|
1068
1066
|
|
1069
|
-
const DIR_NAME$f='Qualaroo';
|
1067
|
+
const DIR_NAME$f='Qualaroo';
|
1070
1068
|
|
1071
|
-
const DIR_NAME$e='Podsights';
|
1069
|
+
const DIR_NAME$e='Podsights';
|
1072
1070
|
|
1073
|
-
const DIR_NAME$d='Axeptio';
|
1071
|
+
const DIR_NAME$d='Axeptio';
|
1074
1072
|
|
1075
|
-
const DIR_NAME$c='Satismeter';
|
1073
|
+
const DIR_NAME$c='Satismeter';
|
1076
1074
|
|
1077
|
-
const DIR_NAME$b='MicrosoftClarity';
|
1075
|
+
const DIR_NAME$b='MicrosoftClarity';
|
1078
1076
|
|
1079
|
-
const DIR_NAME$a='Sendinblue';
|
1077
|
+
const DIR_NAME$a='Sendinblue';
|
1080
1078
|
|
1081
|
-
const DIR_NAME$9='Olark';
|
1079
|
+
const DIR_NAME$9='Olark';
|
1082
1080
|
|
1083
|
-
const DIR_NAME$8='Lemnisk';
|
1081
|
+
const DIR_NAME$8='Lemnisk';
|
1084
1082
|
|
1085
|
-
const DIR_NAME$7='TiktokAds';
|
1083
|
+
const DIR_NAME$7='TiktokAds';
|
1086
1084
|
|
1087
|
-
const DIR_NAME$6='ActiveCampaign';
|
1085
|
+
const DIR_NAME$6='ActiveCampaign';
|
1088
1086
|
|
1089
|
-
const DIR_NAME$5='Sprig';
|
1087
|
+
const DIR_NAME$5='Sprig';
|
1090
1088
|
|
1091
|
-
const DIR_NAME$4='SpotifyPixel';
|
1089
|
+
const DIR_NAME$4='SpotifyPixel';
|
1092
1090
|
|
1093
|
-
const DIR_NAME$3='CommandBar';
|
1091
|
+
const DIR_NAME$3='CommandBar';
|
1094
1092
|
|
1095
|
-
const DIR_NAME$2='Ninetailed';
|
1093
|
+
const DIR_NAME$2='Ninetailed';
|
1096
1094
|
|
1097
|
-
const DIR_NAME$1='Gainsight_PX';
|
1095
|
+
const DIR_NAME$1='Gainsight_PX';
|
1098
1096
|
|
1099
|
-
const DIR_NAME='XPixel';
|
1097
|
+
const DIR_NAME='XPixel';
|
1100
1098
|
|
1101
1099
|
// map of the destination display names to the destination directory names
|
1102
|
-
const destDisplayNamesToFileNamesMap={[
|
1100
|
+
const destDisplayNamesToFileNamesMap={[HS_DISPLAY_NAME]:DIR_NAME$W,[GA_DISPLAY_NAME]:DIR_NAME$12,[HOTJAR_DISPLAY_NAME]:DIR_NAME$X,[GOOGLEADS_DISPLAY_NAME]:DIR_NAME$$,[VWO_DISPLAY_NAME]:DIR_NAME$z,[GTM_DISPLAY_NAME]:DIR_NAME$Z,[BRAZE_DISPLAY_NAME]:DIR_NAME$1b,[INTERCOM_DISPLAY_NAME]:DIR_NAME$V,[KEEN_DISPLAY_NAME]:DIR_NAME$U,[KISSMETRICS_DISPLAY_NAME]:DIR_NAME$T,[CUSTOMERIO_DISPLAY_NAME]:DIR_NAME$16,[CHARTBEAT_DISPLAY_NAME]:DIR_NAME$19,[FACEBOOK_PIXEL_DISPLAY_NAME]:DIR_NAME$14,[LOTAME_DISPLAY_NAME]:DIR_NAME$P,[OPTIMIZELY_DISPLAY_NAME]:DIR_NAME$L,[BUGSNAG_DISPLAY_NAME]:DIR_NAME$1a,[FULLSTORY_DISPLAY_NAME]:DIR_NAME$13,[TVSQUARED_DISPLAY_NAME]:DIR_NAME$A,[GA4_DISPLAY_NAME]:DIR_NAME$11,[GA4_V2_DISPLAY_NAME]:DIR_NAME$10,[MOENGAGE_DISPLAY_NAME]:DIR_NAME$M,[AM_DISPLAY_NAME]:DIR_NAME$1e,[PENDO_DISPLAY_NAME]:DIR_NAME$K,[LYTICS_DISPLAY_NAME]:DIR_NAME$O,[APPCUES_DISPLAY_NAME]:DIR_NAME$1d,[POSTHOG_DISPLAY_NAME]:DIR_NAME$H,[KLAVIYO_DISPLAY_NAME]:DIR_NAME$S,[CLEVERTAP_DISPLAY_NAME]:DIR_NAME$18,[BINGADS_DISPLAY_NAME]:DIR_NAME$1c,[PINTEREST_TAG_DISPLAY_NAME]:DIR_NAME$J,[ADOBE_ANALYTICS_DISPLAY_NAME]:DIR_NAME$1f,[LINKEDIN_INSIGHT_TAG_DISPLAY_NAME]:DIR_NAME$Q,[REDDIT_PIXEL_DISPLAY_NAME]:DIR_NAME$D,[DRIP_DISPLAY_NAME]:DIR_NAME$15,[HEAP_DISPLAY_NAME]:DIR_NAME$Y,[CRITEO_DISPLAY_NAME]:DIR_NAME$17,[MP_DISPLAY_NAME]:DIR_NAME$N,[QUALTRICS_DISPLAY_NAME]:DIR_NAME$F,[PROFITWELL_DISPLAY_NAME]:DIR_NAME$G,[SENTRY_DISPLAY_NAME]:DIR_NAME$C,[QUANTUMMETRIC_DISPLAY_NAME]:DIR_NAME$E,[SNAP_PIXEL_DISPLAY_NAME]:DIR_NAME$B,[POST_AFFILIATE_PRO_DISPLAY_NAME]:DIR_NAME$I,[GOOGLE_OPTIMIZE_DISPLAY_NAME]:DIR_NAME$_,[LAUNCHDARKLY_DISPLAY_NAME]:DIR_NAME$R,[GA360_DISPLAY_NAME]:DIR_NAME$y,[ADROLL_DISPLAY_NAME]:DIR_NAME$x,[DCM_FLOODLIGHT_DISPLAY_NAME]:DIR_NAME$w,[MATOMO_DISPLAY_NAME]:DIR_NAME$v,[VERO_DISPLAY_NAME]:DIR_NAME$u,[MOUSEFLOW_DISPLAY_NAME]:DIR_NAME$t,[ROCKERBOX_DISPLAY_NAME]:DIR_NAME$s,[CONVERTFLOW_DISPLAY_NAME]:DIR_NAME$r,[SNAPENGAGE_DISPLAY_NAME]:DIR_NAME$q,[LIVECHAT_DISPLAY_NAME]:DIR_NAME$p,[SHYNET_DISPLAY_NAME]:DIR_NAME$o,[WOOPRA_DISPLAY_NAME]:DIR_NAME$n,[ROLLBAR_DISPLAY_NAME]:DIR_NAME$m,[QUORA_PIXEL_DISPLAY_NAME]:DIR_NAME$l,[JUNE_DISPLAY_NAME]:DIR_NAME$k,[ENGAGE_DISPLAY_NAME]:DIR_NAME$j,[ITERABLE_DISPLAY_NAME]:DIR_NAME$i,[YANDEX_METRICA_DISPLAY_NAME]:DIR_NAME$h,[REFINER_DISPLAY_NAME]:DIR_NAME$g,[QUALAROO_DISPLAY_NAME]:DIR_NAME$f,[PODSIGHTS_DISPLAY_NAME]:DIR_NAME$e,[AXEPTIO_DISPLAY_NAME]:DIR_NAME$d,[SATISMETER_DISPLAY_NAME]:DIR_NAME$c,[MICROSOFT_CLARITY_DISPLAY_NAME]:DIR_NAME$b,[SENDINBLUE_DISPLAY_NAME]:DIR_NAME$a,[OLARK_DISPLAY_NAME]:DIR_NAME$9,[LEMNISK_DISPLAY_NAME]:DIR_NAME$8,[TIKTOK_ADS_DISPLAY_NAME]:DIR_NAME$7,[ACTIVE_CAMPAIGN_DISPLAY_NAME]:DIR_NAME$6,[SPRIG_DISPLAY_NAME]:DIR_NAME$5,[SPOTIFYPIXEL_DISPLAY_NAME]:DIR_NAME$4,[COMMANDBAR_DISPLAY_NAME]:DIR_NAME$3,[NINETAILED_DISPLAY_NAME]:DIR_NAME$2,[GAINSIGHT_PX_DISPLAY_NAME]:DIR_NAME$1,[XPIXEL_DISPLAY_NAME]:DIR_NAME};
|
1103
1101
|
|
1104
1102
|
/**
|
1105
1103
|
* Determines if the destination SDK code is evaluated
|
@@ -1107,7 +1105,7 @@ const destDisplayNamesToFileNamesMap={[DISPLAY_NAME$W]:DIR_NAME$W,[DISPLAY_NAME$
|
|
1107
1105
|
* @param sdkTypeName The name of the destination SDK type
|
1108
1106
|
* @param logger Logger instance
|
1109
1107
|
* @returns true if the destination SDK code is evaluated, false otherwise
|
1110
|
-
*/const isDestinationSDKMounted=(destSDKIdentifier,sdkTypeName,logger)=>Boolean(globalThis[destSDKIdentifier]
|
1108
|
+
*/const isDestinationSDKMounted=(destSDKIdentifier,sdkTypeName,logger)=>Boolean(globalThis[destSDKIdentifier]?.[sdkTypeName]?.prototype&&typeof globalThis[destSDKIdentifier][sdkTypeName].prototype.constructor!=='undefined');const wait=time=>new Promise(resolve=>{globalThis.setTimeout(resolve,time);});const createDestinationInstance=(destSDKIdentifier,sdkTypeName,dest,state)=>{const rAnalytics=globalThis.rudderanalytics;const analytics=rAnalytics.getAnalyticsInstance(state.lifecycle.writeKey.value);const analyticsInstance={loadIntegration:state.nativeDestinations.loadIntegration.value,logLevel:state.lifecycle.logLevel.value,loadOnlyIntegrations:state.consents.postConsent.value?.integrations??state.nativeDestinations.loadOnlyIntegrations.value,page:(category,name,properties,options,callback)=>analytics.page(pageArgumentsToCallOptions(getSanitizedValue(category),getSanitizedValue(name),getSanitizedValue(properties),getSanitizedValue(options),getSanitizedValue(callback))),track:(event,properties,options,callback)=>analytics.track(trackArgumentsToCallOptions(getSanitizedValue(event),getSanitizedValue(properties),getSanitizedValue(options),getSanitizedValue(callback))),identify:(userId,traits,options,callback)=>analytics.identify(identifyArgumentsToCallOptions(getSanitizedValue(userId),getSanitizedValue(traits),getSanitizedValue(options),getSanitizedValue(callback))),alias:(to,from,options,callback)=>analytics.alias(aliasArgumentsToCallOptions(getSanitizedValue(to),getSanitizedValue(from),getSanitizedValue(options),getSanitizedValue(callback))),group:(groupId,traits,options,callback)=>analytics.group(groupArgumentsToCallOptions(getSanitizedValue(groupId),getSanitizedValue(traits),getSanitizedValue(options),getSanitizedValue(callback))),getAnonymousId:options=>analytics.getAnonymousId(getSanitizedValue(options)),getUserId:()=>analytics.getUserId(),getUserTraits:()=>analytics.getUserTraits(),getGroupId:()=>analytics.getGroupId(),getGroupTraits:()=>analytics.getGroupTraits(),getSessionId:()=>analytics.getSessionId()};const deviceModeDestination=new globalThis[destSDKIdentifier][sdkTypeName](clone(dest.config),analyticsInstance,{shouldApplyDeviceModeTransformation:dest.shouldApplyDeviceModeTransformation,propagateEventsUntransformedOnError:dest.propagateEventsUntransformedOnError,destinationId:dest.id});return deviceModeDestination;};const isDestinationReady=(dest,time=0)=>new Promise((resolve,reject)=>{const instance=dest.instance;if(instance.isLoaded()&&(!instance.isReady||instance.isReady())){resolve(true);}else if(time>=READY_CHECK_TIMEOUT_MS){reject(new Error(DESTINATION_READY_TIMEOUT_ERROR(READY_CHECK_TIMEOUT_MS,dest.userFriendlyId)));}else {const curTime=Date.now();wait(READY_CHECK_INTERVAL_MS).then(()=>{const elapsedTime=Date.now()-curTime;isDestinationReady(dest,time+elapsedTime).then(resolve).catch(err=>reject(err));}).catch(err=>reject(err));}});/**
|
1111
1109
|
* Extracts the integration config, if any, from the given destination
|
1112
1110
|
* and merges it with the current integrations config
|
1113
1111
|
* @param dest Destination object
|
@@ -1151,7 +1149,8 @@ const NOTIFIER_NAME='RudderStack JavaScript SDK Error Notifier';const SDK_GITHUB
|
|
1151
1149
|
|
1152
1150
|
const getConfigForPayloadCreation=(err,errorType)=>{switch(errorType){case ErrorType.UNHANDLEDEXCEPTION:{const{error}=err;return {component:'unhandledException handler',normalizedError:error||err};}case ErrorType.UNHANDLEDREJECTION:{const error=err;return {component:'unhandledrejection handler',normalizedError:error.reason};}case ErrorType.HANDLEDEXCEPTION:default:return {component:'notify()',normalizedError:err};}};const createNewBreadcrumb=(message,metaData)=>({type:'manual',name:message,timestamp:new Date(),metaData:metaData??{}});const getReleaseStage=()=>{const host=globalThis.location.hostname;return host&&DEV_HOSTS.includes(host)?'development':'production';};const getAppStateForMetadata=state=>{const stateStr=stringifyWithoutCircular(state,false,APP_STATE_EXCLUDE_KEYS);return stateStr!==null?JSON.parse(stateStr):{};};const getURLWithoutQueryString=()=>{const url=globalThis.location.href.split('?');return url[0];};const getErrorContext=event=>{const{message}=event;let context=message;// Hack for easily grouping the script load errors
|
1153
1151
|
// on the dashboard
|
1154
|
-
if(message.includes('Error in loading a third-party script')){context='Script load failures';}return context;};const getBugsnagErrorEvent=(payload,errorState,state)=>({notifier:{name:NOTIFIER_NAME,version:state.context.app.value.version,url:SDK_GITHUB_URL},events:[{payloadVersion:'5',exceptions:clone(payload.errors),severity:errorState.severity,unhandled:errorState.unhandled,severityReason:errorState.severityReason,app:{version:state.context.app.value.version,releaseStage:getReleaseStage()},device:{locale:state.context.locale.value??undefined,userAgent:state.context.userAgent.value??undefined,time:new Date()},request:{url:getURLWithoutQueryString(),clientIp:'[NOT COLLECTED]'},breadcrumbs:clone(state.reporting.breadcrumbs.value),context:getErrorContext(payload.errors[0]),metaData:{sdk:{name:'JS',installType:state.context.app.value.installType},state:getAppStateForMetadata(state)??{},source:{snippetVersion:globalThis.RudderSnippetVersion}},user:{
|
1152
|
+
if(message.includes('Error in loading a third-party script')){context='Script load failures';}return context;};const getBugsnagErrorEvent=(payload,errorState,state)=>({notifier:{name:NOTIFIER_NAME,version:state.context.app.value.version,url:SDK_GITHUB_URL},events:[{payloadVersion:'5',exceptions:clone(payload.errors),severity:errorState.severity,unhandled:errorState.unhandled,severityReason:errorState.severityReason,app:{version:state.context.app.value.version,releaseStage:getReleaseStage()},device:{locale:state.context.locale.value??undefined,userAgent:state.context.userAgent.value??undefined,time:new Date()},request:{url:getURLWithoutQueryString(),clientIp:'[NOT COLLECTED]'},breadcrumbs:clone(state.reporting.breadcrumbs.value),context:getErrorContext(payload.errors[0]),metaData:{sdk:{name:'JS',installType:state.context.app.value.installType},state:getAppStateForMetadata(state)??{},source:{snippetVersion:globalThis.RudderSnippetVersion}},user:{// Combination of source, session and visit ids
|
1153
|
+
id:`${state.source.value?.id??state.lifecycle.writeKey.value}..${state.session.sessionInfo.value?.id??'NA'}..${state.autoTrack?.pageLifecycle?.visitId?.value??'NA'}`}}]});/**
|
1155
1154
|
* A function to determine whether the error should be promoted to notify or not
|
1156
1155
|
* @param {Error} error
|
1157
1156
|
* @returns
|
@@ -2774,7 +2773,7 @@ if(utmParam==='campaign'){utmParam='name';}result[utmParam]=value;}});}catch(err
|
|
2774
2773
|
/**
|
2775
2774
|
* Determines if the SDK is running inside a chrome extension
|
2776
2775
|
* @returns boolean
|
2777
|
-
*/const isSDKRunningInChromeExtension=()=>!!
|
2776
|
+
*/const isSDKRunningInChromeExtension=()=>!!window.chrome?.runtime?.id;
|
2778
2777
|
|
2779
2778
|
const DEFAULT_PRE_CONSENT_STORAGE_STRATEGY='none';const DEFAULT_PRE_CONSENT_EVENTS_DELIVERY_TYPE='immediate';
|
2780
2779
|
|
@@ -2885,7 +2884,9 @@ this.httpClient.getAsyncData({url:state.lifecycle.sourceConfigUrl.value,options:
|
|
2885
2884
|
* To get the timezone of the user
|
2886
2885
|
*
|
2887
2886
|
* @returns string
|
2888
|
-
*/const getTimezone=()=>{
|
2887
|
+
*/const getTimezone=()=>{// Not susceptible to super-linear backtracking
|
2888
|
+
// eslint-disable-next-line sonarjs/slow-regex
|
2889
|
+
const timezone=/([A-Z]+[+-]\d+)/.exec(new Date().toString());return timezone?.[1]?timezone[1]:'NA';};
|
2889
2890
|
|
2890
2891
|
/**
|
2891
2892
|
* Get the referrer URL
|