@amplitude/analytics-browser 1.13.9 → 1.14.0

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/README.md CHANGED
@@ -40,7 +40,7 @@ Alternatively, the package is also distributed through a CDN. Copy and paste the
40
40
  <!-- README_SNIPPET_BLOCK -->
41
41
  ```html
42
42
  <script type="text/javascript">
43
- !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e._q.push({name:t,args:Array.prototype.slice.call(r,0)})},i=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))};o(e,t,Array.prototype.slice.call(arguments))}},a=function(e){for(var t=0;t<g.length;t++)i(e,g[t],!1);for(var r=0;r<m.length;r++)i(e,m[r],!0)};r.invoked=!0;var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-OvCeI45wmzzc5dSTnNAAV+Vi4on4Fi1dsezItbAEQbJ0eLUyhgO7SkBMIeaTpEW2",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-1.13.9-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(c,u);for(var l=function(){return this._q=[],this},p=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],d=0;d<p.length;d++)n(l,p[d]);r.Identify=l;for(var f=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],y=0;y<v.length;y++)n(f,v[y]);r.Revenue=f;var g=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset"],m=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];a(r),r.createInstance=function(e){return r._iq[e]={_q:[]},a(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
43
+ !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e._q.push({name:t,args:Array.prototype.slice.call(r,0)})},i=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))};o(e,t,Array.prototype.slice.call(arguments))}},a=function(e){for(var t=0;t<g.length;t++)i(e,g[t],!1);for(var r=0;r<m.length;r++)i(e,m[r],!0)};r.invoked=!0;var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-o9+x1Hb+cy1ESJsIzU45HPwAYxhPDiidOC6avKQnouK5dIsv7ycQghRWMK5eASVm",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-1.14.0-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(c,u);for(var l=function(){return this._q=[],this},p=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],d=0;d<p.length;d++)n(l,p[d]);r.Identify=l;for(var v=function(){return this._q=[],this},f=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],y=0;y<f.length;y++)n(v,f[y]);r.Revenue=v;var g=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset"],m=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];a(r),r.createInstance=function(e){return r._iq[e]={_q:[]},a(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
44
44
 
45
45
  amplitude.init("YOUR_API_KEY_HERE");
46
46
  </script>
@@ -29,6 +29,7 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
29
29
  partnerId?: string;
30
30
  sessionTimeout: number;
31
31
  trackingOptions: TrackingOptions;
32
+ version: string;
32
33
  protected _deviceId?: string;
33
34
  protected _lastEventId?: number;
34
35
  protected _lastEventTime?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,aAAa,IAAI,cAAc,EAC/B,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAgC,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGlG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAuB5B,CAAC;AAEF,qBAAa,aAAc,SAAQ,MAAO,YAAW,cAAc;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IAGjC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAoCpD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,IAAI,WAAW,IAIc,MAAM,GAAG,SAAS,CAF9C;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAK9C;IAED,OAAO,CAAC,aAAa;CAWtB;AAED,eAAO,MAAM,gBAAgB,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,cAAc,CA8BvG,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAClB,cAAc;;;;;;;;;;;yBAS3B,CAAC;AAkBF,eAAO,MAAM,mBAAmB,eAAsB,cAAc,KAAG,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAgB1G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,aAAa,GAAG,MAAM,oBAAoB,wDAQrF,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,MAAM,oBA6BnD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,aAAa,IAAI,cAAc,EAC/B,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAgC,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGlG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAuB5B,CAAC;AAEF,qBAAa,aAAc,SAAQ,MAAO,YAAW,cAAc;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,SAAW;IAGlB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAoCpD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,IAAI,WAAW,IAIc,MAAM,GAAG,SAAS,CAF9C;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAK9C;IAED,OAAO,CAAC,aAAa;CAWtB;AAED,eAAO,MAAM,gBAAgB,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,cAAc,CA8BvG,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAClB,cAAc;;;;;;;;;;;yBAS3B,CAAC;AAkBF,eAAO,MAAM,mBAAmB,eAAsB,cAAc,KAAG,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAgB1G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,aAAa,GAAG,MAAM,oBAAoB,wDAQrF,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,MAAM,oBA6BnD,CAAC"}
package/lib/cjs/config.js CHANGED
@@ -8,6 +8,7 @@ var analytics_client_common_1 = require("@amplitude/analytics-client-common");
8
8
  var local_storage_1 = require("./storage/local-storage");
9
9
  var xhr_1 = require("./transports/xhr");
10
10
  var send_beacon_1 = require("./transports/send-beacon");
11
+ var version_1 = require("./version");
11
12
  var getDefaultConfig = function () {
12
13
  var cookieStorage = new analytics_core_1.MemoryStorage();
13
14
  var trackingOptions = {
@@ -40,6 +41,7 @@ var BrowserConfig = /** @class */ (function (_super) {
40
41
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
41
42
  var defaultConfig = (0, exports.getDefaultConfig)();
42
43
  _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({ flushIntervalMillis: 1000, flushMaxRetries: 5, flushQueueSize: 30, transportProvider: defaultConfig.transportProvider }, options), { apiKey: apiKey })) || this;
44
+ _this.version = version_1.VERSION;
43
45
  _this._optOut = false;
44
46
  // NOTE: Define `cookieStorage` first to persist user session
45
47
  // user session properties expect `cookieStorage` to be defined
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n defaultTracking?: DefaultTrackingOptions | boolean;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventId = options?.lastEventId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.defaultTracking = options?.defaultTracking;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.defaultTracking = options?.defaultTracking;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n lastEventId: this._lastEventId,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? UUID();\n const lastEventId = options?.lastEventId;\n const lastEventTime = options?.lastEventTime;\n const optOut = options?.optOut;\n const sessionId = options?.sessionId;\n const userId = options?.userId;\n const cookieStorage = options?.cookieStorage;\n const domain = options?.domain;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventId,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async <T>(\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<T>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage as Storage<T>;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<T>(options);\n }\n return cookieStorage;\n};\n\nconst createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n const loggerProvider = overrides && overrides.loggerProvider;\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>({ loggerProvider })]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (\n !(await new CookieStorage<number>().isEnabled()) ||\n (!url && (typeof location === 'undefined' || !location.hostname))\n ) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\nimport { VERSION } from './version';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n defaultTracking?: DefaultTrackingOptions | boolean;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n version = VERSION;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventId = options?.lastEventId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.defaultTracking = options?.defaultTracking;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.defaultTracking = options?.defaultTracking;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n lastEventId: this._lastEventId,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? UUID();\n const lastEventId = options?.lastEventId;\n const lastEventTime = options?.lastEventTime;\n const optOut = options?.optOut;\n const sessionId = options?.sessionId;\n const userId = options?.userId;\n const cookieStorage = options?.cookieStorage;\n const domain = options?.domain;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventId,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async <T>(\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<T>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage as Storage<T>;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<T>(options);\n }\n return cookieStorage;\n};\n\nconst createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n const loggerProvider = overrides && overrides.loggerProvider;\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>({ loggerProvider })]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (\n !(await new CookieStorage<number>().isEnabled()) ||\n (!url && (typeof location === 'undefined' || !location.hostname))\n ) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.13.9";
1
+ export declare const VERSION = "1.14.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.VERSION = void 0;
3
- exports.VERSION = '1.13.9';
3
+ exports.VERSION = '1.14.0';
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["export const VERSION = '1.13.9';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["export const VERSION = '1.14.0';\n"]}
@@ -29,6 +29,7 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
29
29
  partnerId?: string;
30
30
  sessionTimeout: number;
31
31
  trackingOptions: TrackingOptions;
32
+ version: string;
32
33
  protected _deviceId?: string;
33
34
  protected _lastEventId?: number;
34
35
  protected _lastEventTime?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,aAAa,IAAI,cAAc,EAC/B,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAgC,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGlG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAuB5B,CAAC;AAEF,qBAAa,aAAc,SAAQ,MAAO,YAAW,cAAc;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IAGjC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAoCpD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,IAAI,WAAW,IAIc,MAAM,GAAG,SAAS,CAF9C;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAK9C;IAED,OAAO,CAAC,aAAa;CAWtB;AAED,eAAO,MAAM,gBAAgB,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,cAAc,CA8BvG,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAClB,cAAc;;;;;;;;;;;yBAS3B,CAAC;AAkBF,eAAO,MAAM,mBAAmB,eAAsB,cAAc,KAAG,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAgB1G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,aAAa,GAAG,MAAM,oBAAoB,wDAQrF,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,MAAM,oBA6BnD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,aAAa,IAAI,cAAc,EAC/B,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAgC,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGlG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAuB5B,CAAC;AAEF,qBAAa,aAAc,SAAQ,MAAO,YAAW,cAAc;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,SAAW;IAGlB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAoCpD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,IAAI,WAAW,IAIc,MAAM,GAAG,SAAS,CAF9C;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAK9C;IAED,OAAO,CAAC,aAAa;CAWtB;AAED,eAAO,MAAM,gBAAgB,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,cAAc,CA8BvG,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAClB,cAAc;;;;;;;;;;;yBAS3B,CAAC;AAkBF,eAAO,MAAM,mBAAmB,eAAsB,cAAc,KAAG,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAgB1G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,aAAa,GAAG,MAAM,oBAAoB,wDAQrF,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,MAAM,oBA6BnD,CAAC"}
package/lib/esm/config.js CHANGED
@@ -5,6 +5,7 @@ import { CookieStorage, getCookieName, FetchTransport } from '@amplitude/analyti
5
5
  import { LocalStorage } from './storage/local-storage';
6
6
  import { XHRTransport } from './transports/xhr';
7
7
  import { SendBeaconTransport } from './transports/send-beacon';
8
+ import { VERSION } from './version';
8
9
  export var getDefaultConfig = function () {
9
10
  var cookieStorage = new MemoryStorage();
10
11
  var trackingOptions = {
@@ -36,6 +37,7 @@ var BrowserConfig = /** @class */ (function (_super) {
36
37
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
37
38
  var defaultConfig = getDefaultConfig();
38
39
  _this = _super.call(this, __assign(__assign({ flushIntervalMillis: 1000, flushMaxRetries: 5, flushQueueSize: 30, transportProvider: defaultConfig.transportProvider }, options), { apiKey: apiKey })) || this;
40
+ _this.version = VERSION;
39
41
  _this._optOut = false;
40
42
  // NOTE: Define `cookieStorage` first to persist user session
41
43
  // user session properties expect `cookieStorage` to be defined
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n defaultTracking?: DefaultTrackingOptions | boolean;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventId = options?.lastEventId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.defaultTracking = options?.defaultTracking;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.defaultTracking = options?.defaultTracking;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n lastEventId: this._lastEventId,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? UUID();\n const lastEventId = options?.lastEventId;\n const lastEventTime = options?.lastEventTime;\n const optOut = options?.optOut;\n const sessionId = options?.sessionId;\n const userId = options?.userId;\n const cookieStorage = options?.cookieStorage;\n const domain = options?.domain;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventId,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async <T>(\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<T>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage as Storage<T>;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<T>(options);\n }\n return cookieStorage;\n};\n\nconst createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n const loggerProvider = overrides && overrides.loggerProvider;\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>({ loggerProvider })]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (\n !(await new CookieStorage<number>().isEnabled()) ||\n (!url && (typeof location === 'undefined' || !location.hostname))\n ) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\nimport { VERSION } from './version';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n defaultTracking?: DefaultTrackingOptions | boolean;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n version = VERSION;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventId = options?.lastEventId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.defaultTracking = options?.defaultTracking;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.defaultTracking = options?.defaultTracking;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n lastEventId: this._lastEventId,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? UUID();\n const lastEventId = options?.lastEventId;\n const lastEventTime = options?.lastEventTime;\n const optOut = options?.optOut;\n const sessionId = options?.sessionId;\n const userId = options?.userId;\n const cookieStorage = options?.cookieStorage;\n const domain = options?.domain;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventId,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async <T>(\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<T>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage as Storage<T>;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<T>(options);\n }\n return cookieStorage;\n};\n\nconst createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n const loggerProvider = overrides && overrides.loggerProvider;\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>({ loggerProvider })]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (\n !(await new CookieStorage<number>().isEnabled()) ||\n (!url && (typeof location === 'undefined' || !location.hostname))\n ) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.13.9";
1
+ export declare const VERSION = "1.14.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export var VERSION = '1.13.9';
1
+ export var VERSION = '1.14.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["export const VERSION = '1.13.9';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["export const VERSION = '1.14.0';\n"]}