@amplitude/analytics-browser 2.11.12 → 2.12.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.
Files changed (265) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/__mocks__/det-notification.js +1 -0
  3. package/lib/cjs/__mocks__/det-notification.js.map +1 -1
  4. package/lib/cjs/attribution/campaign-parser.d.ts +8 -0
  5. package/lib/cjs/attribution/campaign-parser.d.ts.map +1 -0
  6. package/lib/cjs/attribution/campaign-parser.js +69 -0
  7. package/lib/cjs/attribution/campaign-parser.js.map +1 -0
  8. package/lib/cjs/attribution/campaign.d.ts +31 -0
  9. package/lib/cjs/attribution/campaign.d.ts.map +1 -0
  10. package/lib/cjs/attribution/campaign.js +3 -0
  11. package/lib/cjs/attribution/campaign.js.map +1 -0
  12. package/lib/cjs/attribution/constants.d.ts +22 -0
  13. package/lib/cjs/attribution/constants.d.ts.map +1 -0
  14. package/lib/cjs/attribution/constants.js +44 -0
  15. package/lib/cjs/attribution/constants.js.map +1 -0
  16. package/lib/cjs/attribution/helpers.d.ts +12 -0
  17. package/lib/cjs/attribution/helpers.d.ts.map +1 -0
  18. package/lib/cjs/attribution/helpers.js +77 -0
  19. package/lib/cjs/attribution/helpers.js.map +1 -0
  20. package/lib/cjs/attribution/web-attribution.d.ts +25 -0
  21. package/lib/cjs/attribution/web-attribution.d.ts.map +1 -0
  22. package/lib/cjs/attribution/web-attribution.js +73 -0
  23. package/lib/cjs/attribution/web-attribution.js.map +1 -0
  24. package/lib/cjs/browser-client-factory.d.ts +1 -1
  25. package/lib/cjs/browser-client-factory.d.ts.map +1 -1
  26. package/lib/cjs/browser-client-factory.js +1 -0
  27. package/lib/cjs/browser-client-factory.js.map +1 -1
  28. package/lib/cjs/browser-client.d.ts +7 -8
  29. package/lib/cjs/browser-client.d.ts.map +1 -1
  30. package/lib/cjs/browser-client.js +22 -21
  31. package/lib/cjs/browser-client.js.map +1 -1
  32. package/lib/cjs/config/joined-config.d.ts +6 -1
  33. package/lib/cjs/config/joined-config.d.ts.map +1 -1
  34. package/lib/cjs/config/joined-config.js +12 -12
  35. package/lib/cjs/config/joined-config.js.map +1 -1
  36. package/lib/cjs/config.d.ts +4 -7
  37. package/lib/cjs/config.d.ts.map +1 -1
  38. package/lib/cjs/config.js +18 -16
  39. package/lib/cjs/config.js.map +1 -1
  40. package/lib/cjs/constants.d.ts +13 -13
  41. package/lib/cjs/constants.d.ts.map +1 -1
  42. package/lib/cjs/constants.js +1 -0
  43. package/lib/cjs/constants.js.map +1 -1
  44. package/lib/cjs/cookie-migration/index.d.ts +1 -1
  45. package/lib/cjs/cookie-migration/index.d.ts.map +1 -1
  46. package/lib/cjs/cookie-migration/index.js +10 -6
  47. package/lib/cjs/cookie-migration/index.js.map +1 -1
  48. package/lib/cjs/default-tracking.d.ts +18 -0
  49. package/lib/cjs/default-tracking.d.ts.map +1 -0
  50. package/lib/cjs/default-tracking.js +108 -0
  51. package/lib/cjs/default-tracking.js.map +1 -0
  52. package/lib/cjs/det-notification.d.ts +1 -1
  53. package/lib/cjs/det-notification.d.ts.map +1 -1
  54. package/lib/cjs/det-notification.js +1 -0
  55. package/lib/cjs/det-notification.js.map +1 -1
  56. package/lib/cjs/gtm-snippet-index.js +4 -3
  57. package/lib/cjs/gtm-snippet-index.js.map +1 -1
  58. package/lib/cjs/index.d.ts +4 -4
  59. package/lib/cjs/index.d.ts.map +1 -1
  60. package/lib/cjs/index.js +1 -0
  61. package/lib/cjs/index.js.map +1 -1
  62. package/lib/cjs/lib-prefix.js +1 -0
  63. package/lib/cjs/lib-prefix.js.map +1 -1
  64. package/lib/cjs/plugins/context.d.ts +1 -1
  65. package/lib/cjs/plugins/context.d.ts.map +1 -1
  66. package/lib/cjs/plugins/context.js +3 -3
  67. package/lib/cjs/plugins/context.js.map +1 -1
  68. package/lib/cjs/plugins/file-download-tracking.d.ts +1 -1
  69. package/lib/cjs/plugins/file-download-tracking.d.ts.map +1 -1
  70. package/lib/cjs/plugins/file-download-tracking.js +6 -6
  71. package/lib/cjs/plugins/file-download-tracking.js.map +1 -1
  72. package/lib/cjs/plugins/form-interaction-tracking.d.ts +1 -1
  73. package/lib/cjs/plugins/form-interaction-tracking.d.ts.map +1 -1
  74. package/lib/cjs/plugins/form-interaction-tracking.js +6 -6
  75. package/lib/cjs/plugins/form-interaction-tracking.js.map +1 -1
  76. package/lib/cjs/plugins/network-connectivity-checker.d.ts +1 -1
  77. package/lib/cjs/plugins/network-connectivity-checker.d.ts.map +1 -1
  78. package/lib/cjs/plugins/network-connectivity-checker.js +5 -5
  79. package/lib/cjs/plugins/network-connectivity-checker.js.map +1 -1
  80. package/lib/cjs/snippet-index.js +4 -3
  81. package/lib/cjs/snippet-index.js.map +1 -1
  82. package/lib/cjs/storage/browser-storage.d.ts +1 -1
  83. package/lib/cjs/storage/browser-storage.d.ts.map +1 -1
  84. package/lib/cjs/storage/browser-storage.js +5 -4
  85. package/lib/cjs/storage/browser-storage.js.map +1 -1
  86. package/lib/cjs/storage/local-storage.d.ts +3 -3
  87. package/lib/cjs/storage/local-storage.d.ts.map +1 -1
  88. package/lib/cjs/storage/local-storage.js +4 -4
  89. package/lib/cjs/storage/local-storage.js.map +1 -1
  90. package/lib/cjs/storage/session-storage.js +3 -2
  91. package/lib/cjs/storage/session-storage.js.map +1 -1
  92. package/lib/cjs/transports/send-beacon.d.ts +1 -2
  93. package/lib/cjs/transports/send-beacon.d.ts.map +1 -1
  94. package/lib/cjs/transports/send-beacon.js +2 -2
  95. package/lib/cjs/transports/send-beacon.js.map +1 -1
  96. package/lib/cjs/transports/xhr.d.ts +1 -2
  97. package/lib/cjs/transports/xhr.d.ts.map +1 -1
  98. package/lib/cjs/transports/xhr.js +2 -1
  99. package/lib/cjs/transports/xhr.js.map +1 -1
  100. package/lib/cjs/utils/snippet-helper.d.ts +12 -1
  101. package/lib/cjs/utils/snippet-helper.d.ts.map +1 -1
  102. package/lib/cjs/utils/snippet-helper.js +1 -0
  103. package/lib/cjs/utils/snippet-helper.js.map +1 -1
  104. package/lib/cjs/version.d.ts +1 -1
  105. package/lib/cjs/version.d.ts.map +1 -1
  106. package/lib/cjs/version.js +2 -1
  107. package/lib/cjs/version.js.map +1 -1
  108. package/lib/esm/attribution/campaign-parser.d.ts +8 -0
  109. package/lib/esm/attribution/campaign-parser.d.ts.map +1 -0
  110. package/lib/esm/attribution/campaign-parser.js +66 -0
  111. package/lib/esm/attribution/campaign-parser.js.map +1 -0
  112. package/lib/esm/attribution/campaign.d.ts +31 -0
  113. package/lib/esm/attribution/campaign.d.ts.map +1 -0
  114. package/lib/esm/attribution/campaign.js +2 -0
  115. package/lib/esm/attribution/campaign.js.map +1 -0
  116. package/lib/esm/attribution/constants.d.ts +22 -0
  117. package/lib/esm/attribution/constants.d.ts.map +1 -0
  118. package/lib/esm/attribution/constants.js +41 -0
  119. package/lib/esm/attribution/constants.js.map +1 -0
  120. package/lib/esm/attribution/helpers.d.ts +12 -0
  121. package/lib/esm/attribution/helpers.d.ts.map +1 -0
  122. package/lib/esm/attribution/helpers.js +70 -0
  123. package/lib/esm/attribution/helpers.js.map +1 -0
  124. package/lib/esm/attribution/web-attribution.d.ts +25 -0
  125. package/lib/esm/attribution/web-attribution.d.ts.map +1 -0
  126. package/lib/esm/attribution/web-attribution.js +70 -0
  127. package/lib/esm/attribution/web-attribution.js.map +1 -0
  128. package/lib/esm/browser-client-factory.d.ts +1 -1
  129. package/lib/esm/browser-client-factory.d.ts.map +1 -1
  130. package/lib/esm/browser-client-factory.js.map +1 -1
  131. package/lib/esm/browser-client.d.ts +7 -8
  132. package/lib/esm/browser-client.d.ts.map +1 -1
  133. package/lib/esm/browser-client.js +4 -4
  134. package/lib/esm/browser-client.js.map +1 -1
  135. package/lib/esm/config/joined-config.d.ts +6 -1
  136. package/lib/esm/config/joined-config.d.ts.map +1 -1
  137. package/lib/esm/config/joined-config.js +10 -10
  138. package/lib/esm/config/joined-config.js.map +1 -1
  139. package/lib/esm/config.d.ts +4 -7
  140. package/lib/esm/config.d.ts.map +1 -1
  141. package/lib/esm/config.js +9 -7
  142. package/lib/esm/config.js.map +1 -1
  143. package/lib/esm/constants.d.ts +13 -13
  144. package/lib/esm/constants.d.ts.map +1 -1
  145. package/lib/esm/constants.js.map +1 -1
  146. package/lib/esm/cookie-migration/index.d.ts +1 -1
  147. package/lib/esm/cookie-migration/index.d.ts.map +1 -1
  148. package/lib/esm/cookie-migration/index.js +9 -5
  149. package/lib/esm/cookie-migration/index.js.map +1 -1
  150. package/lib/esm/default-tracking.d.ts +18 -0
  151. package/lib/esm/default-tracking.d.ts.map +1 -0
  152. package/lib/esm/default-tracking.js +96 -0
  153. package/lib/esm/default-tracking.js.map +1 -0
  154. package/lib/esm/det-notification.d.ts +1 -1
  155. package/lib/esm/det-notification.d.ts.map +1 -1
  156. package/lib/esm/det-notification.js.map +1 -1
  157. package/lib/esm/gtm-snippet-index.js +1 -1
  158. package/lib/esm/gtm-snippet-index.js.map +1 -1
  159. package/lib/esm/index.d.ts +4 -4
  160. package/lib/esm/index.d.ts.map +1 -1
  161. package/lib/esm/plugins/context.d.ts +1 -1
  162. package/lib/esm/plugins/context.d.ts.map +1 -1
  163. package/lib/esm/plugins/context.js +2 -3
  164. package/lib/esm/plugins/context.js.map +1 -1
  165. package/lib/esm/plugins/file-download-tracking.d.ts +1 -1
  166. package/lib/esm/plugins/file-download-tracking.d.ts.map +1 -1
  167. package/lib/esm/plugins/file-download-tracking.js +1 -1
  168. package/lib/esm/plugins/file-download-tracking.js.map +1 -1
  169. package/lib/esm/plugins/form-interaction-tracking.d.ts +1 -1
  170. package/lib/esm/plugins/form-interaction-tracking.d.ts.map +1 -1
  171. package/lib/esm/plugins/form-interaction-tracking.js +1 -1
  172. package/lib/esm/plugins/form-interaction-tracking.js.map +1 -1
  173. package/lib/esm/plugins/network-connectivity-checker.d.ts +1 -1
  174. package/lib/esm/plugins/network-connectivity-checker.d.ts.map +1 -1
  175. package/lib/esm/plugins/network-connectivity-checker.js +1 -1
  176. package/lib/esm/plugins/network-connectivity-checker.js.map +1 -1
  177. package/lib/esm/snippet-index.js +1 -1
  178. package/lib/esm/snippet-index.js.map +1 -1
  179. package/lib/esm/storage/browser-storage.d.ts +1 -1
  180. package/lib/esm/storage/browser-storage.d.ts.map +1 -1
  181. package/lib/esm/storage/browser-storage.js +4 -4
  182. package/lib/esm/storage/browser-storage.js.map +1 -1
  183. package/lib/esm/storage/local-storage.d.ts +3 -3
  184. package/lib/esm/storage/local-storage.d.ts.map +1 -1
  185. package/lib/esm/storage/local-storage.js +3 -4
  186. package/lib/esm/storage/local-storage.js.map +1 -1
  187. package/lib/esm/storage/session-storage.js +1 -1
  188. package/lib/esm/storage/session-storage.js.map +1 -1
  189. package/lib/esm/transports/send-beacon.d.ts +1 -2
  190. package/lib/esm/transports/send-beacon.d.ts.map +1 -1
  191. package/lib/esm/transports/send-beacon.js +1 -2
  192. package/lib/esm/transports/send-beacon.js.map +1 -1
  193. package/lib/esm/transports/xhr.d.ts +1 -2
  194. package/lib/esm/transports/xhr.d.ts.map +1 -1
  195. package/lib/esm/transports/xhr.js +2 -2
  196. package/lib/esm/transports/xhr.js.map +1 -1
  197. package/lib/esm/utils/snippet-helper.d.ts +12 -1
  198. package/lib/esm/utils/snippet-helper.d.ts.map +1 -1
  199. package/lib/esm/utils/snippet-helper.js.map +1 -1
  200. package/lib/esm/version.d.ts +1 -1
  201. package/lib/esm/version.d.ts.map +1 -1
  202. package/lib/esm/version.js +1 -1
  203. package/lib/esm/version.js.map +1 -1
  204. package/lib/scripts/amplitude-bookmarklet-snippet-min.js +1 -1
  205. package/lib/scripts/amplitude-bookmarklet.html +1 -1
  206. package/lib/scripts/amplitude-gtm-min.js +1 -1
  207. package/lib/scripts/amplitude-gtm-min.js.gz +0 -0
  208. package/lib/scripts/amplitude-gtm-min.js.map +1 -1
  209. package/lib/scripts/amplitude-gtm-snippet-min.js +1 -1
  210. package/lib/scripts/amplitude-min.js +1 -1
  211. package/lib/scripts/amplitude-min.js.gz +0 -0
  212. package/lib/scripts/amplitude-min.js.map +1 -1
  213. package/lib/scripts/amplitude-min.umd.js +1 -1
  214. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  215. package/lib/scripts/amplitude-snippet-instructions.html +1 -1
  216. package/lib/scripts/amplitude-snippet-min.js +1 -1
  217. package/lib/scripts/attribution/campaign-parser.d.ts +8 -0
  218. package/lib/scripts/attribution/campaign-parser.d.ts.map +1 -0
  219. package/lib/scripts/attribution/campaign.d.ts +31 -0
  220. package/lib/scripts/attribution/campaign.d.ts.map +1 -0
  221. package/lib/scripts/attribution/constants.d.ts +22 -0
  222. package/lib/scripts/attribution/constants.d.ts.map +1 -0
  223. package/lib/scripts/attribution/helpers.d.ts +12 -0
  224. package/lib/scripts/attribution/helpers.d.ts.map +1 -0
  225. package/lib/scripts/attribution/web-attribution.d.ts +25 -0
  226. package/lib/scripts/attribution/web-attribution.d.ts.map +1 -0
  227. package/lib/scripts/browser-client-factory.d.ts +1 -1
  228. package/lib/scripts/browser-client-factory.d.ts.map +1 -1
  229. package/lib/scripts/browser-client.d.ts +7 -8
  230. package/lib/scripts/browser-client.d.ts.map +1 -1
  231. package/lib/scripts/config/joined-config.d.ts +6 -1
  232. package/lib/scripts/config/joined-config.d.ts.map +1 -1
  233. package/lib/scripts/config.d.ts +1 -4
  234. package/lib/scripts/config.d.ts.map +1 -1
  235. package/lib/scripts/constants.d.ts +1 -1
  236. package/lib/scripts/constants.d.ts.map +1 -1
  237. package/lib/scripts/cookie-migration/index.d.ts +1 -1
  238. package/lib/scripts/cookie-migration/index.d.ts.map +1 -1
  239. package/lib/scripts/default-tracking.d.ts +18 -0
  240. package/lib/scripts/default-tracking.d.ts.map +1 -0
  241. package/lib/scripts/det-notification.d.ts +1 -1
  242. package/lib/scripts/det-notification.d.ts.map +1 -1
  243. package/lib/scripts/index.d.ts +4 -4
  244. package/lib/scripts/index.d.ts.map +1 -1
  245. package/lib/scripts/plugins/context.d.ts +1 -1
  246. package/lib/scripts/plugins/context.d.ts.map +1 -1
  247. package/lib/scripts/plugins/file-download-tracking.d.ts +1 -1
  248. package/lib/scripts/plugins/file-download-tracking.d.ts.map +1 -1
  249. package/lib/scripts/plugins/form-interaction-tracking.d.ts +1 -1
  250. package/lib/scripts/plugins/form-interaction-tracking.d.ts.map +1 -1
  251. package/lib/scripts/plugins/network-connectivity-checker.d.ts +1 -1
  252. package/lib/scripts/plugins/network-connectivity-checker.d.ts.map +1 -1
  253. package/lib/scripts/storage/browser-storage.d.ts +1 -1
  254. package/lib/scripts/storage/browser-storage.d.ts.map +1 -1
  255. package/lib/scripts/storage/local-storage.d.ts +3 -3
  256. package/lib/scripts/storage/local-storage.d.ts.map +1 -1
  257. package/lib/scripts/transports/send-beacon.d.ts +1 -2
  258. package/lib/scripts/transports/send-beacon.d.ts.map +1 -1
  259. package/lib/scripts/transports/xhr.d.ts +1 -2
  260. package/lib/scripts/transports/xhr.d.ts.map +1 -1
  261. package/lib/scripts/utils/snippet-helper.d.ts +12 -1
  262. package/lib/scripts/utils/snippet-helper.d.ts.map +1 -1
  263. package/lib/scripts/version.d.ts +1 -1
  264. package/lib/scripts/version.d.ts.map +1 -1
  265. package/package.json +6 -7
@@ -1,9 +1,9 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.AmplitudeBrowser = void 0;
3
4
  var tslib_1 = require("tslib");
4
5
  var analytics_core_1 = require("@amplitude/analytics-core");
5
- var analytics_client_common_1 = require("@amplitude/analytics-client-common");
6
- var analytics_types_1 = require("@amplitude/analytics-types");
6
+ var default_tracking_1 = require("./default-tracking");
7
7
  var snippet_helper_1 = require("./utils/snippet-helper");
8
8
  var context_1 = require("./plugins/context");
9
9
  var config_1 = require("./config");
@@ -15,6 +15,7 @@ var det_notification_1 = require("./det-notification");
15
15
  var network_connectivity_checker_1 = require("./plugins/network-connectivity-checker");
16
16
  var joined_config_1 = require("./config/joined-config");
17
17
  var plugin_autocapture_browser_1 = require("@amplitude/plugin-autocapture-browser");
18
+ var web_attribution_1 = require("./attribution/web-attribution");
18
19
  var AmplitudeBrowser = /** @class */ (function (_super) {
19
20
  tslib_1.__extends(AmplitudeBrowser, _super);
20
21
  function AmplitudeBrowser() {
@@ -41,10 +42,10 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
41
42
  return (0, analytics_core_1.returnWrapper)(this._init(tslib_1.__assign(tslib_1.__assign({}, options), { userId: userId, apiKey: apiKey })));
42
43
  };
43
44
  AmplitudeBrowser.prototype._init = function (options) {
44
- var _a, _b, _c;
45
45
  return tslib_1.__awaiter(this, void 0, void 0, function () {
46
46
  var browserOptions, joinedConfigGenerator, attributionTrackingOptions, queryParams, querySessionId, connector;
47
47
  var _this = this;
48
+ var _a, _b, _c;
48
49
  return tslib_1.__generator(this, function (_d) {
49
50
  switch (_d.label) {
50
51
  case 0:
@@ -68,9 +69,9 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
68
69
  case 5:
69
70
  _d.sent();
70
71
  this.logBrowserOptions(browserOptions);
71
- if (!(0, analytics_client_common_1.isAttributionTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 7];
72
- attributionTrackingOptions = (0, analytics_client_common_1.getAttributionTrackingConfig)(this.config);
73
- this.webAttribution = new analytics_client_common_1.WebAttribution(attributionTrackingOptions, this.config);
72
+ if (!(0, default_tracking_1.isAttributionTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 7];
73
+ attributionTrackingOptions = (0, default_tracking_1.getAttributionTrackingConfig)(this.config);
74
+ this.webAttribution = new web_attribution_1.WebAttribution(attributionTrackingOptions, this.config);
74
75
  // Fetch the current campaign, check if need to track web attribution later
75
76
  return [4 /*yield*/, this.webAttribution.init()];
76
77
  case 6:
@@ -78,17 +79,17 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
78
79
  _d.sent();
79
80
  _d.label = 7;
80
81
  case 7:
81
- queryParams = (0, analytics_client_common_1.getQueryParams)();
82
+ queryParams = (0, analytics_core_1.getQueryParams)();
82
83
  querySessionId = Number.isNaN(Number(queryParams.ampSessionId))
83
84
  ? undefined
84
85
  : Number(queryParams.ampSessionId);
85
86
  this.setSessionId((_c = (_b = (_a = options.sessionId) !== null && _a !== void 0 ? _a : querySessionId) !== null && _b !== void 0 ? _b : this.config.sessionId) !== null && _c !== void 0 ? _c : Date.now());
86
- connector = (0, analytics_client_common_1.getAnalyticsConnector)(options.instanceName);
87
+ connector = (0, analytics_core_1.getAnalyticsConnector)(options.instanceName);
87
88
  connector.identityStore.setIdentity({
88
89
  userId: this.config.userId,
89
90
  deviceId: this.config.deviceId,
90
91
  });
91
- if (!(this.config.offline !== analytics_types_1.OfflineDisabled)) return [3 /*break*/, 9];
92
+ if (!(this.config.offline !== analytics_core_1.OfflineDisabled)) return [3 /*break*/, 9];
92
93
  return [4 /*yield*/, this.add((0, network_connectivity_checker_1.networkConnectivityCheckerPlugin)()).promise];
93
94
  case 8:
94
95
  _d.sent();
@@ -99,35 +100,35 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
99
100
  return [4 /*yield*/, this.add(new context_1.Context()).promise];
100
101
  case 11:
101
102
  _d.sent();
102
- return [4 /*yield*/, this.add(new analytics_client_common_1.IdentityEventSender()).promise];
103
+ return [4 /*yield*/, this.add(new analytics_core_1.IdentityEventSender()).promise];
103
104
  case 12:
104
105
  _d.sent();
105
106
  // Notify if DET is enabled
106
107
  (0, det_notification_1.detNotify)(this.config);
107
- if (!(0, analytics_client_common_1.isFileDownloadTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 14];
108
+ if (!(0, default_tracking_1.isFileDownloadTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 14];
108
109
  this.config.loggerProvider.debug('Adding file download tracking plugin');
109
110
  return [4 /*yield*/, this.add((0, file_download_tracking_1.fileDownloadTracking)()).promise];
110
111
  case 13:
111
112
  _d.sent();
112
113
  _d.label = 14;
113
114
  case 14:
114
- if (!(0, analytics_client_common_1.isFormInteractionTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 16];
115
+ if (!(0, default_tracking_1.isFormInteractionTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 16];
115
116
  this.config.loggerProvider.debug('Adding form interaction plugin');
116
117
  return [4 /*yield*/, this.add((0, form_interaction_tracking_1.formInteractionTracking)()).promise];
117
118
  case 15:
118
119
  _d.sent();
119
120
  _d.label = 16;
120
121
  case 16:
121
- if (!(0, analytics_client_common_1.isPageViewTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 18];
122
+ if (!(0, default_tracking_1.isPageViewTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 18];
122
123
  this.config.loggerProvider.debug('Adding page view tracking plugin');
123
- return [4 /*yield*/, this.add((0, plugin_page_view_tracking_browser_1.pageViewTrackingPlugin)((0, analytics_client_common_1.getPageViewTrackingConfig)(this.config))).promise];
124
+ return [4 /*yield*/, this.add((0, plugin_page_view_tracking_browser_1.pageViewTrackingPlugin)((0, default_tracking_1.getPageViewTrackingConfig)(this.config))).promise];
124
125
  case 17:
125
126
  _d.sent();
126
127
  _d.label = 18;
127
128
  case 18:
128
- if (!(0, analytics_client_common_1.isElementInteractionsEnabled)(this.config.autocapture)) return [3 /*break*/, 20];
129
+ if (!(0, default_tracking_1.isElementInteractionsEnabled)(this.config.autocapture)) return [3 /*break*/, 20];
129
130
  this.config.loggerProvider.debug('Adding user interactions plugin (autocapture plugin)');
130
- return [4 /*yield*/, this.add((0, plugin_autocapture_browser_1.autocapturePlugin)((0, analytics_client_common_1.getElementInteractionsConfig)(this.config))).promise];
131
+ return [4 /*yield*/, this.add((0, plugin_autocapture_browser_1.autocapturePlugin)((0, default_tracking_1.getElementInteractionsConfig)(this.config))).promise];
131
132
  case 19:
132
133
  _d.sent();
133
134
  _d.label = 20;
@@ -159,7 +160,7 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
159
160
  this.config.loggerProvider.debug('function setUserId: ', userId);
160
161
  if (userId !== this.config.userId || userId === undefined) {
161
162
  this.config.userId = userId;
162
- (0, analytics_client_common_1.setConnectorUserId)(userId, this.config.instanceName);
163
+ (0, analytics_core_1.setConnectorUserId)(userId, this.config.instanceName);
163
164
  }
164
165
  };
165
166
  AmplitudeBrowser.prototype.getDeviceId = function () {
@@ -173,7 +174,7 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
173
174
  }
174
175
  this.config.loggerProvider.debug('function setDeviceId: ', deviceId);
175
176
  this.config.deviceId = deviceId;
176
- (0, analytics_client_common_1.setConnectorDeviceId)(deviceId, this.config.instanceName);
177
+ (0, analytics_core_1.setConnectorDeviceId)(deviceId, this.config.instanceName);
177
178
  };
178
179
  AmplitudeBrowser.prototype.reset = function () {
179
180
  this.setDeviceId((0, analytics_core_1.UUID)());
@@ -201,7 +202,7 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
201
202
  this.config.sessionId = sessionId;
202
203
  this.config.lastEventTime = undefined;
203
204
  this.config.pageCounter = 0;
204
- if ((0, analytics_client_common_1.isSessionTrackingEnabled)(this.config.defaultTracking)) {
205
+ if ((0, default_tracking_1.isSessionTrackingEnabled)(this.config.defaultTracking)) {
205
206
  if (previousSessionId && lastEventTime) {
206
207
  promises.push(this.track(constants_1.DEFAULT_SESSION_END_EVENT, undefined, {
207
208
  device_id: this.previousSessionDeviceId,
@@ -217,7 +218,7 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
217
218
  // 1. has new campaign (call setSessionId from init function)
218
219
  // 2. or shouldTrackNewCampaign (call setSessionId from async process(event) when there has new campaign and resetSessionOnNewCampaign = true )
219
220
  var isCampaignEventTracked = this.trackCampaignEventIfNeeded(++lastEventId, promises);
220
- if ((0, analytics_client_common_1.isSessionTrackingEnabled)(this.config.defaultTracking)) {
221
+ if ((0, default_tracking_1.isSessionTrackingEnabled)(this.config.defaultTracking)) {
221
222
  promises.push(this.track(constants_1.DEFAULT_SESSION_START_EVENT, undefined, {
222
223
  event_id: isCampaignEventTracked ? ++lastEventId : lastEventId,
223
224
  session_id: this.config.sessionId,
@@ -291,7 +292,7 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
291
292
  var currentTime, isEventInNewSession, shouldSetSessionIdOnNewCampaign;
292
293
  return tslib_1.__generator(this, function (_a) {
293
294
  currentTime = Date.now();
294
- isEventInNewSession = (0, analytics_client_common_1.isNewSession)(this.config.sessionTimeout, this.config.lastEventTime);
295
+ isEventInNewSession = (0, analytics_core_1.isNewSession)(this.config.sessionTimeout, this.config.lastEventTime);
295
296
  shouldSetSessionIdOnNewCampaign = this.webAttribution && this.webAttribution.shouldSetSessionIdOnNewCampaign();
296
297
  if (event.event_type !== constants_1.DEFAULT_SESSION_START_EVENT &&
297
298
  event.event_type !== constants_1.DEFAULT_SESSION_END_EVENT &&
@@ -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 getAttributionTrackingConfig,\n getPageViewTrackingConfig,\n getElementInteractionsConfig,\n IdentityEventSender,\n isAttributionTrackingEnabled,\n isSessionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n isElementInteractionsEnabled,\n setConnectorDeviceId,\n setConnectorUserId,\n isNewSession,\n isPageViewTrackingEnabled,\n WebAttribution,\n getQueryParams,\n} from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n BrowserOptions,\n Event,\n EventOptions,\n Identify as IIdentify,\n Revenue as IRevenue,\n TransportType,\n OfflineDisabled,\n Result,\n} from '@amplitude/analytics-types';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport } from './config';\nimport { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';\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';\nimport { detNotify } from './det-notification';\nimport { networkConnectivityCheckerPlugin } from './plugins/network-connectivity-checker';\nimport { createBrowserJoinedConfigGenerator } from './config/joined-config';\nimport { autocapturePlugin } from '@amplitude/plugin-autocapture-browser';\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 webAttribution: WebAttribution | undefined;\n\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n let userId: string | undefined;\n let options: BrowserOptions | undefined;\n\n if (arguments.length > 2) {\n userId = userIdOrOptions as string | undefined;\n options = maybeOptions;\n } else {\n if (typeof userIdOrOptions === 'string') {\n userId = userIdOrOptions;\n options = undefined;\n } else {\n userId = userIdOrOptions?.userId;\n options = userIdOrOptions;\n }\n }\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 let browserOptions = await useBrowserConfig(options.apiKey, options, this);\n // Step 2: Create browser config\n if (options.fetchRemoteConfig) {\n const joinedConfigGenerator = await createBrowserJoinedConfigGenerator(browserOptions);\n browserOptions = await joinedConfigGenerator.generateJoinedConfig();\n }\n await super._init(browserOptions);\n this.logBrowserOptions(browserOptions);\n\n // Add web attribution plugin\n if (isAttributionTrackingEnabled(this.config.defaultTracking)) {\n const attributionTrackingOptions = getAttributionTrackingConfig(this.config);\n this.webAttribution = new WebAttribution(attributionTrackingOptions, this.config);\n // Fetch the current campaign, check if need to track web attribution later\n await this.webAttribution.init();\n }\n\n // Step 3: Set session ID\n // Priority 1: `options.sessionId`\n // Priority 2: sessionId from url if it's Number\n // Priority 3: last known sessionId from user identity storage\n // Default: `Date.now()`\n // Session ID is handled differently than device ID and user ID due to session events\n const queryParams = getQueryParams();\n const querySessionId = Number.isNaN(Number(queryParams.ampSessionId))\n ? undefined\n : Number(queryParams.ampSessionId);\n this.setSessionId(options.sessionId ?? querySessionId ?? this.config.sessionId ?? Date.now());\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(options.instanceName);\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 if (this.config.offline !== OfflineDisabled) {\n await this.add(networkConnectivityCheckerPlugin()).promise;\n }\n await this.add(new Destination()).promise;\n await this.add(new Context()).promise;\n await this.add(new IdentityEventSender()).promise;\n\n // Notify if DET is enabled\n detNotify(this.config);\n\n if (isFileDownloadTrackingEnabled(this.config.defaultTracking)) {\n this.config.loggerProvider.debug('Adding file download tracking plugin');\n await this.add(fileDownloadTracking()).promise;\n }\n\n if (isFormInteractionTrackingEnabled(this.config.defaultTracking)) {\n this.config.loggerProvider.debug('Adding form interaction plugin');\n await this.add(formInteractionTracking()).promise;\n }\n\n // Add page view plugin\n if (isPageViewTrackingEnabled(this.config.defaultTracking)) {\n this.config.loggerProvider.debug('Adding page view tracking plugin');\n await this.add(pageViewTrackingPlugin(getPageViewTrackingConfig(this.config))).promise;\n }\n\n if (isElementInteractionsEnabled(this.config.autocapture)) {\n this.config.loggerProvider.debug('Adding user interactions plugin (autocapture plugin)');\n await this.add(autocapturePlugin(getElementInteractionsConfig(this.config))).promise;\n }\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 this.config.loggerProvider.debug('function setUserId: ', userId);\n if (userId !== this.config.userId || userId === undefined) {\n this.config.userId = userId;\n setConnectorUserId(userId, this.config.instanceName);\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.loggerProvider.debug('function setDeviceId: ', deviceId);\n this.config.deviceId = deviceId;\n setConnectorDeviceId(deviceId, this.config.instanceName);\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 const promises: Promise<Result>[] = [];\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return returnWrapper(Promise.resolve());\n }\n // Prevents starting a new session with the same session ID\n if (sessionId === this.config.sessionId) {\n return returnWrapper(Promise.resolve());\n }\n\n this.config.loggerProvider.debug('function setSessionId: ', sessionId);\n\n const previousSessionId = this.getSessionId();\n const lastEventTime = this.config.lastEventTime;\n let lastEventId = this.config.lastEventId ?? -1;\n\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n this.config.pageCounter = 0;\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n if (previousSessionId && lastEventTime) {\n promises.push(\n this.track(DEFAULT_SESSION_END_EVENT, undefined, {\n device_id: this.previousSessionDeviceId,\n event_id: ++lastEventId,\n session_id: previousSessionId,\n time: lastEventTime + 1,\n user_id: this.previousSessionUserId,\n }).promise,\n );\n }\n this.config.lastEventTime = this.config.sessionId;\n }\n\n // Fire web attribution event when enable webAttribution tracking\n // 1. has new campaign (call setSessionId from init function)\n // 2. or shouldTrackNewCampaign (call setSessionId from async process(event) when there has new campaign and resetSessionOnNewCampaign = true )\n const isCampaignEventTracked = this.trackCampaignEventIfNeeded(++lastEventId, promises);\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n promises.push(\n this.track(DEFAULT_SESSION_START_EVENT, undefined, {\n event_id: isCampaignEventTracked ? ++lastEventId : lastEventId,\n session_id: this.config.sessionId,\n time: this.config.lastEventTime,\n }).promise,\n );\n }\n\n this.previousSessionDeviceId = this.config.deviceId;\n this.previousSessionUserId = this.config.userId;\n return returnWrapper(Promise.all(promises));\n }\n\n extendSession() {\n if (!this.config) {\n this.q.push(this.extendSession.bind(this));\n return;\n }\n this.config.lastEventTime = Date.now();\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 private trackCampaignEventIfNeeded(lastEventId?: number, promises?: Promise<Result>[]) {\n if (!this.webAttribution || !this.webAttribution.shouldTrackNewCampaign) {\n return false;\n }\n\n const campaignEvent = this.webAttribution.generateCampaignEvent(lastEventId);\n if (promises) {\n promises.push(this.track(campaignEvent).promise);\n } else {\n this.track(campaignEvent);\n }\n this.config.loggerProvider.log('Tracking attribution.');\n return true;\n }\n\n async process(event: Event) {\n const currentTime = Date.now();\n const isEventInNewSession = isNewSession(this.config.sessionTimeout, this.config.lastEventTime);\n const shouldSetSessionIdOnNewCampaign =\n this.webAttribution && this.webAttribution.shouldSetSessionIdOnNewCampaign();\n\n if (\n event.event_type !== DEFAULT_SESSION_START_EVENT &&\n event.event_type !== DEFAULT_SESSION_END_EVENT &&\n (!event.session_id || event.session_id === this.getSessionId())\n ) {\n if (isEventInNewSession || shouldSetSessionIdOnNewCampaign) {\n this.setSessionId(currentTime);\n if (shouldSetSessionIdOnNewCampaign) {\n this.config.loggerProvider.log('Created a new session for new campaign.');\n }\n } else if (!isEventInNewSession) {\n // Web attribution should be tracked during the middle of a session\n // if there has been a chance in the campaign information.\n this.trackCampaignEventIfNeeded();\n }\n }\n\n return super.process(event);\n }\n\n private logBrowserOptions(browserConfig: BrowserOptions & { apiKey: string }) {\n try {\n const browserConfigCopy = {\n ...browserConfig,\n apiKey: browserConfig.apiKey.substring(0, 10) + '********',\n };\n this.config.loggerProvider.debug('Initialized Amplitude with BrowserConfig:', JSON.stringify(browserConfigCopy));\n } catch (e) {\n /* istanbul ignore next */\n this.config.loggerProvider.error('Error logging browser config', e);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"browser-client.js","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AmplitudeCore,\n Destination,\n Identify,\n returnWrapper,\n Revenue,\n UUID,\n getAnalyticsConnector,\n setConnectorDeviceId,\n setConnectorUserId,\n isNewSession,\n IdentityEventSender,\n getQueryParams,\n Event,\n EventOptions,\n IIdentify,\n IRevenue,\n TransportType,\n OfflineDisabled,\n Result,\n BrowserOptions,\n BrowserConfig,\n BrowserClient,\n} from '@amplitude/analytics-core';\nimport {\n getAttributionTrackingConfig,\n getPageViewTrackingConfig,\n getElementInteractionsConfig,\n isAttributionTrackingEnabled,\n isSessionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n isElementInteractionsEnabled,\n isPageViewTrackingEnabled,\n} from './default-tracking';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport } from './config';\nimport { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';\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';\nimport { detNotify } from './det-notification';\nimport { networkConnectivityCheckerPlugin } from './plugins/network-connectivity-checker';\nimport { createBrowserJoinedConfigGenerator } from './config/joined-config';\nimport { autocapturePlugin } from '@amplitude/plugin-autocapture-browser';\nimport { WebAttribution } from './attribution/web-attribution';\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 webAttribution: WebAttribution | undefined;\n\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n let userId: string | undefined;\n let options: BrowserOptions | undefined;\n\n if (arguments.length > 2) {\n userId = userIdOrOptions as string | undefined;\n options = maybeOptions;\n } else {\n if (typeof userIdOrOptions === 'string') {\n userId = userIdOrOptions;\n options = undefined;\n } else {\n userId = userIdOrOptions?.userId;\n options = userIdOrOptions;\n }\n }\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 let browserOptions = await useBrowserConfig(options.apiKey, options, this);\n // Step 2: Create browser config\n if (options.fetchRemoteConfig) {\n const joinedConfigGenerator = await createBrowserJoinedConfigGenerator(browserOptions);\n browserOptions = await joinedConfigGenerator.generateJoinedConfig();\n }\n await super._init(browserOptions);\n this.logBrowserOptions(browserOptions);\n\n // Add web attribution plugin\n if (isAttributionTrackingEnabled(this.config.defaultTracking)) {\n const attributionTrackingOptions = getAttributionTrackingConfig(this.config);\n this.webAttribution = new WebAttribution(attributionTrackingOptions, this.config);\n // Fetch the current campaign, check if need to track web attribution later\n await this.webAttribution.init();\n }\n\n // Step 3: Set session ID\n // Priority 1: `options.sessionId`\n // Priority 2: sessionId from url if it's Number\n // Priority 3: last known sessionId from user identity storage\n // Default: `Date.now()`\n // Session ID is handled differently than device ID and user ID due to session events\n const queryParams = getQueryParams();\n const querySessionId = Number.isNaN(Number(queryParams.ampSessionId))\n ? undefined\n : Number(queryParams.ampSessionId);\n this.setSessionId(options.sessionId ?? querySessionId ?? this.config.sessionId ?? Date.now());\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(options.instanceName);\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 if (this.config.offline !== OfflineDisabled) {\n await this.add(networkConnectivityCheckerPlugin()).promise;\n }\n await this.add(new Destination()).promise;\n await this.add(new Context()).promise;\n await this.add(new IdentityEventSender()).promise;\n\n // Notify if DET is enabled\n detNotify(this.config);\n\n if (isFileDownloadTrackingEnabled(this.config.defaultTracking)) {\n this.config.loggerProvider.debug('Adding file download tracking plugin');\n await this.add(fileDownloadTracking()).promise;\n }\n\n if (isFormInteractionTrackingEnabled(this.config.defaultTracking)) {\n this.config.loggerProvider.debug('Adding form interaction plugin');\n await this.add(formInteractionTracking()).promise;\n }\n\n // Add page view plugin\n if (isPageViewTrackingEnabled(this.config.defaultTracking)) {\n this.config.loggerProvider.debug('Adding page view tracking plugin');\n await this.add(pageViewTrackingPlugin(getPageViewTrackingConfig(this.config))).promise;\n }\n\n if (isElementInteractionsEnabled(this.config.autocapture)) {\n this.config.loggerProvider.debug('Adding user interactions plugin (autocapture plugin)');\n await this.add(autocapturePlugin(getElementInteractionsConfig(this.config))).promise;\n }\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 this.config.loggerProvider.debug('function setUserId: ', userId);\n if (userId !== this.config.userId || userId === undefined) {\n this.config.userId = userId;\n setConnectorUserId(userId, this.config.instanceName);\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.loggerProvider.debug('function setDeviceId: ', deviceId);\n this.config.deviceId = deviceId;\n setConnectorDeviceId(deviceId, this.config.instanceName);\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 const promises: Promise<Result>[] = [];\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return returnWrapper(Promise.resolve());\n }\n // Prevents starting a new session with the same session ID\n if (sessionId === this.config.sessionId) {\n return returnWrapper(Promise.resolve());\n }\n\n this.config.loggerProvider.debug('function setSessionId: ', sessionId);\n\n const previousSessionId = this.getSessionId();\n const lastEventTime = this.config.lastEventTime;\n let lastEventId = this.config.lastEventId ?? -1;\n\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n this.config.pageCounter = 0;\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n if (previousSessionId && lastEventTime) {\n promises.push(\n this.track(DEFAULT_SESSION_END_EVENT, undefined, {\n device_id: this.previousSessionDeviceId,\n event_id: ++lastEventId,\n session_id: previousSessionId,\n time: lastEventTime + 1,\n user_id: this.previousSessionUserId,\n }).promise,\n );\n }\n this.config.lastEventTime = this.config.sessionId;\n }\n\n // Fire web attribution event when enable webAttribution tracking\n // 1. has new campaign (call setSessionId from init function)\n // 2. or shouldTrackNewCampaign (call setSessionId from async process(event) when there has new campaign and resetSessionOnNewCampaign = true )\n const isCampaignEventTracked = this.trackCampaignEventIfNeeded(++lastEventId, promises);\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n promises.push(\n this.track(DEFAULT_SESSION_START_EVENT, undefined, {\n event_id: isCampaignEventTracked ? ++lastEventId : lastEventId,\n session_id: this.config.sessionId,\n time: this.config.lastEventTime,\n }).promise,\n );\n }\n\n this.previousSessionDeviceId = this.config.deviceId;\n this.previousSessionUserId = this.config.userId;\n return returnWrapper(Promise.all(promises));\n }\n\n extendSession() {\n if (!this.config) {\n this.q.push(this.extendSession.bind(this));\n return;\n }\n this.config.lastEventTime = Date.now();\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 private trackCampaignEventIfNeeded(lastEventId?: number, promises?: Promise<Result>[]) {\n if (!this.webAttribution || !this.webAttribution.shouldTrackNewCampaign) {\n return false;\n }\n\n const campaignEvent = this.webAttribution.generateCampaignEvent(lastEventId);\n if (promises) {\n promises.push(this.track(campaignEvent).promise);\n } else {\n this.track(campaignEvent);\n }\n this.config.loggerProvider.log('Tracking attribution.');\n return true;\n }\n\n async process(event: Event) {\n const currentTime = Date.now();\n const isEventInNewSession = isNewSession(this.config.sessionTimeout, this.config.lastEventTime);\n const shouldSetSessionIdOnNewCampaign =\n this.webAttribution && this.webAttribution.shouldSetSessionIdOnNewCampaign();\n\n if (\n event.event_type !== DEFAULT_SESSION_START_EVENT &&\n event.event_type !== DEFAULT_SESSION_END_EVENT &&\n (!event.session_id || event.session_id === this.getSessionId())\n ) {\n if (isEventInNewSession || shouldSetSessionIdOnNewCampaign) {\n this.setSessionId(currentTime);\n if (shouldSetSessionIdOnNewCampaign) {\n this.config.loggerProvider.log('Created a new session for new campaign.');\n }\n } else if (!isEventInNewSession) {\n // Web attribution should be tracked during the middle of a session\n // if there has been a chance in the campaign information.\n this.trackCampaignEventIfNeeded();\n }\n }\n\n return super.process(event);\n }\n\n private logBrowserOptions(browserConfig: BrowserOptions & { apiKey: string }) {\n try {\n const browserConfigCopy = {\n ...browserConfig,\n apiKey: browserConfig.apiKey.substring(0, 10) + '********',\n };\n this.config.loggerProvider.debug('Initialized Amplitude with BrowserConfig:', JSON.stringify(browserConfigCopy));\n } catch (e) {\n /* istanbul ignore next */\n this.config.loggerProvider.error('Error logging browser config', e);\n }\n }\n}\n"]}
@@ -1,5 +1,10 @@
1
- import { BrowserConfig as IBrowserConfig, BrowserRemoteConfig } from '@amplitude/analytics-types';
2
1
  import { RemoteConfigFetch } from '@amplitude/analytics-remote-config';
2
+ import { BrowserConfig as IBrowserConfig, AutocaptureOptions } from '@amplitude/analytics-core';
3
+ export type BrowserRemoteConfig = {
4
+ browserSDK: {
5
+ autocapture?: AutocaptureOptions | boolean;
6
+ };
7
+ };
3
8
  export declare class BrowserJoinedConfigGenerator {
4
9
  config: IBrowserConfig;
5
10
  remoteConfigFetch: RemoteConfigFetch<BrowserRemoteConfig> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"joined-config.d.ts","sourceRoot":"","sources":["../../../src/config/joined-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAA2B,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGhG,qBAAa,4BAA4B;IAGvC,MAAM,EAAE,cAAc,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;gBAE1D,WAAW,EAAE,cAAc;IAQjC,UAAU;IAOV,oBAAoB,IAAI,OAAO,CAAC,cAAc,CAAC;CAgEtD;AAED,eAAO,MAAM,kCAAkC,gBAAuB,cAAc,0CAInF,CAAC"}
1
+ {"version":3,"file":"joined-config.d.ts","sourceRoot":"","sources":["../../../src/config/joined-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAmB,aAAa,IAAI,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEjH,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE;QACV,WAAW,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;KAC5C,CAAC;CACH,CAAC;AAEF,qBAAa,4BAA4B;IAGvC,MAAM,EAAE,cAAc,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;gBAE1D,WAAW,EAAE,cAAc;IAQjC,UAAU;IAOV,oBAAoB,IAAI,OAAO,CAAC,cAAc,CAAC;CAgEtD;AAED,eAAO,MAAM,kCAAkC,gBAAuB,cAAc,0CAInF,CAAC"}
@@ -1,4 +1,4 @@
1
- var _this = this;
1
+ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBrowserJoinedConfigGenerator = exports.BrowserJoinedConfigGenerator = void 0;
4
4
  var tslib_1 = require("tslib");
@@ -28,22 +28,22 @@ var BrowserJoinedConfigGenerator = /** @class */ (function () {
28
28
  });
29
29
  };
30
30
  BrowserJoinedConfigGenerator.prototype.generateJoinedConfig = function () {
31
- var _a, _b, _c;
32
- var _d;
33
31
  return tslib_1.__awaiter(this, void 0, void 0, function () {
34
- var remoteConfig, _e, e_1;
32
+ var remoteConfig, _a, e_1;
33
+ var _b, _c, _d;
34
+ var _e;
35
35
  return tslib_1.__generator(this, function (_f) {
36
36
  switch (_f.label) {
37
37
  case 0:
38
38
  _f.trys.push([0, 3, , 4]);
39
- _e = this.remoteConfigFetch;
40
- if (!_e) return [3 /*break*/, 2];
39
+ _a = this.remoteConfigFetch;
40
+ if (!_a) return [3 /*break*/, 2];
41
41
  return [4 /*yield*/, this.remoteConfigFetch.getRemoteConfig('analyticsSDK', 'browserSDK', this.config.sessionId)];
42
42
  case 1:
43
- _e = (_f.sent());
43
+ _a = (_f.sent());
44
44
  _f.label = 2;
45
45
  case 2:
46
- remoteConfig = _e;
46
+ remoteConfig = _a;
47
47
  this.config.loggerProvider.debug('Remote configuration:', JSON.stringify(remoteConfig, null, 2));
48
48
  // merge remoteConfig.autocapture and this.config.autocapture
49
49
  // if a field is in remoteConfig.autocapture, use that value
@@ -67,11 +67,11 @@ var BrowserJoinedConfigGenerator = /** @class */ (function () {
67
67
  this.config.defaultTracking = this.config.autocapture;
68
68
  }
69
69
  this.config.loggerProvider.debug('Joined configuration: ', JSON.stringify(this.config, null, 2));
70
- (_a = (_d = this.config).requestMetadata) !== null && _a !== void 0 ? _a : (_d.requestMetadata = new analytics_core_1.RequestMetadata());
71
- if ((_b = this.remoteConfigFetch) === null || _b === void 0 ? void 0 : _b.metrics.fetchTimeAPISuccess) {
70
+ (_b = (_e = this.config).requestMetadata) !== null && _b !== void 0 ? _b : (_e.requestMetadata = new analytics_core_1.RequestMetadata());
71
+ if ((_c = this.remoteConfigFetch) === null || _c === void 0 ? void 0 : _c.metrics.fetchTimeAPISuccess) {
72
72
  this.config.requestMetadata.recordHistogram('remote_config_fetch_time_API_success', this.remoteConfigFetch.metrics.fetchTimeAPISuccess);
73
73
  }
74
- if ((_c = this.remoteConfigFetch) === null || _c === void 0 ? void 0 : _c.metrics.fetchTimeAPIFail) {
74
+ if ((_d = this.remoteConfigFetch) === null || _d === void 0 ? void 0 : _d.metrics.fetchTimeAPIFail) {
75
75
  this.config.requestMetadata.recordHistogram('remote_config_fetch_time_API_fail', this.remoteConfigFetch.metrics.fetchTimeAPIFail);
76
76
  }
77
77
  return [3 /*break*/, 4];
@@ -87,7 +87,7 @@ var BrowserJoinedConfigGenerator = /** @class */ (function () {
87
87
  return BrowserJoinedConfigGenerator;
88
88
  }());
89
89
  exports.BrowserJoinedConfigGenerator = BrowserJoinedConfigGenerator;
90
- var createBrowserJoinedConfigGenerator = function (localConfig) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
90
+ var createBrowserJoinedConfigGenerator = function (localConfig) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
91
91
  var joinedConfigGenerator;
92
92
  return tslib_1.__generator(this, function (_a) {
93
93
  switch (_a.label) {
@@ -1 +1 @@
1
- {"version":3,"file":"joined-config.js","sourceRoot":"","sources":["../../../src/config/joined-config.ts"],"names":[],"mappings":"AAAA,iBAgGA;;;;AA/FA,8EAAgG;AAChG,4DAA4D;AAE5D;IAME,sCAAY,WAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAC9B,uDAAuD,EACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAC;IACJ,CAAC;IAEK,iDAAU,GAAhB;;;;;;wBACE,KAAA,IAAI,CAAA;wBAAqB,qBAAM,IAAA,iDAAuB,EAAsB;gCAC1E,WAAW,EAAE,IAAI,CAAC,MAAM;gCACxB,UAAU,EAAE,CAAC,cAAc,CAAC;6BAC7B,CAAC,EAAA;;wBAHF,GAAK,iBAAiB,GAAG,SAGvB,CAAC;;;;;KACJ;IAEK,2DAAoB,GAA1B;;;;;;;;;wBAGM,KAAA,IAAI,CAAC,iBAAiB,CAAA;iCAAtB,wBAAsB;wBACrB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;;wBAAlG,KAAA,CAAC,SAAiG,CAAC,CAAA;;;wBAF/F,YAAY,KAEmF;wBACrG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBAEjG,6DAA6D;wBAC7D,4DAA4D;wBAC5D,4FAA4F;wBAC5F,IAAI,YAAY,IAAI,aAAa,IAAI,YAAY,EAAE;4BACjD,IAAI,OAAO,YAAY,CAAC,WAAW,KAAK,SAAS,EAAE;gCACjD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;6BACpD;4BAED,IAAI,OAAO,YAAY,CAAC,WAAW,KAAK,QAAQ,EAAE;gCAChD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;oCACzC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;iCACpD;gCAED,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;oCAChD,IAAI,CAAC,MAAM,CAAC,WAAW,sBACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACpC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACtC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACzC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAClC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACjC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IACzC,YAAY,CAAC,WAAW,CAC5B,CAAC;iCACH;gCAED,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE;oCAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,yCAClB,IAAI,CAAC,MAAM,CAAC,WAAW,GACvB,YAAY,CAAC,WAAW,CAC5B,CAAC;iCACH;6BACF;4BAED,+EAA+E;4BAC/E,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;yBACvD;wBAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBACjG,YAAA,IAAI,CAAC,MAAM,EAAC,eAAe,uCAAf,eAAe,GAAK,IAAI,gCAAe,EAAE,EAAC;wBACtD,IAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,CAAC,mBAAmB,EAAE;4BACvD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CACzC,sCAAsC,EACtC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,mBAAmB,CACnD,CAAC;yBACH;wBACD,IAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,CAAC,gBAAgB,EAAE;4BACpD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CACzC,mCAAmC,EACnC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAChD,CAAC;yBACH;;;;wBAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,yDAAyD,EAAE,GAAC,CAAC,CAAC;;4BAGjG,sBAAO,IAAI,CAAC,MAAM,EAAC;;;;KACpB;IACH,mCAAC;AAAD,CAAC,AArFD,IAqFC;AArFY,oEAA4B;AAuFlC,IAAM,kCAAkC,GAAG,UAAO,WAA2B;;;;;gBAC5E,qBAAqB,GAAG,IAAI,4BAA4B,CAAC,WAAW,CAAC,CAAC;gBAC5E,qBAAM,qBAAqB,CAAC,UAAU,EAAE,EAAA;;gBAAxC,SAAwC,CAAC;gBACzC,sBAAO,qBAAqB,EAAC;;;KAC9B,CAAC;AAJW,QAAA,kCAAkC,sCAI7C","sourcesContent":["import { BrowserConfig as IBrowserConfig, BrowserRemoteConfig } from '@amplitude/analytics-types';\nimport { createRemoteConfigFetch, RemoteConfigFetch } from '@amplitude/analytics-remote-config';\nimport { RequestMetadata } from '@amplitude/analytics-core';\n\nexport class BrowserJoinedConfigGenerator {\n // Local config before generateJoinedConfig is called\n // Joined config after generateJoinedConfig is called\n config: IBrowserConfig;\n remoteConfigFetch: RemoteConfigFetch<BrowserRemoteConfig> | undefined;\n\n constructor(localConfig: IBrowserConfig) {\n this.config = localConfig;\n this.config.loggerProvider.debug(\n 'Local configuration before merging with remote config',\n JSON.stringify(this.config, null, 2),\n );\n }\n\n async initialize() {\n this.remoteConfigFetch = await createRemoteConfigFetch<BrowserRemoteConfig>({\n localConfig: this.config,\n configKeys: ['analyticsSDK'],\n });\n }\n\n async generateJoinedConfig(): Promise<IBrowserConfig> {\n try {\n const remoteConfig =\n this.remoteConfigFetch &&\n (await this.remoteConfigFetch.getRemoteConfig('analyticsSDK', 'browserSDK', this.config.sessionId));\n this.config.loggerProvider.debug('Remote configuration:', JSON.stringify(remoteConfig, null, 2));\n\n // merge remoteConfig.autocapture and this.config.autocapture\n // if a field is in remoteConfig.autocapture, use that value\n // if a field is not in remoteConfig.autocapture, use the value from this.config.autocapture\n if (remoteConfig && 'autocapture' in remoteConfig) {\n if (typeof remoteConfig.autocapture === 'boolean') {\n this.config.autocapture = remoteConfig.autocapture;\n }\n\n if (typeof remoteConfig.autocapture === 'object') {\n if (this.config.autocapture === undefined) {\n this.config.autocapture = remoteConfig.autocapture;\n }\n\n if (typeof this.config.autocapture === 'boolean') {\n this.config.autocapture = {\n attribution: this.config.autocapture,\n fileDownloads: this.config.autocapture,\n formInteractions: this.config.autocapture,\n pageViews: this.config.autocapture,\n sessions: this.config.autocapture,\n elementInteractions: this.config.autocapture,\n ...remoteConfig.autocapture,\n };\n }\n\n if (typeof this.config.autocapture === 'object') {\n this.config.autocapture = {\n ...this.config.autocapture,\n ...remoteConfig.autocapture,\n };\n }\n }\n\n // Override default tracking options if autocapture is updated by remote config\n this.config.defaultTracking = this.config.autocapture;\n }\n\n this.config.loggerProvider.debug('Joined configuration: ', JSON.stringify(this.config, null, 2));\n this.config.requestMetadata ??= new RequestMetadata();\n if (this.remoteConfigFetch?.metrics.fetchTimeAPISuccess) {\n this.config.requestMetadata.recordHistogram(\n 'remote_config_fetch_time_API_success',\n this.remoteConfigFetch.metrics.fetchTimeAPISuccess,\n );\n }\n if (this.remoteConfigFetch?.metrics.fetchTimeAPIFail) {\n this.config.requestMetadata.recordHistogram(\n 'remote_config_fetch_time_API_fail',\n this.remoteConfigFetch.metrics.fetchTimeAPIFail,\n );\n }\n } catch (e) {\n this.config.loggerProvider.error('Failed to fetch remote configuration because of error: ', e);\n }\n\n return this.config;\n }\n}\n\nexport const createBrowserJoinedConfigGenerator = async (localConfig: IBrowserConfig) => {\n const joinedConfigGenerator = new BrowserJoinedConfigGenerator(localConfig);\n await joinedConfigGenerator.initialize();\n return joinedConfigGenerator;\n};\n"]}
1
+ {"version":3,"file":"joined-config.js","sourceRoot":"","sources":["../../../src/config/joined-config.ts"],"names":[],"mappings":"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","sourcesContent":["import { createRemoteConfigFetch, RemoteConfigFetch } from '@amplitude/analytics-remote-config';\nimport { RequestMetadata, BrowserConfig as IBrowserConfig, AutocaptureOptions } from '@amplitude/analytics-core';\n\nexport type BrowserRemoteConfig = {\n browserSDK: {\n autocapture?: AutocaptureOptions | boolean;\n };\n};\n\nexport class BrowserJoinedConfigGenerator {\n // Local config before generateJoinedConfig is called\n // Joined config after generateJoinedConfig is called\n config: IBrowserConfig;\n remoteConfigFetch: RemoteConfigFetch<BrowserRemoteConfig> | undefined;\n\n constructor(localConfig: IBrowserConfig) {\n this.config = localConfig;\n this.config.loggerProvider.debug(\n 'Local configuration before merging with remote config',\n JSON.stringify(this.config, null, 2),\n );\n }\n\n async initialize() {\n this.remoteConfigFetch = await createRemoteConfigFetch<BrowserRemoteConfig>({\n localConfig: this.config,\n configKeys: ['analyticsSDK'],\n });\n }\n\n async generateJoinedConfig(): Promise<IBrowserConfig> {\n try {\n const remoteConfig =\n this.remoteConfigFetch &&\n (await this.remoteConfigFetch.getRemoteConfig('analyticsSDK', 'browserSDK', this.config.sessionId));\n this.config.loggerProvider.debug('Remote configuration:', JSON.stringify(remoteConfig, null, 2));\n\n // merge remoteConfig.autocapture and this.config.autocapture\n // if a field is in remoteConfig.autocapture, use that value\n // if a field is not in remoteConfig.autocapture, use the value from this.config.autocapture\n if (remoteConfig && 'autocapture' in remoteConfig) {\n if (typeof remoteConfig.autocapture === 'boolean') {\n this.config.autocapture = remoteConfig.autocapture;\n }\n\n if (typeof remoteConfig.autocapture === 'object') {\n if (this.config.autocapture === undefined) {\n this.config.autocapture = remoteConfig.autocapture;\n }\n\n if (typeof this.config.autocapture === 'boolean') {\n this.config.autocapture = {\n attribution: this.config.autocapture,\n fileDownloads: this.config.autocapture,\n formInteractions: this.config.autocapture,\n pageViews: this.config.autocapture,\n sessions: this.config.autocapture,\n elementInteractions: this.config.autocapture,\n ...remoteConfig.autocapture,\n };\n }\n\n if (typeof this.config.autocapture === 'object') {\n this.config.autocapture = {\n ...this.config.autocapture,\n ...remoteConfig.autocapture,\n };\n }\n }\n\n // Override default tracking options if autocapture is updated by remote config\n this.config.defaultTracking = this.config.autocapture;\n }\n\n this.config.loggerProvider.debug('Joined configuration: ', JSON.stringify(this.config, null, 2));\n this.config.requestMetadata ??= new RequestMetadata();\n if (this.remoteConfigFetch?.metrics.fetchTimeAPISuccess) {\n this.config.requestMetadata.recordHistogram(\n 'remote_config_fetch_time_API_success',\n this.remoteConfigFetch.metrics.fetchTimeAPISuccess,\n );\n }\n if (this.remoteConfigFetch?.metrics.fetchTimeAPIFail) {\n this.config.requestMetadata.recordHistogram(\n 'remote_config_fetch_time_API_fail',\n this.remoteConfigFetch.metrics.fetchTimeAPIFail,\n );\n }\n } catch (e) {\n this.config.loggerProvider.error('Failed to fetch remote configuration because of error: ', e);\n }\n\n return this.config;\n }\n}\n\nexport const createBrowserJoinedConfigGenerator = async (localConfig: IBrowserConfig) => {\n const joinedConfigGenerator = new BrowserJoinedConfigGenerator(localConfig);\n await joinedConfigGenerator.initialize();\n return joinedConfigGenerator;\n};\n"]}
@@ -1,18 +1,15 @@
1
- import { Event, BrowserOptions, BrowserConfig as IBrowserConfig, DefaultTrackingOptions, Storage, TrackingOptions, TransportType, UserSession, Logger as ILogger, LogLevel, Plan, IngestionMetadata, IdentityStorageType, ServerZoneType, OfflineDisabled, AutocaptureOptions } from '@amplitude/analytics-types';
2
- import { Config, MemoryStorage } from '@amplitude/analytics-core';
3
- import { CookieStorage, FetchTransport } from '@amplitude/analytics-client-common';
1
+ import { Config, ILogger, LogLevel, Event, Storage, IngestionMetadata, ServerZoneType, OfflineDisabled, Plan, IdentityStorageType, TransportType, MemoryStorage, CookieStorage, FetchTransport, UserSession, BrowserOptions, BrowserConfig as IBrowserConfig, DefaultTrackingOptions, TrackingOptions, AutocaptureOptions, CookieOptions } from '@amplitude/analytics-core';
4
2
  import { LocalStorage } from './storage/local-storage';
5
3
  import { SessionStorage } from './storage/session-storage';
6
4
  import { XHRTransport } from './transports/xhr';
7
5
  import { SendBeaconTransport } from './transports/send-beacon';
8
- import { CookieOptions } from '@amplitude/analytics-types/lib/esm/config/browser';
9
6
  import { AmplitudeBrowser } from './browser-client';
10
7
  export declare class BrowserConfig extends Config implements IBrowserConfig {
11
8
  apiKey: string;
12
9
  appVersion?: string | undefined;
13
10
  cookieOptions: CookieOptions;
14
- defaultTracking?: boolean | DefaultTrackingOptions | undefined;
15
- autocapture?: boolean | AutocaptureOptions | undefined;
11
+ defaultTracking?: (boolean | DefaultTrackingOptions) | undefined;
12
+ autocapture?: (boolean | AutocaptureOptions) | undefined;
16
13
  flushIntervalMillis: number;
17
14
  flushMaxRetries: number;
18
15
  flushQueueSize: number;
@@ -42,7 +39,7 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
42
39
  protected _userId?: string;
43
40
  protected _pageCounter?: number;
44
41
  protected _debugLogsEnabled?: boolean;
45
- constructor(apiKey: string, appVersion?: string | undefined, cookieStorage?: Storage<UserSession>, cookieOptions?: CookieOptions, defaultTracking?: boolean | DefaultTrackingOptions | undefined, autocapture?: boolean | AutocaptureOptions | undefined, deviceId?: string, flushIntervalMillis?: number, flushMaxRetries?: number, flushQueueSize?: number, identityStorage?: IdentityStorageType, ingestionMetadata?: IngestionMetadata | undefined, instanceName?: string | undefined, lastEventId?: number, lastEventTime?: number, loggerProvider?: ILogger, logLevel?: LogLevel, minIdLength?: number | undefined, offline?: boolean | typeof OfflineDisabled, 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', useBatch?: boolean, fetchRemoteConfig?: boolean, userId?: string, pageCounter?: number, debugLogsEnabled?: boolean);
42
+ constructor(apiKey: string, appVersion?: string | undefined, cookieStorage?: Storage<UserSession>, cookieOptions?: CookieOptions, defaultTracking?: (boolean | DefaultTrackingOptions) | undefined, autocapture?: (boolean | AutocaptureOptions) | undefined, deviceId?: string, flushIntervalMillis?: number, flushMaxRetries?: number, flushQueueSize?: number, identityStorage?: IdentityStorageType, ingestionMetadata?: IngestionMetadata | undefined, instanceName?: string | undefined, lastEventId?: number, lastEventTime?: number, loggerProvider?: ILogger, logLevel?: LogLevel, minIdLength?: number | undefined, offline?: boolean | typeof OfflineDisabled, 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', useBatch?: boolean, fetchRemoteConfig?: boolean, userId?: string, pageCounter?: number, debugLogsEnabled?: boolean);
46
43
  get cookieStorage(): Storage<UserSession>;
47
44
  set cookieStorage(cookieStorage: Storage<UserSession>);
48
45
  get deviceId(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
package/lib/cjs/config.js CHANGED
@@ -1,10 +1,8 @@
1
- var _this = this;
1
+ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTopLevelDomain = exports.createTransport = exports.createCookieStorage = exports.useBrowserConfig = exports.BrowserConfig = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var analytics_types_1 = require("@amplitude/analytics-types");
6
5
  var analytics_core_1 = require("@amplitude/analytics-core");
7
- var analytics_client_common_1 = require("@amplitude/analytics-client-common");
8
6
  var local_storage_1 = require("./storage/local-storage");
9
7
  var session_storage_1 = require("./storage/session-storage");
10
8
  var xhr_1 = require("./transports/xhr");
@@ -28,7 +26,7 @@ var BrowserConfig = /** @class */ (function (_super) {
28
26
  if (flushQueueSize === void 0) { flushQueueSize = 30; }
29
27
  if (identityStorage === void 0) { identityStorage = constants_1.DEFAULT_IDENTITY_STORAGE; }
30
28
  if (loggerProvider === void 0) { loggerProvider = new analytics_core_1.Logger(); }
31
- if (logLevel === void 0) { logLevel = analytics_types_1.LogLevel.Warn; }
29
+ if (logLevel === void 0) { logLevel = analytics_core_1.LogLevel.Warn; }
32
30
  if (offline === void 0) { offline = false; }
33
31
  if (optOut === void 0) { optOut = false; }
34
32
  if (serverUrl === void 0) { serverUrl = ''; }
@@ -79,7 +77,7 @@ var BrowserConfig = /** @class */ (function (_super) {
79
77
  _this.pageCounter = pageCounter;
80
78
  _this.userId = userId;
81
79
  _this.debugLogsEnabled = debugLogsEnabled;
82
- _this.loggerProvider.enable(debugLogsEnabled ? analytics_types_1.LogLevel.Debug : _this.logLevel);
80
+ _this.loggerProvider.enable(debugLogsEnabled ? analytics_core_1.LogLevel.Debug : _this.logLevel);
83
81
  return _this;
84
82
  }
85
83
  Object.defineProperty(BrowserConfig.prototype, "cookieStorage", {
@@ -207,17 +205,21 @@ var BrowserConfig = /** @class */ (function (_super) {
207
205
  pageCounter: this._pageCounter,
208
206
  debugLogsEnabled: this._debugLogsEnabled,
209
207
  };
210
- void this.cookieStorage.set((0, analytics_client_common_1.getCookieName)(this.apiKey), cache);
208
+ void this.cookieStorage.set((0, analytics_core_1.getCookieName)(this.apiKey), cache);
211
209
  };
212
210
  return BrowserConfig;
213
211
  }(analytics_core_1.Config));
214
212
  exports.BrowserConfig = BrowserConfig;
215
- var useBrowserConfig = function (apiKey, options, amplitudeInstance) {
216
- if (options === void 0) { options = {}; }
217
- return tslib_1.__awaiter(_this, void 0, void 0, function () {
213
+ var useBrowserConfig = function (apiKey_1) {
214
+ var args_1 = [];
215
+ for (var _i = 1; _i < arguments.length; _i++) {
216
+ args_1[_i - 1] = arguments[_i];
217
+ }
218
+ return tslib_1.__awaiter(void 0, tslib_1.__spreadArray([apiKey_1], tslib_1.__read(args_1), false), void 0, function (apiKey, options, amplitudeInstance) {
218
219
  var identityStorage, cookieOptions, _a, _b, cookieStorage, legacyCookies, previousCookies, queryParams, deviceId, lastEventId, lastEventTime, optOut, sessionId, userId, trackingOptions, pageCounter, debugLogsEnabled, browserConfig;
219
220
  var _c;
220
221
  var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
222
+ if (options === void 0) { options = {}; }
221
223
  return tslib_1.__generator(this, function (_3) {
222
224
  switch (_3.label) {
223
225
  case 0:
@@ -243,10 +245,10 @@ var useBrowserConfig = function (apiKey, options, amplitudeInstance) {
243
245
  return [4 /*yield*/, (0, cookie_migration_1.parseLegacyCookies)(apiKey, cookieStorage, (_g = (_f = options.cookieOptions) === null || _f === void 0 ? void 0 : _f.upgrade) !== null && _g !== void 0 ? _g : true)];
244
246
  case 6:
245
247
  legacyCookies = _3.sent();
246
- return [4 /*yield*/, cookieStorage.get((0, analytics_client_common_1.getCookieName)(apiKey))];
248
+ return [4 /*yield*/, cookieStorage.get((0, analytics_core_1.getCookieName)(apiKey))];
247
249
  case 7:
248
250
  previousCookies = _3.sent();
249
- queryParams = (0, analytics_client_common_1.getQueryParams)();
251
+ queryParams = (0, analytics_core_1.getQueryParams)();
250
252
  deviceId = (_m = (_l = (_k = (_j = (_h = options.deviceId) !== null && _h !== void 0 ? _h : queryParams.ampDeviceId) !== null && _j !== void 0 ? _j : queryParams.deviceId) !== null && _k !== void 0 ? _k : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _l !== void 0 ? _l : legacyCookies.deviceId) !== null && _m !== void 0 ? _m : (0, analytics_core_1.UUID)();
251
253
  lastEventId = (_o = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventId) !== null && _o !== void 0 ? _o : legacyCookies.lastEventId;
252
254
  lastEventTime = (_p = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime) !== null && _p !== void 0 ? _p : legacyCookies.lastEventTime;
@@ -291,7 +293,7 @@ var createCookieStorage = function (identityStorage, cookieOptions) {
291
293
  return new analytics_core_1.MemoryStorage();
292
294
  case 'cookie':
293
295
  default:
294
- return new analytics_client_common_1.CookieStorage(tslib_1.__assign(tslib_1.__assign({}, cookieOptions), { expirationDays: cookieOptions.expiration }));
296
+ return new analytics_core_1.CookieStorage(tslib_1.__assign(tslib_1.__assign({}, cookieOptions), { expirationDays: cookieOptions.expiration }));
295
297
  }
296
298
  };
297
299
  exports.createCookieStorage = createCookieStorage;
@@ -302,14 +304,14 @@ var createTransport = function (transport) {
302
304
  if (transport === 'beacon') {
303
305
  return new send_beacon_1.SendBeaconTransport();
304
306
  }
305
- return new analytics_client_common_1.FetchTransport();
307
+ return new analytics_core_1.FetchTransport();
306
308
  };
307
309
  exports.createTransport = createTransport;
308
- var getTopLevelDomain = function (url) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
310
+ var getTopLevelDomain = function (url) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
309
311
  var host, parts, levels, storageKey, i, i, domain, options, storage, value;
310
312
  return tslib_1.__generator(this, function (_a) {
311
313
  switch (_a.label) {
312
- case 0: return [4 /*yield*/, new analytics_client_common_1.CookieStorage().isEnabled()];
314
+ case 0: return [4 /*yield*/, new analytics_core_1.CookieStorage().isEnabled()];
313
315
  case 1:
314
316
  if (!(_a.sent()) ||
315
317
  (!url && (typeof location === 'undefined' || !location.hostname))) {
@@ -328,7 +330,7 @@ var getTopLevelDomain = function (url) { return tslib_1.__awaiter(_this, void 0,
328
330
  if (!(i < levels.length)) return [3 /*break*/, 7];
329
331
  domain = levels[i];
330
332
  options = { domain: '.' + domain };
331
- storage = new analytics_client_common_1.CookieStorage(options);
333
+ storage = new analytics_core_1.CookieStorage(options);
332
334
  return [4 /*yield*/, storage.set(storageKey, 1)];
333
335
  case 3:
334
336
  _a.sent();