@rudderstack/analytics-js 3.0.0-beta.14 → 3.0.0-beta.15
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 +17 -0
- package/dist/npm/index.d.ts +55 -35
- package/dist/npm/legacy/cjs/index.js +276 -247
- package/dist/npm/legacy/esm/index.js +276 -247
- package/dist/npm/legacy/umd/index.js +276 -247
- package/dist/npm/modern/bundled/cjs/index.js +275 -245
- package/dist/npm/modern/bundled/esm/index.js +275 -245
- package/dist/npm/modern/bundled/umd/index.js +275 -245
- package/dist/npm/modern/cjs/index.js +157 -152
- package/dist/npm/modern/esm/index.js +157 -152
- package/dist/npm/modern/umd/index.js +157 -152
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,23 @@
|
|
2
2
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
4
4
|
|
5
|
+
## [3.0.0-beta.15](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js@3.0.0-beta.14...@rudderstack/analytics-js@3.0.0-beta.15) (2023-11-13)
|
6
|
+
|
7
|
+
|
8
|
+
### Features
|
9
|
+
|
10
|
+
* add beacon polyfill ([#1487](https://github.com/rudderlabs/rudder-sdk-js/issues/1487)) ([8053ae2](https://github.com/rudderlabs/rudder-sdk-js/commit/8053ae2ec7c5757bb65a1881ca1b79fe08c30fc7))
|
11
|
+
* buffer consent method invocations ([#1501](https://github.com/rudderlabs/rudder-sdk-js/issues/1501)) ([70f6f64](https://github.com/rudderlabs/rudder-sdk-js/commit/70f6f64500b6b08bbb657498ec0e1fdecf72b82c))
|
12
|
+
* consent api wrap up ([#1477](https://github.com/rudderlabs/rudder-sdk-js/issues/1477)) ([edc78ac](https://github.com/rudderlabs/rudder-sdk-js/commit/edc78ac54235aabfc8d1d78f961fbd650a3b7c73))
|
13
|
+
* reinitialize persistent data from consent options ([#1465](https://github.com/rudderlabs/rudder-sdk-js/issues/1465)) ([43f30b7](https://github.com/rudderlabs/rudder-sdk-js/commit/43f30b7296ae9a0862810fd0b3c520e8bddf614c))
|
14
|
+
|
15
|
+
|
16
|
+
### Bug Fixes
|
17
|
+
|
18
|
+
* gcm post consent issues ([#1507](https://github.com/rudderlabs/rudder-sdk-js/issues/1507)) ([6241d3d](https://github.com/rudderlabs/rudder-sdk-js/commit/6241d3da28edc9b5f478774a763226d9d72f7dcc))
|
19
|
+
* gcm qa fixes ([#1499](https://github.com/rudderlabs/rudder-sdk-js/issues/1499)) ([84ca784](https://github.com/rudderlabs/rudder-sdk-js/commit/84ca784e6848e7fd8988c4a93db46d4636f2f89c))
|
20
|
+
* storage migration to allow empty string values ([#1488](https://github.com/rudderlabs/rudder-sdk-js/issues/1488)) ([b639fa1](https://github.com/rudderlabs/rudder-sdk-js/commit/b639fa17f22d1bbad951b293c9edba36f164163e))
|
21
|
+
|
5
22
|
## [3.0.0-beta.14](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js@3.0.0-beta.13...@rudderstack/analytics-js@3.0.0-beta.14) (2023-10-27)
|
6
23
|
|
7
24
|
|
package/dist/npm/index.d.ts
CHANGED
@@ -144,11 +144,19 @@ type PluginName = 'BeaconQueue' | 'Bugsnag' | 'CustomConsentManager' | 'DeviceMo
|
|
144
144
|
type OneTrustCookieCategory = {
|
145
145
|
oneTrustCookieCategory: string;
|
146
146
|
};
|
147
|
-
type
|
147
|
+
type ConsentManagementMetadata = {
|
148
|
+
providers: ConsentManagementProviderMetadata[];
|
149
|
+
};
|
150
|
+
type ConsentManagementProviderMetadata = {
|
151
|
+
provider: ConsentManagementProvider;
|
152
|
+
resolutionStrategy: ConsentResolutionStrategy;
|
153
|
+
};
|
154
|
+
type ConsentManagementProvider = 'oneTrust' | 'ketch' | 'custom';
|
155
|
+
type ConsentResolutionStrategy = 'and' | 'or';
|
148
156
|
type Consents = Record<string, string> | string[];
|
149
157
|
type ConsentManagementOptions = {
|
150
158
|
enabled: boolean;
|
151
|
-
provider:
|
159
|
+
provider: ConsentManagementProvider;
|
152
160
|
allowedConsentIds?: Consents;
|
153
161
|
deniedConsentIds?: Consents;
|
154
162
|
};
|
@@ -160,7 +168,7 @@ type KetchConsentPurpose = {
|
|
160
168
|
purpose: string;
|
161
169
|
};
|
162
170
|
|
163
|
-
type
|
171
|
+
type UserSessionKey = 'userId' | 'userTraits' | 'anonymousId' | 'groupId' | 'groupTraits' | 'initialReferrer' | 'initialReferringDomain' | 'sessionInfo' | 'authToken';
|
164
172
|
|
165
173
|
type StorageEncryptionVersion = 'legacy' | 'v3';
|
166
174
|
type StorageType = 'cookieStorage' | 'localStorage' | 'memoryStorage' | 'sessionStorage' | 'none';
|
@@ -176,7 +184,7 @@ type StorageOpts = {
|
|
176
184
|
type?: StorageType;
|
177
185
|
cookie?: CookieOptions;
|
178
186
|
entries?: {
|
179
|
-
[key in
|
187
|
+
[key in UserSessionKey]?: LoadOptionStorageEntry;
|
180
188
|
};
|
181
189
|
};
|
182
190
|
type CookieOptions = {
|
@@ -264,10 +272,10 @@ type PreConsentOptions = {
|
|
264
272
|
type LoadOptions = {
|
265
273
|
logLevel?: LogLevel;
|
266
274
|
integrations?: IntegrationOpts;
|
267
|
-
configUrl
|
275
|
+
configUrl?: string;
|
268
276
|
queueOptions?: QueueOpts;
|
269
277
|
loadIntegration?: boolean;
|
270
|
-
sessions
|
278
|
+
sessions?: SessionOpts;
|
271
279
|
secureCookie?: boolean;
|
272
280
|
destSDKBaseURL?: string;
|
273
281
|
pluginsSDKBaseURL?: string;
|
@@ -276,9 +284,9 @@ type LoadOptions = {
|
|
276
284
|
destinationsQueueOptions?: DestinationsQueueOpts;
|
277
285
|
anonymousIdOptions?: AnonymousIdOptions;
|
278
286
|
setCookieDomain?: string;
|
279
|
-
sameSiteCookie
|
287
|
+
sameSiteCookie?: CookieSameSite;
|
280
288
|
lockIntegrationsVersion?: boolean;
|
281
|
-
polyfillIfRequired
|
289
|
+
polyfillIfRequired?: boolean;
|
282
290
|
onLoaded?: OnLoadedCallback;
|
283
291
|
uaChTrackLevel?: UaChTrackLevel;
|
284
292
|
residencyServer?: ResidencyServerRegion;
|
@@ -592,8 +600,6 @@ interface IHttpClient {
|
|
592
600
|
resetAuthHeader(): void;
|
593
601
|
}
|
594
602
|
|
595
|
-
type LifecycleStatus = 'mounted' | 'browserCapabilitiesReady' | 'configured' | 'pluginsLoading' | 'pluginsReady' | 'initialized' | 'loaded' | 'destinationsLoading' | 'destinationsReady' | 'ready';
|
596
|
-
|
597
603
|
type StoreId = string;
|
598
604
|
interface IStoreConfig {
|
599
605
|
name: string;
|
@@ -611,7 +617,7 @@ interface IStoreManager {
|
|
611
617
|
errorHandler?: IErrorHandler;
|
612
618
|
logger?: ILogger;
|
613
619
|
init(): void;
|
614
|
-
|
620
|
+
initializeStorageState(): void;
|
615
621
|
setStore(storeConfig: IStoreConfig): IStore;
|
616
622
|
getStore(id: StoreId): IStore | undefined;
|
617
623
|
}
|
@@ -768,7 +774,7 @@ interface IUserSessionManager {
|
|
768
774
|
start(sessionId?: number): void;
|
769
775
|
end(): void;
|
770
776
|
syncStorageDataToState(): void;
|
771
|
-
setAuthToken(token: string): void;
|
777
|
+
setAuthToken(token: Nullable<string>): void;
|
772
778
|
}
|
773
779
|
|
774
780
|
type DestinationConnectionMode = 'hybrid' | 'cloud' | 'device';
|
@@ -785,11 +791,20 @@ type DeviceModeDestination = {
|
|
785
791
|
isLoaded: () => boolean;
|
786
792
|
isReady?: () => boolean;
|
787
793
|
};
|
794
|
+
type ConsentsConfig = {
|
795
|
+
consent: string;
|
796
|
+
};
|
797
|
+
type ConsentManagementProviderConfig = {
|
798
|
+
provider: ConsentManagementProvider;
|
799
|
+
consents: ConsentsConfig[];
|
800
|
+
resolutionStrategy: string | undefined;
|
801
|
+
};
|
788
802
|
type DestinationConfig = {
|
789
803
|
blacklistedEvents: DestinationEvent[];
|
790
804
|
whitelistedEvents: DestinationEvent[];
|
791
|
-
oneTrustCookieCategories
|
792
|
-
ketchConsentPurposes
|
805
|
+
oneTrustCookieCategories?: OneTrustCookieCategory[];
|
806
|
+
ketchConsentPurposes?: KetchConsentPurpose[];
|
807
|
+
consentManagement?: ConsentManagementProviderConfig[];
|
793
808
|
eventFilteringOption: EventFilteringOption;
|
794
809
|
clickEventConversions?: Conversion[];
|
795
810
|
pageLoadConversions?: Conversion[];
|
@@ -901,7 +916,6 @@ declare class BufferQueue<T = any> {
|
|
901
916
|
interface IAnalytics {
|
902
917
|
preloadBuffer: BufferQueue<PreloadedEventCall>;
|
903
918
|
initialized: boolean;
|
904
|
-
status?: LifecycleStatus;
|
905
919
|
httpClient: IHttpClient;
|
906
920
|
logger: ILogger;
|
907
921
|
errorHandler: IErrorHandler;
|
@@ -924,7 +938,11 @@ interface IAnalytics {
|
|
924
938
|
/**
|
925
939
|
* Load browser polyfill if required
|
926
940
|
*/
|
927
|
-
|
941
|
+
onMounted(): void;
|
942
|
+
/**
|
943
|
+
* Prepare internal services and load configuration
|
944
|
+
*/
|
945
|
+
onBrowserCapabilitiesReady(): void;
|
928
946
|
/**
|
929
947
|
* Enqueue in buffer the events that were triggered pre SDK initialization
|
930
948
|
*/
|
@@ -944,11 +962,11 @@ interface IAnalytics {
|
|
944
962
|
/**
|
945
963
|
* Initialize the storage and event queue
|
946
964
|
*/
|
947
|
-
|
965
|
+
onPluginsReady(): void;
|
948
966
|
/**
|
949
967
|
* Load plugins
|
950
968
|
*/
|
951
|
-
|
969
|
+
onConfigured(): void;
|
952
970
|
/**
|
953
971
|
* Trigger onLoaded callback if any is provided in config & emit initialised event
|
954
972
|
*/
|
@@ -972,27 +990,27 @@ interface IAnalytics {
|
|
972
990
|
/**
|
973
991
|
* To register a callback for SDK ready state
|
974
992
|
*/
|
975
|
-
ready(callback: ApiCallback): void;
|
993
|
+
ready(callback: ApiCallback, isBufferedInvocation?: boolean): void;
|
976
994
|
/**
|
977
995
|
* To record a page view event
|
978
996
|
*/
|
979
|
-
page(pageOptions: PageCallOptions): void;
|
997
|
+
page(pageOptions: PageCallOptions, isBufferedInvocation?: boolean): void;
|
980
998
|
/**
|
981
999
|
* To record a user track event
|
982
1000
|
*/
|
983
|
-
track(trackCallOptions: TrackCallOptions): void;
|
1001
|
+
track(trackCallOptions: TrackCallOptions, isBufferedInvocation?: boolean): void;
|
984
1002
|
/**
|
985
1003
|
* To record a user identification event
|
986
1004
|
*/
|
987
|
-
identify(identifyCallOptions: IdentifyCallOptions): void;
|
1005
|
+
identify(identifyCallOptions: IdentifyCallOptions, isBufferedInvocation?: boolean): void;
|
988
1006
|
/**
|
989
1007
|
* To record a user alias event
|
990
1008
|
*/
|
991
|
-
alias(aliasCallOptions: AliasCallOptions): void;
|
1009
|
+
alias(aliasCallOptions: AliasCallOptions, isBufferedInvocation?: boolean): void;
|
992
1010
|
/**
|
993
1011
|
* To record a user group event
|
994
1012
|
*/
|
995
|
-
group(groupCallOptions: GroupCallOptions): void;
|
1013
|
+
group(groupCallOptions: GroupCallOptions, isBufferedInvocation?: boolean): void;
|
996
1014
|
/**
|
997
1015
|
* To get anonymousId set in the SDK
|
998
1016
|
*/
|
@@ -1000,11 +1018,11 @@ interface IAnalytics {
|
|
1000
1018
|
/**
|
1001
1019
|
* To set anonymousId
|
1002
1020
|
*/
|
1003
|
-
setAnonymousId(anonymousId?: string, rudderAmpLinkerParam?: string): void;
|
1021
|
+
setAnonymousId(anonymousId?: string, rudderAmpLinkerParam?: string, isBufferedInvocation?: boolean): void;
|
1004
1022
|
/**
|
1005
1023
|
* Clear user information, optionally anonymousId as well
|
1006
1024
|
*/
|
1007
|
-
reset(resetAnonymousId?: boolean): void;
|
1025
|
+
reset(resetAnonymousId?: boolean, isBufferedInvocation?: boolean): void;
|
1008
1026
|
/**
|
1009
1027
|
* To get userId set in the SDK
|
1010
1028
|
*/
|
@@ -1024,11 +1042,11 @@ interface IAnalytics {
|
|
1024
1042
|
/**
|
1025
1043
|
* To manually start user session in the SDK
|
1026
1044
|
*/
|
1027
|
-
startSession(sessionId?: number): void;
|
1045
|
+
startSession(sessionId?: number, isBufferedInvocation?: boolean): void;
|
1028
1046
|
/**
|
1029
1047
|
* To manually end user session in the SDK
|
1030
1048
|
*/
|
1031
|
-
endSession(): void;
|
1049
|
+
endSession(isBufferedInvocation?: boolean): void;
|
1032
1050
|
/**
|
1033
1051
|
* To fetch the current sessionId
|
1034
1052
|
*/
|
@@ -1037,7 +1055,7 @@ interface IAnalytics {
|
|
1037
1055
|
* To record consent
|
1038
1056
|
* @param options Consent API options
|
1039
1057
|
*/
|
1040
|
-
consent(options?: ConsentOptions): void;
|
1058
|
+
consent(options?: ConsentOptions, isBufferedInvocation?: boolean): void;
|
1041
1059
|
/**
|
1042
1060
|
* To set auth token
|
1043
1061
|
*/
|
@@ -1065,11 +1083,8 @@ declare class RudderAnalytics implements IRudderAnalytics<IAnalytics> {
|
|
1065
1083
|
*/
|
1066
1084
|
load(writeKey: string, dataPlaneUrl: string, loadOptions?: Partial<LoadOptions>): void;
|
1067
1085
|
/**
|
1068
|
-
*
|
1069
|
-
|
1070
|
-
getPreloadBuffer(): void;
|
1071
|
-
/**
|
1072
|
-
* Trigger load event in buffer queue if exists
|
1086
|
+
* Trigger load event in buffer queue if exists and stores the
|
1087
|
+
* remaining preloaded events array in global object
|
1073
1088
|
*/
|
1074
1089
|
triggerBufferedLoadEvent(): void;
|
1075
1090
|
/**
|
@@ -1134,6 +1149,8 @@ type ScreenInfo = {
|
|
1134
1149
|
|
1135
1150
|
type BufferedEvent = any[];
|
1136
1151
|
|
1152
|
+
type LifecycleStatus = 'mounted' | 'browserCapabilitiesReady' | 'configured' | 'pluginsLoading' | 'pluginsReady' | 'initialized' | 'loaded' | 'destinationsLoading' | 'destinationsReady' | 'ready';
|
1153
|
+
|
1137
1154
|
type SessionInfo = {
|
1138
1155
|
autoTrack?: boolean;
|
1139
1156
|
manualTrack?: boolean;
|
@@ -1164,6 +1181,9 @@ type ConsentsState = {
|
|
1164
1181
|
activeConsentManagerPluginName: Signal<PluginName | undefined>;
|
1165
1182
|
preConsent: Signal<PreConsentOptions>;
|
1166
1183
|
postConsent: Signal<ConsentOptions>;
|
1184
|
+
resolutionStrategy: Signal<ConsentResolutionStrategy | undefined>;
|
1185
|
+
provider: Signal<ConsentManagementProvider | undefined>;
|
1186
|
+
metadata: Signal<ConsentManagementMetadata | undefined>;
|
1167
1187
|
};
|
1168
1188
|
type ContextState = {
|
1169
1189
|
app: Signal<AppInfo>;
|
@@ -1243,7 +1263,7 @@ type StorageEntry = {
|
|
1243
1263
|
key: string;
|
1244
1264
|
};
|
1245
1265
|
type StorageEntries = {
|
1246
|
-
[key in
|
1266
|
+
[key in UserSessionKey]?: StorageEntry;
|
1247
1267
|
};
|
1248
1268
|
type StorageState = {
|
1249
1269
|
encryptionPluginName: Signal<PluginName | undefined>;
|