@amplitude/analytics-browser 1.10.6 → 2.0.0-beta.1

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.
Files changed (75) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/browser-client.d.ts.map +1 -1
  3. package/lib/cjs/browser-client.js +41 -95
  4. package/lib/cjs/browser-client.js.map +1 -1
  5. package/lib/cjs/config.d.ts +32 -41
  6. package/lib/cjs/config.d.ts.map +1 -1
  7. package/lib/cjs/config.js +135 -175
  8. package/lib/cjs/config.js.map +1 -1
  9. package/lib/cjs/constants.d.ts +3 -0
  10. package/lib/cjs/constants.d.ts.map +1 -1
  11. package/lib/cjs/constants.js +3 -1
  12. package/lib/cjs/constants.js.map +1 -1
  13. package/lib/cjs/cookie-migration/index.d.ts +2 -2
  14. package/lib/cjs/cookie-migration/index.d.ts.map +1 -1
  15. package/lib/cjs/cookie-migration/index.js +31 -32
  16. package/lib/cjs/cookie-migration/index.js.map +1 -1
  17. package/lib/cjs/plugins/context.d.ts +0 -2
  18. package/lib/cjs/plugins/context.d.ts.map +1 -1
  19. package/lib/cjs/plugins/context.js +2 -8
  20. package/lib/cjs/plugins/context.js.map +1 -1
  21. package/lib/cjs/version.d.ts +1 -1
  22. package/lib/cjs/version.d.ts.map +1 -1
  23. package/lib/cjs/version.js +1 -1
  24. package/lib/cjs/version.js.map +1 -1
  25. package/lib/esm/browser-client.d.ts.map +1 -1
  26. package/lib/esm/browser-client.js +44 -98
  27. package/lib/esm/browser-client.js.map +1 -1
  28. package/lib/esm/config.d.ts +32 -41
  29. package/lib/esm/config.d.ts.map +1 -1
  30. package/lib/esm/config.js +137 -175
  31. package/lib/esm/config.js.map +1 -1
  32. package/lib/esm/constants.d.ts +3 -0
  33. package/lib/esm/constants.d.ts.map +1 -1
  34. package/lib/esm/constants.js +2 -0
  35. package/lib/esm/constants.js.map +1 -1
  36. package/lib/esm/cookie-migration/index.d.ts +2 -2
  37. package/lib/esm/cookie-migration/index.d.ts.map +1 -1
  38. package/lib/esm/cookie-migration/index.js +31 -32
  39. package/lib/esm/cookie-migration/index.js.map +1 -1
  40. package/lib/esm/plugins/context.d.ts +0 -2
  41. package/lib/esm/plugins/context.d.ts.map +1 -1
  42. package/lib/esm/plugins/context.js +2 -8
  43. package/lib/esm/plugins/context.js.map +1 -1
  44. package/lib/esm/version.d.ts +1 -1
  45. package/lib/esm/version.d.ts.map +1 -1
  46. package/lib/esm/version.js +1 -1
  47. package/lib/esm/version.js.map +1 -1
  48. package/lib/scripts/amplitude-min.js +1 -1
  49. package/lib/scripts/amplitude-min.js.gz +0 -0
  50. package/lib/scripts/amplitude-min.umd.js +1 -1
  51. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  52. package/lib/scripts/amplitude-snippet-instructions.html +1 -1
  53. package/lib/scripts/amplitude-snippet-min.js +1 -1
  54. package/lib/scripts/browser-client.d.ts.map +1 -1
  55. package/lib/scripts/config.d.ts +32 -41
  56. package/lib/scripts/config.d.ts.map +1 -1
  57. package/lib/scripts/constants.d.ts +3 -0
  58. package/lib/scripts/constants.d.ts.map +1 -1
  59. package/lib/scripts/cookie-migration/index.d.ts +2 -2
  60. package/lib/scripts/cookie-migration/index.d.ts.map +1 -1
  61. package/lib/scripts/plugins/context.d.ts +0 -2
  62. package/lib/scripts/plugins/context.d.ts.map +1 -1
  63. package/lib/scripts/version.d.ts +1 -1
  64. package/lib/scripts/version.d.ts.map +1 -1
  65. package/package.json +7 -9
  66. package/lib/cjs/plugins/default-page-view-event-enrichment.d.ts +0 -3
  67. package/lib/cjs/plugins/default-page-view-event-enrichment.d.ts.map +0 -1
  68. package/lib/cjs/plugins/default-page-view-event-enrichment.js +0 -47
  69. package/lib/cjs/plugins/default-page-view-event-enrichment.js.map +0 -1
  70. package/lib/esm/plugins/default-page-view-event-enrichment.d.ts +0 -3
  71. package/lib/esm/plugins/default-page-view-event-enrichment.d.ts.map +0 -1
  72. package/lib/esm/plugins/default-page-view-event-enrichment.js +0 -43
  73. package/lib/esm/plugins/default-page-view-event-enrichment.js.map +0 -1
  74. package/lib/scripts/plugins/default-page-view-event-enrichment.d.ts +0 -3
  75. package/lib/scripts/plugins/default-page-view-event-enrichment.d.ts.map +0 -1
@@ -2,7 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.Context = void 0;
3
3
  var tslib_1 = require("tslib");
4
4
  var analytics_types_1 = require("@amplitude/analytics-types");
5
- var ua_parser_js_1 = tslib_1.__importDefault(require("@amplitude/ua-parser-js"));
6
5
  var analytics_core_1 = require("@amplitude/analytics-core");
7
6
  var analytics_client_common_1 = require("@amplitude/analytics-client-common");
8
7
  var version_1 = require("../version");
@@ -18,7 +17,6 @@ var Context = /** @class */ (function () {
18
17
  if (typeof navigator !== 'undefined') {
19
18
  this.userAgent = navigator.userAgent;
20
19
  }
21
- this.uaResult = new ua_parser_js_1.default(this.userAgent).getResult();
22
20
  }
23
21
  Context.prototype.setup = function (config) {
24
22
  this.config = config;
@@ -27,15 +25,11 @@ var Context = /** @class */ (function () {
27
25
  };
28
26
  Context.prototype.execute = function (context) {
29
27
  return tslib_1.__awaiter(this, void 0, void 0, function () {
30
- var time, osName, osVersion, deviceModel, deviceVendor, event;
28
+ var time, event;
31
29
  return tslib_1.__generator(this, function (_a) {
32
30
  time = new Date().getTime();
33
- osName = this.uaResult.browser.name;
34
- osVersion = this.uaResult.browser.version;
35
- deviceModel = this.uaResult.device.model || this.uaResult.os.name;
36
- deviceVendor = this.uaResult.device.vendor;
37
31
  this.config.lastEventId = this.eventId;
38
- event = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({ user_id: this.config.userId, device_id: this.config.deviceId, session_id: this.config.sessionId, time: time }, (this.config.appVersion && { app_version: this.config.appVersion })), (this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM })), (this.config.trackingOptions.osName && { os_name: osName })), (this.config.trackingOptions.osVersion && { os_version: osVersion })), (this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor })), (this.config.trackingOptions.deviceModel && { device_model: deviceModel })), (this.config.trackingOptions.language && { language: (0, analytics_client_common_1.getLanguage)() })), (this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS })), { insert_id: (0, analytics_core_1.UUID)(), partner_id: this.config.partnerId, plan: this.config.plan }), (this.config.ingestionMetadata && {
32
+ event = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({ user_id: this.config.userId, device_id: this.config.deviceId, session_id: this.config.sessionId, time: time }, (this.config.appVersion && { app_version: this.config.appVersion })), (this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM })), (this.config.trackingOptions.language && { language: (0, analytics_client_common_1.getLanguage)() })), (this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS })), { insert_id: (0, analytics_core_1.UUID)(), partner_id: this.config.partnerId, plan: this.config.plan }), (this.config.ingestionMetadata && {
39
33
  ingestion_metadata: {
40
34
  source_name: this.config.ingestionMetadata.sourceName,
41
35
  source_version: this.config.ingestionMetadata.sourceVersion,
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { BeforePlugin, BrowserConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport UAParser from '@amplitude/ua-parser-js';\nimport { UUID } from '@amplitude/analytics-core';\nimport { getLanguage } from '@amplitude/analytics-client-common';\nimport { VERSION } from '../version';\n\nconst BROWSER_PLATFORM = 'Web';\nconst IP_ADDRESS = '$remote';\nexport class Context implements BeforePlugin {\n name = 'context';\n type = PluginType.BEFORE as const;\n\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n eventId = 0;\n userAgent: string | undefined;\n uaResult: UAParser.IResult;\n library = `amplitude-ts/${VERSION}`;\n\n constructor() {\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n this.userAgent = navigator.userAgent;\n }\n this.uaResult = new UAParser(this.userAgent).getResult();\n }\n\n setup(config: BrowserConfig): Promise<undefined> {\n this.config = config;\n this.eventId = this.config.lastEventId ? this.config.lastEventId + 1 : 0;\n\n return Promise.resolve(undefined);\n }\n\n async execute(context: Event): Promise<Event> {\n const time = new Date().getTime();\n const osName = this.uaResult.browser.name;\n const osVersion = this.uaResult.browser.version;\n const deviceModel = this.uaResult.device.model || this.uaResult.os.name;\n const deviceVendor = this.uaResult.device.vendor;\n this.config.lastEventId = this.eventId;\n\n const event: Event = {\n user_id: this.config.userId,\n device_id: this.config.deviceId,\n session_id: this.config.sessionId,\n time,\n ...(this.config.appVersion && { app_version: this.config.appVersion }),\n ...(this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM }),\n ...(this.config.trackingOptions.osName && { os_name: osName }),\n ...(this.config.trackingOptions.osVersion && { os_version: osVersion }),\n ...(this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor }),\n ...(this.config.trackingOptions.deviceModel && { device_model: deviceModel }),\n ...(this.config.trackingOptions.language && { language: getLanguage() }),\n ...(this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS }),\n insert_id: UUID(),\n partner_id: this.config.partnerId,\n plan: this.config.plan,\n ...(this.config.ingestionMetadata && {\n ingestion_metadata: {\n source_name: this.config.ingestionMetadata.sourceName,\n source_version: this.config.ingestionMetadata.sourceVersion,\n },\n }),\n ...context,\n event_id: this.eventId++,\n library: this.library,\n user_agent: this.userAgent,\n };\n return event;\n }\n}\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":";;;AAAA,8DAA4F;AAC5F,4DAAiD;AACjD,8EAAiE;AACjE,sCAAqC;AAErC,IAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,IAAM,UAAU,GAAG,SAAS,CAAC;AAC7B;IAYE;QAXA,SAAI,GAAG,SAAS,CAAC;QACjB,SAAI,GAAG,4BAAU,CAAC,MAAe,CAAC;QAMlC,YAAO,GAAG,CAAC,CAAC;QAEZ,YAAO,GAAG,uBAAgB,iBAAO,CAAE,CAAC;QAGlC,0BAA0B;QAC1B,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;SACtC;IACH,CAAC;IAED,uBAAK,GAAL,UAAM,MAAqB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEK,yBAAO,GAAb,UAAc,OAAc;;;;gBACpB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;gBAEjC,KAAK,6IACT,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAC3B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EACjC,IAAI,MAAA,IACD,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GACnE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,GACxE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAA,qCAAW,GAAE,EAAE,CAAC,GACrE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,KAChE,SAAS,EAAE,IAAA,qBAAI,GAAE,EACjB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KACnB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI;oBACnC,kBAAkB,EAAE;wBAClB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU;wBACrD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa;qBAC5D;iBACF,CAAC,GACC,OAAO,KACV,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,UAAU,EAAE,IAAI,CAAC,SAAS,GAC3B,CAAC;gBACF,sBAAO,KAAK,EAAC;;;KACd;IACH,cAAC;AAAD,CAAC,AAvDD,IAuDC;AAvDY,0BAAO","sourcesContent":["import { BeforePlugin, BrowserConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport { UUID } from '@amplitude/analytics-core';\nimport { getLanguage } from '@amplitude/analytics-client-common';\nimport { VERSION } from '../version';\n\nconst BROWSER_PLATFORM = 'Web';\nconst IP_ADDRESS = '$remote';\nexport class Context implements BeforePlugin {\n name = 'context';\n type = PluginType.BEFORE as const;\n\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n eventId = 0;\n userAgent: string | undefined;\n library = `amplitude-ts/${VERSION}`;\n\n constructor() {\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n this.userAgent = navigator.userAgent;\n }\n }\n\n setup(config: BrowserConfig): Promise<undefined> {\n this.config = config;\n this.eventId = this.config.lastEventId ? this.config.lastEventId + 1 : 0;\n\n return Promise.resolve(undefined);\n }\n\n async execute(context: Event): Promise<Event> {\n const time = new Date().getTime();\n this.config.lastEventId = this.eventId;\n\n const event: Event = {\n user_id: this.config.userId,\n device_id: this.config.deviceId,\n session_id: this.config.sessionId,\n time,\n ...(this.config.appVersion && { app_version: this.config.appVersion }),\n ...(this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM }),\n ...(this.config.trackingOptions.language && { language: getLanguage() }),\n ...(this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS }),\n insert_id: UUID(),\n partner_id: this.config.partnerId,\n plan: this.config.plan,\n ...(this.config.ingestionMetadata && {\n ingestion_metadata: {\n source_name: this.config.ingestionMetadata.sourceName,\n source_version: this.config.ingestionMetadata.sourceVersion,\n },\n }),\n ...context,\n event_id: this.eventId++,\n library: this.library,\n user_agent: this.userAgent,\n };\n return event;\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.10.6";
1
+ export declare const VERSION = "2.0.0-beta.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.VERSION = void 0;
3
- exports.VERSION = '1.10.6';
3
+ exports.VERSION = '2.0.0-beta.1';
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.10.6';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,cAAc,CAAC","sourcesContent":["export const VERSION = '2.0.0-beta.1';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAa/G,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EAEd,MAAM,4BAA4B,CAAC;AAapC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,IAAI,CAAC,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;cAG3C,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IA8GlE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAYpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAS5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IA+B9B,YAAY,CAAC,SAAS,EAAE,aAAa;IAQrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAezD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAS/G,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;CAQvD"}
1
+ {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAa/G,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EACd,MAAM,4BAA4B,CAAC;AAWpC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,IAAI,CAAC,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;cAG3C,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAmElE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAYpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAS5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IA+B9B,YAAY,CAAC,SAAS,EAAE,aAAa;IAQrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAezD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAS/G,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;CAQvD"}
@@ -1,17 +1,15 @@
1
1
  import { __assign, __awaiter, __extends, __generator } from "tslib";
2
2
  import { AmplitudeCore, Destination, Identify, returnWrapper, Revenue, UUID } from '@amplitude/analytics-core';
3
- import { getAnalyticsConnector, getPageViewTrackingConfig, IdentityEventSender, isSessionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, getCookieName, getQueryParams, setConnectorDeviceId, setConnectorUserId, } from '@amplitude/analytics-client-common';
3
+ import { getAnalyticsConnector, getAttributionTrackingConfig, getPageViewTrackingConfig, IdentityEventSender, isAttributionTrackingEnabled, isSessionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, setConnectorDeviceId, setConnectorUserId, } from '@amplitude/analytics-client-common';
4
4
  import { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';
5
5
  import { Context } from './plugins/context';
6
- import { useBrowserConfig, createTransport, getTopLevelDomain, createCookieStorage } from './config';
7
- import { parseLegacyCookies } from './cookie-migration';
6
+ import { useBrowserConfig, createTransport } from './config';
8
7
  import { webAttributionPlugin } from '@amplitude/plugin-web-attribution-browser';
9
8
  import { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';
10
9
  import { sessionHandlerPlugin } from './plugins/session-handler';
11
10
  import { formInteractionTracking } from './plugins/form-interaction-tracking';
12
11
  import { fileDownloadTracking } from './plugins/file-download-tracking';
13
- import { DEFAULT_PAGE_VIEW_EVENT, DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';
14
- import { defaultPageViewEventEnrichment } from './plugins/default-page-view-event-enrichment';
12
+ import { DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';
15
13
  var AmplitudeBrowser = /** @class */ (function (_super) {
16
14
  __extends(AmplitudeBrowser, _super);
17
15
  function AmplitudeBrowser() {
@@ -22,69 +20,30 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
22
20
  return returnWrapper(this._init(__assign(__assign({}, options), { userId: userId, apiKey: apiKey })));
23
21
  };
24
22
  AmplitudeBrowser.prototype._init = function (options) {
25
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _r, _s, _t, _u;
26
23
  return __awaiter(this, void 0, void 0, function () {
27
- var _v, _w, _x, legacyCookies, cookieStorage, previousCookies, queryParams, deviceId, sessionId, optOut, lastEventId, lastEventTime, userId, browserOptions, isNewSession, connector, webAttribution, pageViewTrackingOptions;
24
+ var browserOptions, connector, attributionTrackingOptions, webAttribution;
28
25
  var _this = this;
29
- return __generator(this, function (_y) {
30
- switch (_y.label) {
26
+ return __generator(this, function (_a) {
27
+ switch (_a.label) {
31
28
  case 0:
32
- // Step 0: Block concurrent initialization
29
+ // Step 1: Block concurrent initialization
33
30
  if (this.initializing) {
34
31
  return [2 /*return*/];
35
32
  }
36
33
  this.initializing = true;
37
- // Step 1: Read cookies stored by SDK
38
- _v = options;
39
- if (!options.disableCookies) return [3 /*break*/, 1];
40
- _w = '';
41
- return [3 /*break*/, 5];
34
+ return [4 /*yield*/, useBrowserConfig(options.apiKey, options, this)];
42
35
  case 1:
43
- if (!((_a = options.domain) !== null && _a !== void 0)) return [3 /*break*/, 2];
44
- _x = _a;
45
- return [3 /*break*/, 4];
46
- case 2: return [4 /*yield*/, getTopLevelDomain()];
47
- case 3:
48
- _x = (_y.sent());
49
- _y.label = 4;
50
- case 4:
51
- _w = _x;
52
- _y.label = 5;
53
- case 5:
54
- // Step 1: Read cookies stored by SDK
55
- _v.domain = _w;
56
- return [4 /*yield*/, parseLegacyCookies(options.apiKey, options)];
57
- case 6:
58
- legacyCookies = _y.sent();
59
- return [4 /*yield*/, createCookieStorage(options)];
60
- case 7:
61
- cookieStorage = _y.sent();
62
- return [4 /*yield*/, cookieStorage.get(getCookieName(options.apiKey))];
63
- case 8:
64
- previousCookies = _y.sent();
65
- queryParams = getQueryParams();
66
- deviceId = (_d = (_c = (_b = options.deviceId) !== null && _b !== void 0 ? _b : queryParams.deviceId) !== null && _c !== void 0 ? _c : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _d !== void 0 ? _d : legacyCookies.deviceId;
67
- sessionId = (_f = (_e = options.sessionId) !== null && _e !== void 0 ? _e : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.sessionId) !== null && _f !== void 0 ? _f : legacyCookies.sessionId;
68
- optOut = (_h = (_g = options.optOut) !== null && _g !== void 0 ? _g : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.optOut) !== null && _h !== void 0 ? _h : legacyCookies.optOut;
69
- lastEventId = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventId;
70
- lastEventTime = (_j = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime) !== null && _j !== void 0 ? _j : legacyCookies.lastEventTime;
71
- userId = (_l = (_k = options.userId) !== null && _k !== void 0 ? _k : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId) !== null && _l !== void 0 ? _l : legacyCookies.userId;
72
- this.previousSessionDeviceId = (_m = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _m !== void 0 ? _m : legacyCookies.deviceId;
73
- this.previousSessionUserId = (_o = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId) !== null && _o !== void 0 ? _o : legacyCookies.userId;
74
- return [4 /*yield*/, useBrowserConfig(options.apiKey, __assign(__assign({}, options), { deviceId: deviceId, sessionId: sessionId, optOut: optOut, lastEventId: lastEventId, lastEventTime: lastEventTime, userId: userId, cookieStorage: cookieStorage }))];
75
- case 9:
76
- browserOptions = _y.sent();
36
+ browserOptions = _a.sent();
77
37
  return [4 /*yield*/, _super.prototype._init.call(this, browserOptions)];
78
- case 10:
79
- _y.sent();
80
- isNewSession = !this.config.lastEventTime;
38
+ case 2:
39
+ _a.sent();
40
+ // Step 3: Manage session
81
41
  if (!this.config.sessionId ||
82
42
  (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)) {
83
43
  // Either
84
44
  // 1) No previous session; or
85
45
  // 2) Previous session expired
86
46
  this.setSessionId(Date.now());
87
- isNewSession = true;
88
47
  }
89
48
  connector = getAnalyticsConnector();
90
49
  connector.identityStore.setIdentity({
@@ -94,63 +53,50 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
94
53
  // Step 4: Install plugins
95
54
  // Do not track any events before this
96
55
  return [4 /*yield*/, this.add(new Destination()).promise];
97
- case 11:
56
+ case 3:
98
57
  // Step 4: Install plugins
99
58
  // Do not track any events before this
100
- _y.sent();
59
+ _a.sent();
101
60
  return [4 /*yield*/, this.add(new Context()).promise];
102
- case 12:
103
- _y.sent();
61
+ case 4:
62
+ _a.sent();
104
63
  return [4 /*yield*/, this.add(sessionHandlerPlugin()).promise];
105
- case 13:
106
- _y.sent();
64
+ case 5:
65
+ _a.sent();
107
66
  return [4 /*yield*/, this.add(new IdentityEventSender()).promise];
108
- case 14:
109
- _y.sent();
110
- if (!isFileDownloadTrackingEnabled(this.config.defaultTracking)) return [3 /*break*/, 16];
67
+ case 6:
68
+ _a.sent();
69
+ if (!isFileDownloadTrackingEnabled(this.config.defaultTracking)) return [3 /*break*/, 8];
111
70
  return [4 /*yield*/, this.add(fileDownloadTracking()).promise];
112
- case 15:
113
- _y.sent();
114
- _y.label = 16;
115
- case 16:
116
- if (!isFormInteractionTrackingEnabled(this.config.defaultTracking)) return [3 /*break*/, 18];
71
+ case 7:
72
+ _a.sent();
73
+ _a.label = 8;
74
+ case 8:
75
+ if (!isFormInteractionTrackingEnabled(this.config.defaultTracking)) return [3 /*break*/, 10];
117
76
  return [4 /*yield*/, this.add(formInteractionTracking()).promise];
118
- case 17:
119
- _y.sent();
120
- _y.label = 18;
121
- case 18:
122
- if (!!((_p = this.config.attribution) === null || _p === void 0 ? void 0 : _p.disabled)) return [3 /*break*/, 20];
123
- webAttribution = webAttributionPlugin({
124
- excludeReferrers: (_r = this.config.attribution) === null || _r === void 0 ? void 0 : _r.excludeReferrers,
125
- initialEmptyValue: (_s = this.config.attribution) === null || _s === void 0 ? void 0 : _s.initialEmptyValue,
126
- resetSessionOnNewCampaign: (_t = this.config.attribution) === null || _t === void 0 ? void 0 : _t.resetSessionOnNewCampaign,
127
- });
128
- // For Amplitude-internal functionality
129
- // if pluginEnabledOverride === undefined then use plugin default logic
130
- // if pluginEnabledOverride === true then track attribution
131
- // if pluginEnabledOverride === false then do not track attribution
132
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
133
- webAttribution.__pluginEnabledOverride =
134
- isNewSession || ((_u = this.config.attribution) === null || _u === void 0 ? void 0 : _u.trackNewCampaigns) ? undefined : false;
77
+ case 9:
78
+ _a.sent();
79
+ _a.label = 10;
80
+ case 10:
81
+ if (!isAttributionTrackingEnabled(this.config.defaultTracking)) return [3 /*break*/, 12];
82
+ attributionTrackingOptions = getAttributionTrackingConfig(this.config);
83
+ webAttribution = webAttributionPlugin(attributionTrackingOptions);
135
84
  return [4 /*yield*/, this.add(webAttribution).promise];
136
- case 19:
137
- _y.sent();
138
- _y.label = 20;
139
- case 20:
140
- pageViewTrackingOptions = getPageViewTrackingConfig(this.config);
141
- pageViewTrackingOptions.eventType = pageViewTrackingOptions.eventType || DEFAULT_PAGE_VIEW_EVENT;
142
- return [4 /*yield*/, this.add(pageViewTrackingPlugin(pageViewTrackingOptions)).promise];
143
- case 21:
144
- _y.sent();
145
- return [4 /*yield*/, this.add(defaultPageViewEventEnrichment()).promise];
146
- case 22:
147
- _y.sent();
85
+ case 11:
86
+ _a.sent();
87
+ _a.label = 12;
88
+ case 12:
89
+ // Add page view plugin
90
+ return [4 /*yield*/, this.add(pageViewTrackingPlugin(getPageViewTrackingConfig(this.config))).promise];
91
+ case 13:
92
+ // Add page view plugin
93
+ _a.sent();
148
94
  this.initializing = false;
149
95
  // Step 6: Run queued dispatch functions
150
96
  return [4 /*yield*/, this.runQueuedFunctions('dispatchQ')];
151
- case 23:
97
+ case 14:
152
98
  // Step 6: Run queued dispatch functions
153
- _y.sent();
99
+ _a.sent();
154
100
  // Step 7: Add the event receiver after running remaining queued functions.
155
101
  connector.eventBridge.setEventReceiver(function (event) {
156
102
  void _this.track(event.eventType, event.eventProperties);
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client.js","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { AmplitudeCore, Destination, Identify, returnWrapper, Revenue, UUID } from '@amplitude/analytics-core';\nimport {\n getAnalyticsConnector,\n getPageViewTrackingConfig,\n IdentityEventSender,\n isSessionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n getCookieName,\n getQueryParams,\n setConnectorDeviceId,\n setConnectorUserId,\n} from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n BrowserOptions,\n EventOptions,\n Identify as IIdentify,\n Revenue as IRevenue,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport, getTopLevelDomain, createCookieStorage } from './config';\nimport { parseLegacyCookies } from './cookie-migration';\nimport { webAttributionPlugin } from '@amplitude/plugin-web-attribution-browser';\nimport { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';\nimport { sessionHandlerPlugin } from './plugins/session-handler';\nimport { formInteractionTracking } from './plugins/form-interaction-tracking';\nimport { fileDownloadTracking } from './plugins/file-download-tracking';\nimport { DEFAULT_PAGE_VIEW_EVENT, DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';\nimport { defaultPageViewEventEnrichment } from './plugins/default-page-view-event-enrichment';\n\nexport class AmplitudeBrowser extends AmplitudeCore implements BrowserClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n previousSessionDeviceId: string | undefined;\n previousSessionUserId: string | undefined;\n\n init(apiKey = '', userId?: string, options?: BrowserOptions) {\n return returnWrapper(this._init({ ...options, userId, apiKey }));\n }\n protected async _init(options: BrowserOptions & { apiKey: string }) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n\n // Step 1: Read cookies stored by SDK\n options.domain = options.disableCookies ? '' : options.domain ?? (await getTopLevelDomain());\n const legacyCookies = await parseLegacyCookies(options.apiKey, options);\n const cookieStorage = await createCookieStorage<UserSession>(options);\n const previousCookies = await cookieStorage.get(getCookieName(options.apiKey));\n const queryParams = getQueryParams();\n\n // Step 2: Create browser config\n const deviceId = options.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? legacyCookies.deviceId;\n const sessionId = options.sessionId ?? previousCookies?.sessionId ?? legacyCookies.sessionId;\n const optOut = options.optOut ?? previousCookies?.optOut ?? legacyCookies.optOut;\n const lastEventId = previousCookies?.lastEventId;\n const lastEventTime = previousCookies?.lastEventTime ?? legacyCookies.lastEventTime;\n const userId = options.userId ?? previousCookies?.userId ?? legacyCookies.userId;\n\n this.previousSessionDeviceId = previousCookies?.deviceId ?? legacyCookies.deviceId;\n this.previousSessionUserId = previousCookies?.userId ?? legacyCookies.userId;\n\n const browserOptions = await useBrowserConfig(options.apiKey, {\n ...options,\n deviceId,\n sessionId,\n optOut,\n lastEventId,\n lastEventTime,\n userId,\n cookieStorage,\n });\n\n await super._init(browserOptions);\n\n // Step 3: Manage session\n let isNewSession = !this.config.lastEventTime;\n if (\n !this.config.sessionId ||\n (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)\n ) {\n // Either\n // 1) No previous session; or\n // 2) Previous session expired\n this.setSessionId(Date.now());\n isNewSession = true;\n }\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 4: Install plugins\n // Do not track any events before this\n await this.add(new Destination()).promise;\n await this.add(new Context()).promise;\n await this.add(sessionHandlerPlugin()).promise;\n await this.add(new IdentityEventSender()).promise;\n\n if (isFileDownloadTrackingEnabled(this.config.defaultTracking)) {\n await this.add(fileDownloadTracking()).promise;\n }\n\n if (isFormInteractionTrackingEnabled(this.config.defaultTracking)) {\n await this.add(formInteractionTracking()).promise;\n }\n\n // Add web attribution plugin\n if (!this.config.attribution?.disabled) {\n const webAttribution = webAttributionPlugin({\n excludeReferrers: this.config.attribution?.excludeReferrers,\n initialEmptyValue: this.config.attribution?.initialEmptyValue,\n resetSessionOnNewCampaign: this.config.attribution?.resetSessionOnNewCampaign,\n });\n\n // For Amplitude-internal functionality\n // if pluginEnabledOverride === undefined then use plugin default logic\n // if pluginEnabledOverride === true then track attribution\n // if pluginEnabledOverride === false then do not track attribution\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (webAttribution as any).__pluginEnabledOverride =\n isNewSession || this.config.attribution?.trackNewCampaigns ? undefined : false;\n await this.add(webAttribution).promise;\n }\n\n // Add page view plugin\n const pageViewTrackingOptions = getPageViewTrackingConfig(this.config);\n pageViewTrackingOptions.eventType = pageViewTrackingOptions.eventType || DEFAULT_PAGE_VIEW_EVENT;\n await this.add(pageViewTrackingPlugin(pageViewTrackingOptions)).promise;\n await this.add(defaultPageViewEventEnrichment()).promise;\n\n this.initializing = false;\n\n // Step 6: Run queued dispatch functions\n await this.runQueuedFunctions('dispatchQ');\n\n // Step 7: Add the event receiver after running remaining queued functions.\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n if (userId !== this.config.userId || userId === undefined) {\n this.config.userId = userId;\n this.setSessionId(Date.now());\n setConnectorUserId(userId);\n }\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n setConnectorDeviceId(deviceId);\n }\n\n reset() {\n this.setDeviceId(UUID());\n this.setUserId(undefined);\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n const previousSessionId = this.getSessionId();\n const previousLastEventTime = this.config.lastEventTime;\n\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n if (previousSessionId && previousLastEventTime) {\n const eventOptions: EventOptions = {\n session_id: previousSessionId,\n time: previousLastEventTime + 1,\n };\n eventOptions.device_id = this.previousSessionDeviceId;\n eventOptions.user_id = this.previousSessionUserId;\n this.track(DEFAULT_SESSION_END_EVENT, undefined, eventOptions);\n }\n\n this.track(DEFAULT_SESSION_START_EVENT, undefined, {\n session_id: sessionId,\n time: sessionId - 1,\n });\n this.previousSessionDeviceId = this.config.deviceId;\n this.previousSessionUserId = this.config.userId;\n }\n }\n\n setTransport(transport: TransportType) {\n if (!this.config) {\n this.q.push(this.setTransport.bind(this, transport));\n return;\n }\n this.config.transportProvider = createTransport(transport);\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions) {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n return super.groupIdentify(groupType, groupName, identify, eventOptions);\n }\n\n revenue(revenue: IRevenue, eventOptions?: EventOptions) {\n if (isInstanceProxy(revenue)) {\n const queue = revenue._q;\n revenue._q = [];\n revenue = convertProxyObjectToRealObject(new Revenue(), queue);\n }\n return super.revenue(revenue, eventOptions);\n }\n}\n"]}
1
+ {"version":3,"file":"browser-client.js","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { AmplitudeCore, Destination, Identify, returnWrapper, Revenue, UUID } from '@amplitude/analytics-core';\nimport {\n getAnalyticsConnector,\n getAttributionTrackingConfig,\n getPageViewTrackingConfig,\n IdentityEventSender,\n isAttributionTrackingEnabled,\n isSessionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n setConnectorDeviceId,\n setConnectorUserId,\n} from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n BrowserOptions,\n EventOptions,\n Identify as IIdentify,\n Revenue as IRevenue,\n TransportType,\n} from '@amplitude/analytics-types';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport } from './config';\nimport { webAttributionPlugin } from '@amplitude/plugin-web-attribution-browser';\nimport { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';\nimport { sessionHandlerPlugin } from './plugins/session-handler';\nimport { formInteractionTracking } from './plugins/form-interaction-tracking';\nimport { fileDownloadTracking } from './plugins/file-download-tracking';\nimport { DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';\n\nexport class AmplitudeBrowser extends AmplitudeCore implements BrowserClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n previousSessionDeviceId: string | undefined;\n previousSessionUserId: string | undefined;\n\n init(apiKey = '', userId?: string, options?: BrowserOptions) {\n return returnWrapper(this._init({ ...options, userId, apiKey }));\n }\n protected async _init(options: BrowserOptions & { apiKey: string }) {\n // Step 1: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n\n // Step 2: Create browser config\n const browserOptions = await useBrowserConfig(options.apiKey, options, this);\n await super._init(browserOptions);\n\n // Step 3: Manage session\n if (\n !this.config.sessionId ||\n (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)\n ) {\n // Either\n // 1) No previous session; or\n // 2) Previous session expired\n this.setSessionId(Date.now());\n }\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 4: Install plugins\n // Do not track any events before this\n await this.add(new Destination()).promise;\n await this.add(new Context()).promise;\n await this.add(sessionHandlerPlugin()).promise;\n await this.add(new IdentityEventSender()).promise;\n\n if (isFileDownloadTrackingEnabled(this.config.defaultTracking)) {\n await this.add(fileDownloadTracking()).promise;\n }\n\n if (isFormInteractionTrackingEnabled(this.config.defaultTracking)) {\n await this.add(formInteractionTracking()).promise;\n }\n\n // Add web attribution plugin\n if (isAttributionTrackingEnabled(this.config.defaultTracking)) {\n const attributionTrackingOptions = getAttributionTrackingConfig(this.config);\n const webAttribution = webAttributionPlugin(attributionTrackingOptions);\n await this.add(webAttribution).promise;\n }\n\n // Add page view plugin\n await this.add(pageViewTrackingPlugin(getPageViewTrackingConfig(this.config))).promise;\n\n this.initializing = false;\n\n // Step 6: Run queued dispatch functions\n await this.runQueuedFunctions('dispatchQ');\n\n // Step 7: Add the event receiver after running remaining queued functions.\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n if (userId !== this.config.userId || userId === undefined) {\n this.config.userId = userId;\n this.setSessionId(Date.now());\n setConnectorUserId(userId);\n }\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n setConnectorDeviceId(deviceId);\n }\n\n reset() {\n this.setDeviceId(UUID());\n this.setUserId(undefined);\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n const previousSessionId = this.getSessionId();\n const previousLastEventTime = this.config.lastEventTime;\n\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n if (previousSessionId && previousLastEventTime) {\n const eventOptions: EventOptions = {\n session_id: previousSessionId,\n time: previousLastEventTime + 1,\n };\n eventOptions.device_id = this.previousSessionDeviceId;\n eventOptions.user_id = this.previousSessionUserId;\n this.track(DEFAULT_SESSION_END_EVENT, undefined, eventOptions);\n }\n\n this.track(DEFAULT_SESSION_START_EVENT, undefined, {\n session_id: sessionId,\n time: sessionId - 1,\n });\n this.previousSessionDeviceId = this.config.deviceId;\n this.previousSessionUserId = this.config.userId;\n }\n }\n\n setTransport(transport: TransportType) {\n if (!this.config) {\n this.q.push(this.setTransport.bind(this, transport));\n return;\n }\n this.config.transportProvider = createTransport(transport);\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions) {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n return super.groupIdentify(groupType, groupName, identify, eventOptions);\n }\n\n revenue(revenue: IRevenue, eventOptions?: EventOptions) {\n if (isInstanceProxy(revenue)) {\n const queue = revenue._q;\n revenue._q = [];\n revenue = convertProxyObjectToRealObject(new Revenue(), queue);\n }\n return super.revenue(revenue, eventOptions);\n }\n}\n"]}
@@ -1,41 +1,44 @@
1
- import { AttributionOptions, Event, BrowserOptions, BrowserConfig as IBrowserConfig, DefaultTrackingOptions, Storage, TrackingOptions, TransportType, UserSession } from '@amplitude/analytics-types';
1
+ import { Event, BrowserOptions, BrowserConfig as IBrowserConfig, DefaultTrackingOptions, Storage, TrackingOptions, TransportType, UserSession, Transport, Logger as ILogger, LogLevel, Plan, IngestionMetadata, IdentityStorageType, ServerZoneType } from '@amplitude/analytics-types';
2
2
  import { Config, MemoryStorage } from '@amplitude/analytics-core';
3
- import { FetchTransport } from '@amplitude/analytics-client-common';
3
+ import { CookieStorage, FetchTransport } from '@amplitude/analytics-client-common';
4
+ import { LocalStorage } from './storage/local-storage';
4
5
  import { XHRTransport } from './transports/xhr';
5
6
  import { SendBeaconTransport } from './transports/send-beacon';
6
- export declare const getDefaultConfig: () => {
7
- cookieExpiration: number;
8
- cookieSameSite: string;
9
- cookieSecure: boolean;
10
- cookieStorage: MemoryStorage<UserSession>;
11
- cookieUpgrade: boolean;
12
- disableCookies: boolean;
13
- domain: string;
14
- sessionTimeout: number;
15
- trackingOptions: Required<TrackingOptions>;
16
- transportProvider: FetchTransport;
17
- };
7
+ import { CookieOptions } from '@amplitude/analytics-types/lib/esm/config/browser';
8
+ import { AmplitudeBrowser } from './browser-client';
18
9
  export declare class BrowserConfig extends Config implements IBrowserConfig {
19
- appVersion?: string;
20
- attribution?: AttributionOptions;
21
- cookieExpiration: number;
22
- cookieSameSite: string;
23
- cookieSecure: boolean;
24
- cookieUpgrade: boolean;
25
- cookieStorage: Storage<UserSession>;
26
- defaultTracking?: DefaultTrackingOptions | boolean;
27
- disableCookies: boolean;
28
- domain: string;
29
- partnerId?: string;
10
+ apiKey: string;
11
+ appVersion?: string | undefined;
12
+ cookieOptions: CookieOptions;
13
+ defaultTracking: boolean | DefaultTrackingOptions;
14
+ flushIntervalMillis: number;
15
+ flushMaxRetries: number;
16
+ flushQueueSize: number;
17
+ identityStorage: IdentityStorageType;
18
+ ingestionMetadata?: IngestionMetadata | undefined;
19
+ loggerProvider: ILogger;
20
+ logLevel: LogLevel;
21
+ minIdLength?: number | undefined;
22
+ partnerId?: string | undefined;
23
+ plan?: Plan | undefined;
24
+ serverUrl: string;
25
+ serverZone: ServerZoneType;
30
26
  sessionTimeout: number;
31
- trackingOptions: TrackingOptions;
27
+ storageProvider: Storage<Event[]>;
28
+ trackingOptions: Required<TrackingOptions>;
29
+ transport: 'fetch' | 'xhr' | 'beacon';
30
+ transportProvider: Transport;
31
+ useBatch: boolean;
32
+ protected _cookieStorage: Storage<UserSession>;
32
33
  protected _deviceId?: string;
33
34
  protected _lastEventId?: number;
34
35
  protected _lastEventTime?: number;
35
36
  protected _optOut: boolean;
36
37
  protected _sessionId?: number;
37
38
  protected _userId?: string;
38
- constructor(apiKey: string, options?: BrowserOptions);
39
+ constructor(apiKey: string, appVersion?: string | undefined, cookieStorage?: Storage<UserSession>, cookieOptions?: CookieOptions, defaultTracking?: boolean | DefaultTrackingOptions, deviceId?: string, flushIntervalMillis?: number, flushMaxRetries?: number, flushQueueSize?: number, identityStorage?: IdentityStorageType, ingestionMetadata?: IngestionMetadata | undefined, lastEventId?: number, lastEventTime?: number, loggerProvider?: ILogger, logLevel?: LogLevel, minIdLength?: number | undefined, optOut?: boolean, partnerId?: string | undefined, plan?: Plan | undefined, serverUrl?: string, serverZone?: ServerZoneType, sessionId?: number, sessionTimeout?: number, storageProvider?: Storage<Event[]>, trackingOptions?: Required<TrackingOptions>, transport?: 'fetch' | 'xhr' | 'beacon', transportProvider?: Transport, useBatch?: boolean, userId?: string);
40
+ get cookieStorage(): Storage<UserSession>;
41
+ set cookieStorage(cookieStorage: Storage<UserSession>);
39
42
  get deviceId(): string | undefined;
40
43
  set deviceId(deviceId: string | undefined);
41
44
  get userId(): string | undefined;
@@ -50,20 +53,8 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
50
53
  set lastEventId(lastEventId: number | undefined);
51
54
  private updateStorage;
52
55
  }
53
- export declare const useBrowserConfig: (apiKey: string, options?: BrowserOptions) => Promise<IBrowserConfig>;
54
- export declare const createCookieStorage: <T>(overrides?: BrowserOptions, baseConfig?: {
55
- cookieExpiration: number;
56
- cookieSameSite: string;
57
- cookieSecure: boolean;
58
- cookieStorage: MemoryStorage<UserSession>;
59
- cookieUpgrade: boolean;
60
- disableCookies: boolean;
61
- domain: string;
62
- sessionTimeout: number;
63
- trackingOptions: Required<TrackingOptions>;
64
- transportProvider: FetchTransport;
65
- }) => Promise<Storage<T>>;
66
- export declare const createEventsStorage: (overrides?: BrowserOptions) => Promise<Storage<Event[]> | undefined>;
56
+ export declare const useBrowserConfig: (apiKey: string, options: BrowserOptions | undefined, amplitudeInstance: AmplitudeBrowser) => Promise<IBrowserConfig>;
57
+ export declare const createCookieStorage: <T>(identityStorage?: IdentityStorageType, cookieOptions?: CookieOptions) => LocalStorage<T> | MemoryStorage<T> | CookieStorage<T>;
67
58
  export declare const createTransport: (transport?: TransportType | keyof typeof TransportType) => FetchTransport | XHRTransport | SendBeaconTransport;
68
59
  export declare const getTopLevelDomain: (url?: string) => Promise<string>;
69
60
  //# sourceMappingURL=config.d.ts.map
@@ -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,CAe1G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,aAAa,GAAG,MAAM,oBAAoB,wDAQrF,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,MAAM,oBA0BnD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}