@amplitude/plugin-page-view-tracking-browser 1.0.1 → 2.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,440 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file. See
4
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ # [2.0.0-beta.3](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@2.0.0-beta.2...@amplitude/plugin-page-view-tracking-browser@2.0.0-beta.3) (2023-06-07)
7
+
8
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
9
+
10
+ # Change Log
11
+
12
+ All notable changes to this project will be documented in this file. See
13
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
14
+
15
+ # [2.0.0-beta.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@2.0.0-beta.1...@amplitude/plugin-page-view-tracking-browser@2.0.0-beta.2) (2023-06-06)
16
+
17
+ ### Bug Fixes
18
+
19
+ - simplify plugins and eliminate enums ([#407](https://github.com/amplitude/Amplitude-TypeScript/issues/407))
20
+ ([890ec66](https://github.com/amplitude/Amplitude-TypeScript/commit/890ec6695a8b25cd6988e9f7ae584d4ba2835f67))
21
+
22
+ # Change Log
23
+
24
+ All notable changes to this project will be documented in this file. See
25
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
26
+
27
+ # [2.0.0-beta.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.8.2...@amplitude/plugin-page-view-tracking-browser@2.0.0-beta.1) (2023-06-06)
28
+
29
+ ### Bug Fixes
30
+
31
+ - dependency tree
32
+ ([d7ce659](https://github.com/amplitude/Amplitude-TypeScript/commit/d7ce659c72321c373346bab0f4c0e6d23304e1b6))
33
+ - dyanamic page view tracking to run after navigation
34
+ ([#395](https://github.com/amplitude/Amplitude-TypeScript/issues/395))
35
+ ([484d8f6](https://github.com/amplitude/Amplitude-TypeScript/commit/484d8f61955e7bf169576b3a0c588bf9f440e726))
36
+
37
+ ### Features
38
+
39
+ - simplify browser SDK options and plugin options interface
40
+ ([#384](https://github.com/amplitude/Amplitude-TypeScript/issues/384))
41
+ ([b464cfb](https://github.com/amplitude/Amplitude-TypeScript/commit/b464cfb8e09d722bf06ed3c11955f77465a23daf))
42
+ - simplify user identity storage options/configuration
43
+ ([#390](https://github.com/amplitude/Amplitude-TypeScript/issues/390))
44
+ ([f8cf0cc](https://github.com/amplitude/Amplitude-TypeScript/commit/f8cf0cca8c2a17738f13878642fa5b37c0070f77))
45
+ - track page dynamic page views in single page applications be default
46
+ ([#394](https://github.com/amplitude/Amplitude-TypeScript/issues/394))
47
+ ([7ce6b3a](https://github.com/amplitude/Amplitude-TypeScript/commit/7ce6b3ac610cded95e817a16d22fac82ec21c4e4))
48
+
49
+ # Change Log
50
+
51
+ All notable changes to this project will be documented in this file. See
52
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
53
+
54
+ ## [0.8.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.8.1...@amplitude/plugin-page-view-tracking-browser@0.8.2) (2023-06-05)
55
+
56
+ ### Bug Fixes
57
+
58
+ - Reference error for location ([#398](https://github.com/amplitude/Amplitude-TypeScript/issues/398))
59
+ ([85f063e](https://github.com/amplitude/Amplitude-TypeScript/commit/85f063e65165b3571366e96dfecb866c6286670b))
60
+
61
+ # Change Log
62
+
63
+ All notable changes to this project will be documented in this file. See
64
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
65
+
66
+ ## [0.8.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.8.0...@amplitude/plugin-page-view-tracking-browser@0.8.1) (2023-06-02)
67
+
68
+ ### Bug Fixes
69
+
70
+ - dyanamic page view tracking to run after navigation
71
+ ([#396](https://github.com/amplitude/Amplitude-TypeScript/issues/396))
72
+ ([31d6435](https://github.com/amplitude/Amplitude-TypeScript/commit/31d6435b0f50da89302e83431a6fb5c1b46ec71b))
73
+
74
+ # Change Log
75
+
76
+ All notable changes to this project will be documented in this file. See
77
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
78
+
79
+ # [0.8.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.7.3...@amplitude/plugin-page-view-tracking-browser@0.8.0) (2023-05-04)
80
+
81
+ ### Features
82
+
83
+ - add attribution tracking for linkedin click id li_fat_id
84
+ ([ca81f3d](https://github.com/amplitude/Amplitude-TypeScript/commit/ca81f3d75ece7e0e23a1bc1b6889107d53a60a86))
85
+ - add rtd_cid for Reddit campaign tracking/attribution
86
+ ([784e080](https://github.com/amplitude/Amplitude-TypeScript/commit/784e080aa129c37e850d7f34115beb9770044e4e))
87
+
88
+ # Change Log
89
+
90
+ All notable changes to this project will be documented in this file. See
91
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
92
+
93
+ ## [0.7.3](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.7.2...@amplitude/plugin-page-view-tracking-browser@0.7.3) (2023-04-27)
94
+
95
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
96
+
97
+ # Change Log
98
+
99
+ All notable changes to this project will be documented in this file. See
100
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
101
+
102
+ ## [0.7.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.7.1...@amplitude/plugin-page-view-tracking-browser@0.7.2) (2023-04-27)
103
+
104
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
105
+
106
+ # Change Log
107
+
108
+ All notable changes to this project will be documented in this file. See
109
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
110
+
111
+ ## [0.7.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.7.0...@amplitude/plugin-page-view-tracking-browser@0.7.1) (2023-04-25)
112
+
113
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
114
+
115
+ # Change Log
116
+
117
+ All notable changes to this project will be documented in this file. See
118
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
119
+
120
+ # [0.7.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.3...@amplitude/plugin-page-view-tracking-browser@0.7.0) (2023-04-06)
121
+
122
+ ### Features
123
+
124
+ - update Plugin implementation to allow for dropping events
125
+ ([#361](https://github.com/amplitude/Amplitude-TypeScript/issues/361))
126
+ ([3db4d13](https://github.com/amplitude/Amplitude-TypeScript/commit/3db4d1327e87ebcf7a2a8c1d50a62e5c8bc2b418))
127
+
128
+ # Change Log
129
+
130
+ All notable changes to this project will be documented in this file. See
131
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
132
+
133
+ ## [0.6.3](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.2...@amplitude/plugin-page-view-tracking-browser@0.6.3) (2023-03-31)
134
+
135
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
136
+
137
+ # Change Log
138
+
139
+ All notable changes to this project will be documented in this file. See
140
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
141
+
142
+ ## [0.6.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.2-beta.0...@amplitude/plugin-page-view-tracking-browser@0.6.2) (2023-03-31)
143
+
144
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
145
+
146
+ # Change Log
147
+
148
+ All notable changes to this project will be documented in this file. See
149
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
150
+
151
+ ## [0.6.2-beta.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.1...@amplitude/plugin-page-view-tracking-browser@0.6.2-beta.0) (2023-03-31)
152
+
153
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
154
+
155
+ # Change Log
156
+
157
+ All notable changes to this project will be documented in this file. See
158
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
159
+
160
+ ## [0.6.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.1-beta.1...@amplitude/plugin-page-view-tracking-browser@0.6.1) (2023-03-03)
161
+
162
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
163
+
164
+ # Change Log
165
+
166
+ All notable changes to this project will be documented in this file. See
167
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
168
+
169
+ ## [0.6.1-beta.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.1-beta.0...@amplitude/plugin-page-view-tracking-browser@0.6.1-beta.1) (2023-03-03)
170
+
171
+ ### Bug Fixes
172
+
173
+ - event types and properties for default events ([#341](https://github.com/amplitude/Amplitude-TypeScript/issues/341))
174
+ ([707522d](https://github.com/amplitude/Amplitude-TypeScript/commit/707522d440d5aa3be48809afcb44a4147f103903))
175
+
176
+ # Change Log
177
+
178
+ All notable changes to this project will be documented in this file. See
179
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
180
+
181
+ ## [0.6.1-beta.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.0...@amplitude/plugin-page-view-tracking-browser@0.6.1-beta.0) (2023-03-03)
182
+
183
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
184
+
185
+ # Change Log
186
+
187
+ All notable changes to this project will be documented in this file. See
188
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
189
+
190
+ # [0.6.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.4...@amplitude/plugin-page-view-tracking-browser@0.6.0) (2023-02-27)
191
+
192
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
193
+
194
+ # Change Log
195
+
196
+ All notable changes to this project will be documented in this file. See
197
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
198
+
199
+ # [0.6.0-beta.4](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.3...@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.4) (2023-02-27)
200
+
201
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
202
+
203
+ # Change Log
204
+
205
+ All notable changes to this project will be documented in this file. See
206
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
207
+
208
+ # [0.6.0-beta.3](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.2...@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.3) (2023-02-26)
209
+
210
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
211
+
212
+ # Change Log
213
+
214
+ All notable changes to this project will be documented in this file. See
215
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
216
+
217
+ # [0.6.0-beta.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.1...@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.2) (2023-02-25)
218
+
219
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
220
+
221
+ # Change Log
222
+
223
+ All notable changes to this project will be documented in this file. See
224
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
225
+
226
+ # [0.6.0-beta.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.0...@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.1) (2023-02-24)
227
+
228
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
229
+
230
+ # Change Log
231
+
232
+ All notable changes to this project will be documented in this file. See
233
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
234
+
235
+ # [0.6.0-beta.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.7...@amplitude/plugin-page-view-tracking-browser@0.6.0-beta.0) (2023-02-24)
236
+
237
+ ### Bug Fixes
238
+
239
+ - remove client parameter requirement for page view tracking plugin
240
+ ([#329](https://github.com/amplitude/Amplitude-TypeScript/issues/329))
241
+ ([1e01575](https://github.com/amplitude/Amplitude-TypeScript/commit/1e015750b52880ca63afa5162cb482995f04d1c6))
242
+
243
+ ### Features
244
+
245
+ - allow custom page view event type ([#335](https://github.com/amplitude/Amplitude-TypeScript/issues/335))
246
+ ([0a4f8ed](https://github.com/amplitude/Amplitude-TypeScript/commit/0a4f8ede6e30ec3450ac0a468cf22b9266b0b23c))
247
+ - retrofit web attribution and page view plugins to browser SDK
248
+ ([#331](https://github.com/amplitude/Amplitude-TypeScript/issues/331))
249
+ ([ba845d3](https://github.com/amplitude/Amplitude-TypeScript/commit/ba845d3329bd6bebe3b89f24f4f316088c2d62b9))
250
+
251
+ # Change Log
252
+
253
+ All notable changes to this project will be documented in this file. See
254
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
255
+
256
+ ## [0.5.7](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.6...@amplitude/plugin-page-view-tracking-browser@0.5.7) (2023-02-09)
257
+
258
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
259
+
260
+ # Change Log
261
+
262
+ All notable changes to this project will be documented in this file. See
263
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
264
+
265
+ ## [0.5.6](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.5...@amplitude/plugin-page-view-tracking-browser@0.5.6) (2023-02-02)
266
+
267
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
268
+
269
+ # Change Log
270
+
271
+ All notable changes to this project will be documented in this file. See
272
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
273
+
274
+ ## [0.5.5](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.5-beta.0...@amplitude/plugin-page-view-tracking-browser@0.5.5) (2023-01-31)
275
+
276
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
277
+
278
+ # Change Log
279
+
280
+ All notable changes to this project will be documented in this file. See
281
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
282
+
283
+ ## [0.5.5-beta.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.4...@amplitude/plugin-page-view-tracking-browser@0.5.5-beta.0) (2023-01-26)
284
+
285
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
286
+
287
+ # Change Log
288
+
289
+ All notable changes to this project will be documented in this file. See
290
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
291
+
292
+ ## [0.5.4](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.3...@amplitude/plugin-page-view-tracking-browser@0.5.4) (2023-01-11)
293
+
294
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
295
+
296
+ # Change Log
297
+
298
+ All notable changes to this project will be documented in this file. See
299
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
300
+
301
+ ## [0.5.3](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.2...@amplitude/plugin-page-view-tracking-browser@0.5.3) (2022-12-21)
302
+
303
+ ### Bug Fixes
304
+
305
+ - upgrade dependencies to resolve dependabot vulnerability alerts
306
+ ([#299](https://github.com/amplitude/Amplitude-TypeScript/issues/299))
307
+ ([7dd1cd1](https://github.com/amplitude/Amplitude-TypeScript/commit/7dd1cd1b23a71981a4ad90b4b30cc9b7d28c4412))
308
+
309
+ ### Reverts
310
+
311
+ - Revert "Updated dependencies"
312
+ ([7ca9964](https://github.com/amplitude/Amplitude-TypeScript/commit/7ca9964781e4b900c6c027bdddf2ae1e7428ba18))
313
+
314
+ ## [0.5.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.1...@amplitude/plugin-page-view-tracking-browser@0.5.2) (2022-12-06)
315
+
316
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
317
+
318
+ ## [0.5.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.5.0...@amplitude/plugin-page-view-tracking-browser@0.5.1) (2022-12-05)
319
+
320
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
321
+
322
+ # [0.5.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.9...@amplitude/plugin-page-view-tracking-browser@0.5.0) (2022-11-28)
323
+
324
+ ### Features
325
+
326
+ - add utm_id tracking ([#284](https://github.com/amplitude/Amplitude-TypeScript/issues/284))
327
+ ([f72dcf1](https://github.com/amplitude/Amplitude-TypeScript/commit/f72dcf1788ebc84544aaee1dc41b1d1ba6e4c06e))
328
+
329
+ ## [0.4.9](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.8...@amplitude/plugin-page-view-tracking-browser@0.4.9) (2022-11-22)
330
+
331
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
332
+
333
+ ## [0.4.8](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.7...@amplitude/plugin-page-view-tracking-browser@0.4.8) (2022-11-15)
334
+
335
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
336
+
337
+ ## [0.4.7](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.6...@amplitude/plugin-page-view-tracking-browser@0.4.7) (2022-11-01)
338
+
339
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
340
+
341
+ ## [0.4.6](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.5...@amplitude/plugin-page-view-tracking-browser@0.4.6) (2022-11-01)
342
+
343
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
344
+
345
+ ## [0.4.5](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.4...@amplitude/plugin-page-view-tracking-browser@0.4.5) (2022-10-30)
346
+
347
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
348
+
349
+ ## [0.4.4](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.3...@amplitude/plugin-page-view-tracking-browser@0.4.4) (2022-10-26)
350
+
351
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
352
+
353
+ ## [0.4.3](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.3-beta.1...@amplitude/plugin-page-view-tracking-browser@0.4.3) (2022-10-25)
354
+
355
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
356
+
357
+ ## [0.4.3-beta.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.3-beta.0...@amplitude/plugin-page-view-tracking-browser@0.4.3-beta.1) (2022-10-25)
358
+
359
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
360
+
361
+ ## [0.4.3-beta.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.2...@amplitude/plugin-page-view-tracking-browser@0.4.3-beta.0) (2022-10-25)
362
+
363
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
364
+
365
+ ## [0.4.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.1...@amplitude/plugin-page-view-tracking-browser@0.4.2) (2022-10-25)
366
+
367
+ ### Bug Fixes
368
+
369
+ - add safe check for global scope before loading SDK
370
+ ([#252](https://github.com/amplitude/Amplitude-TypeScript/issues/252))
371
+ ([a3f4f6f](https://github.com/amplitude/Amplitude-TypeScript/commit/a3f4f6f7b11abd9cdbdf064e31e32d5fc3e92031))
372
+
373
+ ## [0.4.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.4.0...@amplitude/plugin-page-view-tracking-browser@0.4.1) (2022-10-14)
374
+
375
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
376
+
377
+ # [0.4.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.4...@amplitude/plugin-page-view-tracking-browser@0.4.0) (2022-10-04)
378
+
379
+ ### Features
380
+
381
+ - add gbraid and wbraid as campaign parameters ([#242](https://github.com/amplitude/Amplitude-TypeScript/issues/242))
382
+ ([514b7cd](https://github.com/amplitude/Amplitude-TypeScript/commit/514b7cdea9fee0c4e61479b087f7acdfea889350))
383
+
384
+ ## [0.3.4](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.3...@amplitude/plugin-page-view-tracking-browser@0.3.4) (2022-09-30)
385
+
386
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
387
+
388
+ ## [0.3.3](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.2...@amplitude/plugin-page-view-tracking-browser@0.3.3) (2022-09-30)
389
+
390
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
391
+
392
+ ## [0.3.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.2-beta.2...@amplitude/plugin-page-view-tracking-browser@0.3.2) (2022-09-28)
393
+
394
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
395
+
396
+ ## [0.3.2-beta.2](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.2-beta.1...@amplitude/plugin-page-view-tracking-browser@0.3.2-beta.2) (2022-09-27)
397
+
398
+ ### Bug Fixes
399
+
400
+ - js script export name for marketing analytics plugins
401
+ ([aa7b05c](https://github.com/amplitude/Amplitude-TypeScript/commit/aa7b05cb192e23924081a363f3567573f76a3b62))
402
+
403
+ ## [0.3.2-beta.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.2-beta.0...@amplitude/plugin-page-view-tracking-browser@0.3.2-beta.1) (2022-09-27)
404
+
405
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
406
+
407
+ ## [0.3.2-beta.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.1...@amplitude/plugin-page-view-tracking-browser@0.3.2-beta.0) (2022-09-26)
408
+
409
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
410
+
411
+ ## [0.3.1](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.3.0...@amplitude/plugin-page-view-tracking-browser@0.3.1) (2022-09-26)
412
+
413
+ **Note:** Version bump only for package @amplitude/plugin-page-view-tracking-browser
414
+
415
+ # [0.3.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.2.0...@amplitude/plugin-page-view-tracking-browser@0.3.0) (2022-09-26)
416
+
417
+ ### Bug Fixes
418
+
419
+ - update base config to include additional click ids
420
+ ([#229](https://github.com/amplitude/Amplitude-TypeScript/issues/229))
421
+ ([5596931](https://github.com/amplitude/Amplitude-TypeScript/commit/55969310714c43f138e1702ba285fd4dadcdcb44))
422
+
423
+ ### Features
424
+
425
+ - add single page app page view tracking option ([#224](https://github.com/amplitude/Amplitude-TypeScript/issues/224))
426
+ ([2d97c9e](https://github.com/amplitude/Amplitude-TypeScript/commit/2d97c9ef8501da04465225ef8366fe0419b3415a))
427
+
428
+ # [0.2.0](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/plugin-page-view-tracking-browser@0.1.0...@amplitude/plugin-page-view-tracking-browser@0.2.0) (2022-09-22)
429
+
430
+ ### Features
431
+
432
+ - add campaign params to page view events ([#216](https://github.com/amplitude/Amplitude-TypeScript/issues/216))
433
+ ([c0f99b9](https://github.com/amplitude/Amplitude-TypeScript/commit/c0f99b98d0d2c24f6f9486312b568194c690a202))
434
+
435
+ # 0.1.0 (2022-09-16)
436
+
437
+ ### Features
438
+
439
+ - new marketing analytics plugin ([#213](https://github.com/amplitude/Amplitude-TypeScript/issues/213))
440
+ ([02ff174](https://github.com/amplitude/Amplitude-TypeScript/commit/02ff174e3361173dbf15ed3acf72e950810e174f))
package/README.md CHANGED
@@ -23,24 +23,22 @@ yarn add @amplitude/plugin-page-view-tracking-browser
23
23
 
24
24
  ## Usage
25
25
 
26
- This plugin works on top of Amplitude Browser SDK and adds page view tracking features to built-in features. To use this plugin, you need to install `@amplitude/analytics-browser` version `v1.4.0` or later.
26
+ This plugin works on top of Amplitude Browser SDK and adds page view tracking features to built-in features. To use this plugin, you need to install `@amplitude/analytics-browser` version `v2.0.0` or later.
27
27
 
28
28
  ### 1. Import Amplitude packages
29
29
 
30
- * `@amplitude/analytics-browser`
31
30
  * `@amplitude/plugin-page-view-tracking-browser`
32
31
 
33
32
  ```typescript
34
- import * as amplitude from '@amplitude/analytics-browser';
35
33
  import { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';
36
34
  ```
37
35
 
38
36
  ### 2. Instantiate page view plugin
39
37
 
40
- The plugin requires 1 parameter, which is the `amplitude` instance. The plugin also accepts an optional second parameter, which is an `Object` to configure the plugin based on your use case.
38
+ The plugin accepts an optional parameter of type `Object` to configure the plugin based on your use case.
41
39
 
42
40
  ```typescript
43
- const pageViewTracking = pageViewTrackingPlugin(amplitude, {
41
+ const pageViewTracking = pageViewTrackingPlugin({
44
42
  trackOn: undefined,
45
43
  trackHistoryChanges: undefined,
46
44
  });
@@ -51,7 +49,7 @@ const pageViewTracking = pageViewTrackingPlugin(amplitude, {
51
49
  |Name|Type|Default|Description|
52
50
  |-|-|-|-|
53
51
  |`trackOn`|`"attribution"` or `() => boolean`|`undefined`|Use this option to control when to track a page view event. By default, a page view event is sent on each SDK initialization.<br/><br/>Use `() => boolean` to control sending page view events using custom conditional logic.<br/><br/>Use `"attribution"` to send page view events with attribution events. This option requires using [@amplitude/plugin-web-attribution-browser](https://github.com/amplitude/Amplitude-TypeScript/tree/main/packages/plugin-web-attribution-browser).|
54
- |`trackHistoryChanges`|`"all"` or `"pathOnly"`|`undefined`|Use this option to subscribe to page view changes in a single page application like React.js. By default, page view changes in single page applications does not trigger a page view event.<br/><br/>Use `"all"` to compare the full url changes.<br/><br/>Use `"pathOnly"` to compare only url path changes.|
52
+ |`trackHistoryChanges`|`"all"` or `"pathOnly"`|`undefined`|Use this option to subscribe to page view changes based on full URL or URL path in a single page application like React.js. By default, page view changes are based on full URL.<br/><br/>Use `"all"` to compare the full url changes.<br/><br/>Use `"pathOnly"` to compare only url path changes.|
55
53
 
56
54
  ### 3. Install plugin to Amplitude SDK
57
55
 
@@ -70,14 +68,14 @@ amplitude.init('API_KEY');
70
68
  This plugin tracks page views based on your configuration. A page view event is composed of the following values:
71
69
 
72
70
  #### Event type
73
- * `"Page View"`
71
+ * `"[Amplitude ]Page Viewed"`
74
72
 
75
73
  #### Event properties
76
74
 
77
75
  |Property|Description|
78
76
  |-|-|
79
- |`page_domain`|The website's hostname or `location.hostname`|
80
- |`page_location`|The website's full url or `location.href`|
81
- |`page_path`|The website's pathname or `location.pathname`|
82
- |`page_title`|The website's title or `document.title`|
83
- |`page_url`|The website's url excluding query parameters|
77
+ |`'[Amplitude] Page Domain'`|The website's hostname or `location.hostname`|
78
+ |`'[Amplitude] Page Location'`|The website's full url or `location.href`|
79
+ |`'[Amplitude] Page Path'`|The website's pathname or `location.pathname`|
80
+ |`'[Amplitude] Page Title'`|The website's title or `document.title`|
81
+ |`'[Amplitude] Page URL'`|The website's url excluding query parameters|
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,4BAA4B,EAE5B,OAAO,EACR,MAAM,8BAA8B,CAAC;AAGtC,eAAO,MAAM,sBAAsB,EAAE,4BAyHpC,CAAC;AAeF,eAAO,MAAM,0BAA0B,mBACrB,OAAO,CAAC,qBAAqB,CAAC,UACtC,MAAM,UACN,MAAM,KACb,OAOF,CAAC"}
1
+ {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGrF,eAAO,MAAM,sBAAsB,EAAE,4BA2FpC,CAAC;AAeF,eAAO,MAAM,0BAA0B,mBACrB,OAAO,CAAC,qBAAqB,CAAC,UACtC,MAAM,UACN,MAAM,KACb,OAOF,CAAC"}
@@ -6,25 +6,11 @@ var analytics_client_common_1 = require("@amplitude/analytics-client-common");
6
6
  var analytics_types_1 = require("@amplitude/analytics-types");
7
7
  var analytics_client_common_2 = require("@amplitude/analytics-client-common");
8
8
  var utils_1 = require("./utils");
9
- var pageViewTrackingPlugin = function () {
10
- var args = [];
11
- for (var _i = 0; _i < arguments.length; _i++) {
12
- args[_i] = arguments[_i];
13
- }
9
+ var pageViewTrackingPlugin = function (options) {
10
+ if (options === void 0) { options = {}; }
14
11
  var amplitude;
15
- var options = {};
16
12
  var globalScope = (0, analytics_client_common_1.getGlobalScope)();
17
13
  var loggerProvider = undefined;
18
- var _a = tslib_1.__read(args, 2), clientOrOptions = _a[0], configOrUndefined = _a[1];
19
- if (clientOrOptions && 'init' in clientOrOptions) {
20
- amplitude = clientOrOptions;
21
- if (configOrUndefined) {
22
- options = configOrUndefined;
23
- }
24
- }
25
- else if (clientOrOptions) {
26
- options = clientOrOptions;
27
- }
28
14
  var createPageViewEvent = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
29
15
  var _a;
30
16
  var _b;
@@ -33,11 +19,15 @@ var pageViewTrackingPlugin = function () {
33
19
  switch (_d.label) {
34
20
  case 0:
35
21
  _b = {
36
- event_type: (_c = options.eventType) !== null && _c !== void 0 ? _c : 'Page View'
22
+ event_type: (_c = options.eventType) !== null && _c !== void 0 ? _c : '[Amplitude] Page Viewed'
37
23
  };
38
24
  _a = [{}];
39
25
  return [4 /*yield*/, getCampaignParams()];
40
- case 1: return [2 /*return*/, (_b.event_properties = tslib_1.__assign.apply(void 0, [tslib_1.__assign.apply(void 0, _a.concat([(_d.sent())])), { page_domain: /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '', page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '', page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '', page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '', page_url: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '' }]),
26
+ case 1: return [2 /*return*/, (_b.event_properties = tslib_1.__assign.apply(void 0, [tslib_1.__assign.apply(void 0, _a.concat([(_d.sent())])), { '[Amplitude] Page Domain':
27
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '', '[Amplitude] Page Location':
28
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '', '[Amplitude] Page Path':
29
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '', '[Amplitude] Page Title': /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '', '[Amplitude] Page URL':
30
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '' }]),
41
31
  _b)];
42
32
  }
43
33
  });
@@ -75,28 +65,17 @@ var pageViewTrackingPlugin = function () {
75
65
  });
76
66
  }); };
77
67
  var plugin = {
78
- name: 'page-view-tracking',
79
- type: analytics_types_1.PluginType.ENRICHMENT,
68
+ name: '@amplitude/plugin-page-view-tracking-browser',
69
+ type: 'enrichment',
80
70
  setup: function (config, client) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
81
- var receivedType, _a, _b;
82
- var _c, _d;
83
- return tslib_1.__generator(this, function (_e) {
84
- switch (_e.label) {
71
+ var _a, _b;
72
+ return tslib_1.__generator(this, function (_c) {
73
+ switch (_c.label) {
85
74
  case 0:
86
- amplitude = amplitude !== null && amplitude !== void 0 ? amplitude : client;
87
- if (!amplitude) {
88
- receivedType = clientOrOptions ? 'Options' : 'undefined';
89
- config.loggerProvider.error("Argument of type '".concat(receivedType, "' is not assignable to parameter of type 'BrowserClient'."));
90
- return [2 /*return*/];
91
- }
75
+ amplitude = client;
92
76
  loggerProvider = config.loggerProvider;
93
77
  loggerProvider.log('Installing @amplitude/plugin-page-view-tracking-browser');
94
- options.trackOn = ((_c = config.attribution) === null || _c === void 0 ? void 0 : _c.trackPageViews) ? 'attribution' : options.trackOn;
95
- if (!client && ((_d = config.attribution) === null || _d === void 0 ? void 0 : _d.trackPageViews)) {
96
- loggerProvider.warn("@amplitude/plugin-page-view-tracking-browser overrides page view tracking behavior defined in @amplitude/analytics-browser. Resolve by disabling page view tracking in @amplitude/analytics-browser.");
97
- config.attribution.trackPageViews = false;
98
- }
99
- if (options.trackHistoryChanges && globalScope) {
78
+ if (globalScope) {
100
79
  /* istanbul ignore next */
101
80
  globalScope.addEventListener('popstate', function () {
102
81
  void trackHistoryPageView();
@@ -119,8 +98,8 @@ var pageViewTrackingPlugin = function () {
119
98
  _b = (_a = amplitude).track;
120
99
  return [4 /*yield*/, createPageViewEvent()];
121
100
  case 1:
122
- _b.apply(_a, [_e.sent()]);
123
- _e.label = 2;
101
+ _b.apply(_a, [_c.sent()]);
102
+ _c.label = 2;
124
103
  case 2: return [2 /*return*/];
125
104
  }
126
105
  });
@@ -144,9 +123,6 @@ var pageViewTrackingPlugin = function () {
144
123
  });
145
124
  }); },
146
125
  };
147
- // Required for unit tests
148
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
149
- plugin.__trackHistoryPageView = trackHistoryPageView;
150
126
  return plugin;
151
127
  };
152
128
  exports.pageViewTrackingPlugin = pageViewTrackingPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser, getGlobalScope } from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n Event,\n IdentifyOperation,\n IdentifyUserProperties,\n Logger,\n PluginType,\n} from '@amplitude/analytics-types';\nimport { BASE_CAMPAIGN } from '@amplitude/analytics-client-common';\nimport {\n CreatePageViewTrackingPlugin,\n CreatePageViewTrackingPluginParameters,\n Options,\n} from './typings/page-view-tracking';\nimport { omitUndefined } from './utils';\n\nexport const pageViewTrackingPlugin: CreatePageViewTrackingPlugin = (\n ...args: CreatePageViewTrackingPluginParameters\n) => {\n let amplitude: BrowserClient | undefined;\n let options: Options = {};\n const globalScope = getGlobalScope();\n let loggerProvider: Logger | undefined = undefined;\n\n const [clientOrOptions, configOrUndefined] = args;\n if (clientOrOptions && 'init' in clientOrOptions) {\n amplitude = clientOrOptions;\n if (configOrUndefined) {\n options = configOrUndefined;\n }\n } else if (clientOrOptions) {\n options = clientOrOptions;\n }\n\n const createPageViewEvent = async (): Promise<Event> => {\n return {\n event_type: options.eventType ?? 'Page View',\n event_properties: {\n ...(await getCampaignParams()),\n page_domain: /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '',\n page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n page_url: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '',\n },\n };\n };\n\n const shouldTrackOnPageLoad = () =>\n typeof options.trackOn === 'undefined' || (typeof options.trackOn === 'function' && options.trackOn());\n\n /* istanbul ignore next */\n let previousURL: string | null = typeof location !== 'undefined' ? location.href : null;\n\n const trackHistoryPageView = async (): Promise<void> => {\n const newURL = location.href;\n\n if (shouldTrackHistoryPageView(options.trackHistoryChanges, newURL, previousURL || '') && shouldTrackOnPageLoad()) {\n /* istanbul ignore next */\n loggerProvider?.log('Tracking page view event');\n amplitude?.track(await createPageViewEvent());\n }\n previousURL = newURL;\n };\n\n const plugin = {\n name: 'page-view-tracking',\n type: PluginType.ENRICHMENT as const,\n\n setup: async (config: BrowserConfig, client?: BrowserClient) => {\n amplitude = amplitude ?? client;\n if (!amplitude) {\n const receivedType = clientOrOptions ? 'Options' : 'undefined';\n config.loggerProvider.error(\n `Argument of type '${receivedType}' is not assignable to parameter of type 'BrowserClient'.`,\n );\n return;\n }\n\n loggerProvider = config.loggerProvider;\n loggerProvider.log('Installing @amplitude/plugin-page-view-tracking-browser');\n\n options.trackOn = config.attribution?.trackPageViews ? 'attribution' : options.trackOn;\n\n if (!client && config.attribution?.trackPageViews) {\n loggerProvider.warn(\n `@amplitude/plugin-page-view-tracking-browser overrides page view tracking behavior defined in @amplitude/analytics-browser. Resolve by disabling page view tracking in @amplitude/analytics-browser.`,\n );\n config.attribution.trackPageViews = false;\n }\n\n if (options.trackHistoryChanges && globalScope) {\n /* istanbul ignore next */\n globalScope.addEventListener('popstate', () => {\n void trackHistoryPageView();\n });\n\n /* istanbul ignore next */\n // There is no global browser listener for changes to history, so we have\n // to modify pushState directly.\n // https://stackoverflow.com/a/64927639\n // eslint-disable-next-line @typescript-eslint/unbound-method\n globalScope.history.pushState = new Proxy(globalScope.history.pushState, {\n apply: (target, thisArg, [state, unused, url]) => {\n target.apply(thisArg, [state, unused, url]);\n void trackHistoryPageView();\n },\n });\n }\n\n if (shouldTrackOnPageLoad()) {\n loggerProvider.log('Tracking page view event');\n\n amplitude.track(await createPageViewEvent());\n }\n },\n\n execute: async (event: Event) => {\n if (options.trackOn === 'attribution' && isCampaignEvent(event)) {\n /* istanbul ignore next */ // loggerProvider should be defined by the time execute is invoked\n loggerProvider?.log('Enriching campaign event to page view event with campaign parameters');\n const pageViewEvent = await createPageViewEvent();\n event.event_type = pageViewEvent.event_type;\n event.event_properties = {\n ...event.event_properties,\n ...pageViewEvent.event_properties,\n };\n }\n return event;\n },\n };\n\n // Required for unit tests\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (plugin as any).__trackHistoryPageView = trackHistoryPageView;\n\n return plugin;\n};\n\nconst getCampaignParams = async () => omitUndefined(await new CampaignParser().parse());\n\nconst isCampaignEvent = (event: Event) => {\n if (event.event_type === '$identify' && event.user_properties) {\n const properties = event.user_properties as IdentifyUserProperties;\n const $set = properties[IdentifyOperation.SET] || {};\n const $unset = properties[IdentifyOperation.UNSET] || {};\n const userProperties = [...Object.keys($set), ...Object.keys($unset)];\n return Object.keys(BASE_CAMPAIGN).every((value) => userProperties.includes(value));\n }\n return false;\n};\n\nexport const shouldTrackHistoryPageView = (\n trackingOption: Options['trackHistoryChanges'],\n newURL: string,\n oldURL: string,\n): boolean => {\n switch (trackingOption) {\n case 'pathOnly':\n return newURL.split('?')[0] !== oldURL.split('?')[0];\n default:\n return newURL !== oldURL;\n }\n};\n"]}
1
+ {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser, getGlobalScope } from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n EnrichmentPlugin,\n Event,\n IdentifyOperation,\n IdentifyUserProperties,\n Logger,\n} from '@amplitude/analytics-types';\nimport { BASE_CAMPAIGN } from '@amplitude/analytics-client-common';\nimport { CreatePageViewTrackingPlugin, Options } from './typings/page-view-tracking';\nimport { omitUndefined } from './utils';\n\nexport const pageViewTrackingPlugin: CreatePageViewTrackingPlugin = (options: Options = {}) => {\n let amplitude: BrowserClient | undefined;\n const globalScope = getGlobalScope();\n let loggerProvider: Logger | undefined = undefined;\n\n const createPageViewEvent = async (): Promise<Event> => {\n return {\n event_type: options.eventType ?? '[Amplitude] Page Viewed',\n event_properties: {\n ...(await getCampaignParams()),\n '[Amplitude] Page Domain':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '',\n '[Amplitude] Page Location':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n '[Amplitude] Page Path':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n '[Amplitude] Page Title': /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n '[Amplitude] Page URL':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '',\n },\n };\n };\n\n const shouldTrackOnPageLoad = () =>\n typeof options.trackOn === 'undefined' || (typeof options.trackOn === 'function' && options.trackOn());\n\n /* istanbul ignore next */\n let previousURL: string | null = typeof location !== 'undefined' ? location.href : null;\n\n const trackHistoryPageView = async (): Promise<void> => {\n const newURL = location.href;\n\n if (shouldTrackHistoryPageView(options.trackHistoryChanges, newURL, previousURL || '') && shouldTrackOnPageLoad()) {\n /* istanbul ignore next */\n loggerProvider?.log('Tracking page view event');\n amplitude?.track(await createPageViewEvent());\n }\n previousURL = newURL;\n };\n\n const plugin: EnrichmentPlugin = {\n name: '@amplitude/plugin-page-view-tracking-browser',\n type: 'enrichment',\n\n setup: async (config: BrowserConfig, client: BrowserClient) => {\n amplitude = client;\n\n loggerProvider = config.loggerProvider;\n loggerProvider.log('Installing @amplitude/plugin-page-view-tracking-browser');\n\n if (globalScope) {\n /* istanbul ignore next */\n globalScope.addEventListener('popstate', () => {\n void trackHistoryPageView();\n });\n\n /* istanbul ignore next */\n // There is no global browser listener for changes to history, so we have\n // to modify pushState directly.\n // https://stackoverflow.com/a/64927639\n // eslint-disable-next-line @typescript-eslint/unbound-method\n globalScope.history.pushState = new Proxy(globalScope.history.pushState, {\n apply: (target, thisArg, [state, unused, url]) => {\n target.apply(thisArg, [state, unused, url]);\n void trackHistoryPageView();\n },\n });\n }\n\n if (shouldTrackOnPageLoad()) {\n loggerProvider.log('Tracking page view event');\n\n amplitude.track(await createPageViewEvent());\n }\n },\n\n execute: async (event: Event) => {\n if (options.trackOn === 'attribution' && isCampaignEvent(event)) {\n /* istanbul ignore next */ // loggerProvider should be defined by the time execute is invoked\n loggerProvider?.log('Enriching campaign event to page view event with campaign parameters');\n const pageViewEvent = await createPageViewEvent();\n event.event_type = pageViewEvent.event_type;\n event.event_properties = {\n ...event.event_properties,\n ...pageViewEvent.event_properties,\n };\n }\n return event;\n },\n };\n return plugin;\n};\n\nconst getCampaignParams = async () => omitUndefined(await new CampaignParser().parse());\n\nconst isCampaignEvent = (event: Event) => {\n if (event.event_type === '$identify' && event.user_properties) {\n const properties = event.user_properties as IdentifyUserProperties;\n const $set = properties[IdentifyOperation.SET] || {};\n const $unset = properties[IdentifyOperation.UNSET] || {};\n const userProperties = [...Object.keys($set), ...Object.keys($unset)];\n return Object.keys(BASE_CAMPAIGN).every((value) => userProperties.includes(value));\n }\n return false;\n};\n\nexport const shouldTrackHistoryPageView = (\n trackingOption: Options['trackHistoryChanges'],\n newURL: string,\n oldURL: string,\n): boolean => {\n switch (trackingOption) {\n case 'pathOnly':\n return newURL.split('?')[0] !== oldURL.split('?')[0];\n default:\n return newURL !== oldURL;\n }\n};\n"]}
@@ -1,8 +1,6 @@
1
- import { EnrichmentPlugin, BrowserClient, PageTrackingOptions as Options } from '@amplitude/analytics-types';
1
+ import { EnrichmentPlugin, PageTrackingOptions as Options } from '@amplitude/analytics-types';
2
2
  export { PageTrackingOptions as Options, PageTrackingTrackOn, PageTrackingHistoryChanges, } from '@amplitude/analytics-types';
3
3
  export interface CreatePageViewTrackingPlugin {
4
- (client: BrowserClient, options?: Options): EnrichmentPlugin;
5
4
  (options?: Options): EnrichmentPlugin;
6
5
  }
7
- export type CreatePageViewTrackingPluginParameters = [BrowserClient, Options?] | [Options?];
8
6
  //# sourceMappingURL=page-view-tracking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE7G,OAAO,EACL,mBAAmB,IAAI,OAAO,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC7D,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACvC;AAED,MAAM,MAAM,sCAAsC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EACL,mBAAmB,IAAI,OAAO,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"","sourcesContent":["import { EnrichmentPlugin, BrowserClient, PageTrackingOptions as Options } from '@amplitude/analytics-types';\n\nexport {\n PageTrackingOptions as Options,\n PageTrackingTrackOn,\n PageTrackingHistoryChanges,\n} from '@amplitude/analytics-types';\n\nexport interface CreatePageViewTrackingPlugin {\n (client: BrowserClient, options?: Options): EnrichmentPlugin;\n (options?: Options): EnrichmentPlugin;\n}\n\nexport type CreatePageViewTrackingPluginParameters = [BrowserClient, Options?] | [Options?];\n"]}
1
+ {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"","sourcesContent":["import { EnrichmentPlugin, PageTrackingOptions as Options } from '@amplitude/analytics-types';\n\nexport {\n PageTrackingOptions as Options,\n PageTrackingTrackOn,\n PageTrackingHistoryChanges,\n} from '@amplitude/analytics-types';\n\nexport interface CreatePageViewTrackingPlugin {\n (options?: Options): EnrichmentPlugin;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,4BAA4B,EAE5B,OAAO,EACR,MAAM,8BAA8B,CAAC;AAGtC,eAAO,MAAM,sBAAsB,EAAE,4BAyHpC,CAAC;AAeF,eAAO,MAAM,0BAA0B,mBACrB,OAAO,CAAC,qBAAqB,CAAC,UACtC,MAAM,UACN,MAAM,KACb,OAOF,CAAC"}
1
+ {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGrF,eAAO,MAAM,sBAAsB,EAAE,4BA2FpC,CAAC;AAeF,eAAO,MAAM,0BAA0B,mBACrB,OAAO,CAAC,qBAAqB,CAAC,UACtC,MAAM,UACN,MAAM,KACb,OAOF,CAAC"}
@@ -1,27 +1,13 @@
1
1
  import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
2
2
  import { CampaignParser, getGlobalScope } from '@amplitude/analytics-client-common';
3
- import { IdentifyOperation, PluginType, } from '@amplitude/analytics-types';
3
+ import { IdentifyOperation, } from '@amplitude/analytics-types';
4
4
  import { BASE_CAMPAIGN } from '@amplitude/analytics-client-common';
5
5
  import { omitUndefined } from './utils';
6
- export var pageViewTrackingPlugin = function () {
7
- var args = [];
8
- for (var _i = 0; _i < arguments.length; _i++) {
9
- args[_i] = arguments[_i];
10
- }
6
+ export var pageViewTrackingPlugin = function (options) {
7
+ if (options === void 0) { options = {}; }
11
8
  var amplitude;
12
- var options = {};
13
9
  var globalScope = getGlobalScope();
14
10
  var loggerProvider = undefined;
15
- var _a = __read(args, 2), clientOrOptions = _a[0], configOrUndefined = _a[1];
16
- if (clientOrOptions && 'init' in clientOrOptions) {
17
- amplitude = clientOrOptions;
18
- if (configOrUndefined) {
19
- options = configOrUndefined;
20
- }
21
- }
22
- else if (clientOrOptions) {
23
- options = clientOrOptions;
24
- }
25
11
  var createPageViewEvent = function () { return __awaiter(void 0, void 0, void 0, function () {
26
12
  var _a;
27
13
  var _b;
@@ -30,11 +16,15 @@ export var pageViewTrackingPlugin = function () {
30
16
  switch (_d.label) {
31
17
  case 0:
32
18
  _b = {
33
- event_type: (_c = options.eventType) !== null && _c !== void 0 ? _c : 'Page View'
19
+ event_type: (_c = options.eventType) !== null && _c !== void 0 ? _c : '[Amplitude] Page Viewed'
34
20
  };
35
21
  _a = [{}];
36
22
  return [4 /*yield*/, getCampaignParams()];
37
- case 1: return [2 /*return*/, (_b.event_properties = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_d.sent())])), { page_domain: /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '', page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '', page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '', page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '', page_url: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '' }]),
23
+ case 1: return [2 /*return*/, (_b.event_properties = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_d.sent())])), { '[Amplitude] Page Domain':
24
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '', '[Amplitude] Page Location':
25
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '', '[Amplitude] Page Path':
26
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '', '[Amplitude] Page Title': /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '', '[Amplitude] Page URL':
27
+ /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '' }]),
38
28
  _b)];
39
29
  }
40
30
  });
@@ -72,28 +62,17 @@ export var pageViewTrackingPlugin = function () {
72
62
  });
73
63
  }); };
74
64
  var plugin = {
75
- name: 'page-view-tracking',
76
- type: PluginType.ENRICHMENT,
65
+ name: '@amplitude/plugin-page-view-tracking-browser',
66
+ type: 'enrichment',
77
67
  setup: function (config, client) { return __awaiter(void 0, void 0, void 0, function () {
78
- var receivedType, _a, _b;
79
- var _c, _d;
80
- return __generator(this, function (_e) {
81
- switch (_e.label) {
68
+ var _a, _b;
69
+ return __generator(this, function (_c) {
70
+ switch (_c.label) {
82
71
  case 0:
83
- amplitude = amplitude !== null && amplitude !== void 0 ? amplitude : client;
84
- if (!amplitude) {
85
- receivedType = clientOrOptions ? 'Options' : 'undefined';
86
- config.loggerProvider.error("Argument of type '".concat(receivedType, "' is not assignable to parameter of type 'BrowserClient'."));
87
- return [2 /*return*/];
88
- }
72
+ amplitude = client;
89
73
  loggerProvider = config.loggerProvider;
90
74
  loggerProvider.log('Installing @amplitude/plugin-page-view-tracking-browser');
91
- options.trackOn = ((_c = config.attribution) === null || _c === void 0 ? void 0 : _c.trackPageViews) ? 'attribution' : options.trackOn;
92
- if (!client && ((_d = config.attribution) === null || _d === void 0 ? void 0 : _d.trackPageViews)) {
93
- loggerProvider.warn("@amplitude/plugin-page-view-tracking-browser overrides page view tracking behavior defined in @amplitude/analytics-browser. Resolve by disabling page view tracking in @amplitude/analytics-browser.");
94
- config.attribution.trackPageViews = false;
95
- }
96
- if (options.trackHistoryChanges && globalScope) {
75
+ if (globalScope) {
97
76
  /* istanbul ignore next */
98
77
  globalScope.addEventListener('popstate', function () {
99
78
  void trackHistoryPageView();
@@ -116,8 +95,8 @@ export var pageViewTrackingPlugin = function () {
116
95
  _b = (_a = amplitude).track;
117
96
  return [4 /*yield*/, createPageViewEvent()];
118
97
  case 1:
119
- _b.apply(_a, [_e.sent()]);
120
- _e.label = 2;
98
+ _b.apply(_a, [_c.sent()]);
99
+ _c.label = 2;
121
100
  case 2: return [2 /*return*/];
122
101
  }
123
102
  });
@@ -141,9 +120,6 @@ export var pageViewTrackingPlugin = function () {
141
120
  });
142
121
  }); },
143
122
  };
144
- // Required for unit tests
145
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
146
- plugin.__trackHistoryPageView = trackHistoryPageView;
147
123
  return plugin;
148
124
  };
149
125
  var getCampaignParams = function () { return __awaiter(void 0, void 0, void 0, function () { var _a; return __generator(this, function (_b) {
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser, getGlobalScope } from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n Event,\n IdentifyOperation,\n IdentifyUserProperties,\n Logger,\n PluginType,\n} from '@amplitude/analytics-types';\nimport { BASE_CAMPAIGN } from '@amplitude/analytics-client-common';\nimport {\n CreatePageViewTrackingPlugin,\n CreatePageViewTrackingPluginParameters,\n Options,\n} from './typings/page-view-tracking';\nimport { omitUndefined } from './utils';\n\nexport const pageViewTrackingPlugin: CreatePageViewTrackingPlugin = (\n ...args: CreatePageViewTrackingPluginParameters\n) => {\n let amplitude: BrowserClient | undefined;\n let options: Options = {};\n const globalScope = getGlobalScope();\n let loggerProvider: Logger | undefined = undefined;\n\n const [clientOrOptions, configOrUndefined] = args;\n if (clientOrOptions && 'init' in clientOrOptions) {\n amplitude = clientOrOptions;\n if (configOrUndefined) {\n options = configOrUndefined;\n }\n } else if (clientOrOptions) {\n options = clientOrOptions;\n }\n\n const createPageViewEvent = async (): Promise<Event> => {\n return {\n event_type: options.eventType ?? 'Page View',\n event_properties: {\n ...(await getCampaignParams()),\n page_domain: /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '',\n page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n page_url: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '',\n },\n };\n };\n\n const shouldTrackOnPageLoad = () =>\n typeof options.trackOn === 'undefined' || (typeof options.trackOn === 'function' && options.trackOn());\n\n /* istanbul ignore next */\n let previousURL: string | null = typeof location !== 'undefined' ? location.href : null;\n\n const trackHistoryPageView = async (): Promise<void> => {\n const newURL = location.href;\n\n if (shouldTrackHistoryPageView(options.trackHistoryChanges, newURL, previousURL || '') && shouldTrackOnPageLoad()) {\n /* istanbul ignore next */\n loggerProvider?.log('Tracking page view event');\n amplitude?.track(await createPageViewEvent());\n }\n previousURL = newURL;\n };\n\n const plugin = {\n name: 'page-view-tracking',\n type: PluginType.ENRICHMENT as const,\n\n setup: async (config: BrowserConfig, client?: BrowserClient) => {\n amplitude = amplitude ?? client;\n if (!amplitude) {\n const receivedType = clientOrOptions ? 'Options' : 'undefined';\n config.loggerProvider.error(\n `Argument of type '${receivedType}' is not assignable to parameter of type 'BrowserClient'.`,\n );\n return;\n }\n\n loggerProvider = config.loggerProvider;\n loggerProvider.log('Installing @amplitude/plugin-page-view-tracking-browser');\n\n options.trackOn = config.attribution?.trackPageViews ? 'attribution' : options.trackOn;\n\n if (!client && config.attribution?.trackPageViews) {\n loggerProvider.warn(\n `@amplitude/plugin-page-view-tracking-browser overrides page view tracking behavior defined in @amplitude/analytics-browser. Resolve by disabling page view tracking in @amplitude/analytics-browser.`,\n );\n config.attribution.trackPageViews = false;\n }\n\n if (options.trackHistoryChanges && globalScope) {\n /* istanbul ignore next */\n globalScope.addEventListener('popstate', () => {\n void trackHistoryPageView();\n });\n\n /* istanbul ignore next */\n // There is no global browser listener for changes to history, so we have\n // to modify pushState directly.\n // https://stackoverflow.com/a/64927639\n // eslint-disable-next-line @typescript-eslint/unbound-method\n globalScope.history.pushState = new Proxy(globalScope.history.pushState, {\n apply: (target, thisArg, [state, unused, url]) => {\n target.apply(thisArg, [state, unused, url]);\n void trackHistoryPageView();\n },\n });\n }\n\n if (shouldTrackOnPageLoad()) {\n loggerProvider.log('Tracking page view event');\n\n amplitude.track(await createPageViewEvent());\n }\n },\n\n execute: async (event: Event) => {\n if (options.trackOn === 'attribution' && isCampaignEvent(event)) {\n /* istanbul ignore next */ // loggerProvider should be defined by the time execute is invoked\n loggerProvider?.log('Enriching campaign event to page view event with campaign parameters');\n const pageViewEvent = await createPageViewEvent();\n event.event_type = pageViewEvent.event_type;\n event.event_properties = {\n ...event.event_properties,\n ...pageViewEvent.event_properties,\n };\n }\n return event;\n },\n };\n\n // Required for unit tests\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (plugin as any).__trackHistoryPageView = trackHistoryPageView;\n\n return plugin;\n};\n\nconst getCampaignParams = async () => omitUndefined(await new CampaignParser().parse());\n\nconst isCampaignEvent = (event: Event) => {\n if (event.event_type === '$identify' && event.user_properties) {\n const properties = event.user_properties as IdentifyUserProperties;\n const $set = properties[IdentifyOperation.SET] || {};\n const $unset = properties[IdentifyOperation.UNSET] || {};\n const userProperties = [...Object.keys($set), ...Object.keys($unset)];\n return Object.keys(BASE_CAMPAIGN).every((value) => userProperties.includes(value));\n }\n return false;\n};\n\nexport const shouldTrackHistoryPageView = (\n trackingOption: Options['trackHistoryChanges'],\n newURL: string,\n oldURL: string,\n): boolean => {\n switch (trackingOption) {\n case 'pathOnly':\n return newURL.split('?')[0] !== oldURL.split('?')[0];\n default:\n return newURL !== oldURL;\n }\n};\n"]}
1
+ {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser, getGlobalScope } from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n EnrichmentPlugin,\n Event,\n IdentifyOperation,\n IdentifyUserProperties,\n Logger,\n} from '@amplitude/analytics-types';\nimport { BASE_CAMPAIGN } from '@amplitude/analytics-client-common';\nimport { CreatePageViewTrackingPlugin, Options } from './typings/page-view-tracking';\nimport { omitUndefined } from './utils';\n\nexport const pageViewTrackingPlugin: CreatePageViewTrackingPlugin = (options: Options = {}) => {\n let amplitude: BrowserClient | undefined;\n const globalScope = getGlobalScope();\n let loggerProvider: Logger | undefined = undefined;\n\n const createPageViewEvent = async (): Promise<Event> => {\n return {\n event_type: options.eventType ?? '[Amplitude] Page Viewed',\n event_properties: {\n ...(await getCampaignParams()),\n '[Amplitude] Page Domain':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.hostname) || '',\n '[Amplitude] Page Location':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n '[Amplitude] Page Path':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n '[Amplitude] Page Title': /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n '[Amplitude] Page URL':\n /* istanbul ignore next */ (typeof location !== 'undefined' && location.href.split('?')[0]) || '',\n },\n };\n };\n\n const shouldTrackOnPageLoad = () =>\n typeof options.trackOn === 'undefined' || (typeof options.trackOn === 'function' && options.trackOn());\n\n /* istanbul ignore next */\n let previousURL: string | null = typeof location !== 'undefined' ? location.href : null;\n\n const trackHistoryPageView = async (): Promise<void> => {\n const newURL = location.href;\n\n if (shouldTrackHistoryPageView(options.trackHistoryChanges, newURL, previousURL || '') && shouldTrackOnPageLoad()) {\n /* istanbul ignore next */\n loggerProvider?.log('Tracking page view event');\n amplitude?.track(await createPageViewEvent());\n }\n previousURL = newURL;\n };\n\n const plugin: EnrichmentPlugin = {\n name: '@amplitude/plugin-page-view-tracking-browser',\n type: 'enrichment',\n\n setup: async (config: BrowserConfig, client: BrowserClient) => {\n amplitude = client;\n\n loggerProvider = config.loggerProvider;\n loggerProvider.log('Installing @amplitude/plugin-page-view-tracking-browser');\n\n if (globalScope) {\n /* istanbul ignore next */\n globalScope.addEventListener('popstate', () => {\n void trackHistoryPageView();\n });\n\n /* istanbul ignore next */\n // There is no global browser listener for changes to history, so we have\n // to modify pushState directly.\n // https://stackoverflow.com/a/64927639\n // eslint-disable-next-line @typescript-eslint/unbound-method\n globalScope.history.pushState = new Proxy(globalScope.history.pushState, {\n apply: (target, thisArg, [state, unused, url]) => {\n target.apply(thisArg, [state, unused, url]);\n void trackHistoryPageView();\n },\n });\n }\n\n if (shouldTrackOnPageLoad()) {\n loggerProvider.log('Tracking page view event');\n\n amplitude.track(await createPageViewEvent());\n }\n },\n\n execute: async (event: Event) => {\n if (options.trackOn === 'attribution' && isCampaignEvent(event)) {\n /* istanbul ignore next */ // loggerProvider should be defined by the time execute is invoked\n loggerProvider?.log('Enriching campaign event to page view event with campaign parameters');\n const pageViewEvent = await createPageViewEvent();\n event.event_type = pageViewEvent.event_type;\n event.event_properties = {\n ...event.event_properties,\n ...pageViewEvent.event_properties,\n };\n }\n return event;\n },\n };\n return plugin;\n};\n\nconst getCampaignParams = async () => omitUndefined(await new CampaignParser().parse());\n\nconst isCampaignEvent = (event: Event) => {\n if (event.event_type === '$identify' && event.user_properties) {\n const properties = event.user_properties as IdentifyUserProperties;\n const $set = properties[IdentifyOperation.SET] || {};\n const $unset = properties[IdentifyOperation.UNSET] || {};\n const userProperties = [...Object.keys($set), ...Object.keys($unset)];\n return Object.keys(BASE_CAMPAIGN).every((value) => userProperties.includes(value));\n }\n return false;\n};\n\nexport const shouldTrackHistoryPageView = (\n trackingOption: Options['trackHistoryChanges'],\n newURL: string,\n oldURL: string,\n): boolean => {\n switch (trackingOption) {\n case 'pathOnly':\n return newURL.split('?')[0] !== oldURL.split('?')[0];\n default:\n return newURL !== oldURL;\n }\n};\n"]}
@@ -1,8 +1,6 @@
1
- import { EnrichmentPlugin, BrowserClient, PageTrackingOptions as Options } from '@amplitude/analytics-types';
1
+ import { EnrichmentPlugin, PageTrackingOptions as Options } from '@amplitude/analytics-types';
2
2
  export { PageTrackingOptions as Options, PageTrackingTrackOn, PageTrackingHistoryChanges, } from '@amplitude/analytics-types';
3
3
  export interface CreatePageViewTrackingPlugin {
4
- (client: BrowserClient, options?: Options): EnrichmentPlugin;
5
4
  (options?: Options): EnrichmentPlugin;
6
5
  }
7
- export type CreatePageViewTrackingPluginParameters = [BrowserClient, Options?] | [Options?];
8
6
  //# sourceMappingURL=page-view-tracking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE7G,OAAO,EACL,mBAAmB,IAAI,OAAO,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC7D,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACvC;AAED,MAAM,MAAM,sCAAsC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EACL,mBAAmB,IAAI,OAAO,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"","sourcesContent":["import { EnrichmentPlugin, BrowserClient, PageTrackingOptions as Options } from '@amplitude/analytics-types';\n\nexport {\n PageTrackingOptions as Options,\n PageTrackingTrackOn,\n PageTrackingHistoryChanges,\n} from '@amplitude/analytics-types';\n\nexport interface CreatePageViewTrackingPlugin {\n (client: BrowserClient, options?: Options): EnrichmentPlugin;\n (options?: Options): EnrichmentPlugin;\n}\n\nexport type CreatePageViewTrackingPluginParameters = [BrowserClient, Options?] | [Options?];\n"]}
1
+ {"version":3,"file":"page-view-tracking.js","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"","sourcesContent":["import { EnrichmentPlugin, PageTrackingOptions as Options } from '@amplitude/analytics-types';\n\nexport {\n PageTrackingOptions as Options,\n PageTrackingTrackOn,\n PageTrackingHistoryChanges,\n} from '@amplitude/analytics-types';\n\nexport interface CreatePageViewTrackingPlugin {\n (options?: Options): EnrichmentPlugin;\n}\n"]}
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).amplitude={})}(this,(function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function n(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function u(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,u)}c((r=r.apply(e,t||[])).next())}))}function r(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&u[0]?r.return:u[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,u[1])).done)return i;switch(r=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){a.label=u[1];break}if(6===u[0]&&a.label<i[1]){a.label=i[1],i=u;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(u);break}i[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],r=0}finally{n=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}function i(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function o(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}var a,u,c,l,d=function(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0},f=function(){var e,t=d();return(null===(e=null==t?void 0:t.location)||void 0===e?void 0:e.search)?t.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var n=t.split("=",2),r=p(n[0]),i=p(n[1]);return i?(e[r]=i,e):e}),{}):{}},p=function(e){void 0===e&&(e="");try{return decodeURIComponent(e)}catch(e){return""}},s="dclid",v="fbclid",y="gbraid",g="gclid",m="ko_click_id",h="li_fat_id",_="msclkid",b="rtd_cid",w="ttclid",E="twclid",k="wbraid",T={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rtd_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},O=function(){function e(){}return e.prototype.parse=function(){return n(this,void 0,void 0,(function(){return r(this,(function(e){return[2,t(t(t(t({},T),this.getUtmParam()),this.getReferrer()),this.getClickIds())]}))}))},e.prototype.getUtmParam=function(){var e=f();return{utm_campaign:e.utm_campaign,utm_content:e.utm_content,utm_id:e.utm_id,utm_medium:e.utm_medium,utm_source:e.utm_source,utm_term:e.utm_term}},e.prototype.getReferrer=function(){var e,t,n={referrer:void 0,referring_domain:void 0};try{n.referrer=document.referrer||void 0,n.referring_domain=null!==(t=null===(e=n.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return n},e.prototype.getClickIds=function(){var e,t=f();return(e={})[s]=t[s],e[v]=t[v],e[y]=t[y],e[g]=t[g],e[m]=t[m],e[h]=t[h],e[_]=t[_],e[b]=t[b],e[w]=t[w],e[E]=t[E],e[k]=t[k],e},e}();!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(a||(a={})),function(e){e.REVENUE_PRODUCT_ID="$productId",e.REVENUE_QUANTITY="$quantity",e.REVENUE_PRICE="$price",e.REVENUE_TYPE="$revenueType",e.REVENUE="$revenue"}(u||(u={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(c||(c={})),function(e){e.BEFORE="before",e.ENRICHMENT="enrichment",e.DESTINATION="destination"}(l||(l={}));var P=function(e){var t={};for(var n in e){var r=e[n];r&&(t[n]=r)}return t},N=function(){for(var e,o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var u={},c=d(),f=void 0,p=i(o,2),s=p[0],v=p[1];s&&"init"in s?(e=s,v&&(u=v)):s&&(u=s);var y=function(){return n(void 0,void 0,void 0,(function(){var e,n,i;return r(this,(function(r){switch(r.label){case 0:return n={event_type:null!==(i=u.eventType)&&void 0!==i?i:"Page View"},e=[{}],[4,R()];case 1:return[2,(n.event_properties=t.apply(void 0,[t.apply(void 0,e.concat([r.sent()])),{page_domain:"undefined"!=typeof location&&location.hostname||"",page_location:"undefined"!=typeof location&&location.href||"",page_path:"undefined"!=typeof location&&location.pathname||"",page_title:"undefined"!=typeof document&&document.title||"",page_url:"undefined"!=typeof location&&location.href.split("?")[0]||""}]),n)]}}))}))},g=function(){return void 0===u.trackOn||"function"==typeof u.trackOn&&u.trackOn()},m="undefined"!=typeof location?location.href:null,h=function(){return n(void 0,void 0,void 0,(function(){var t,n,i;return r(this,(function(r){switch(r.label){case 0:return t=location.href,$(u.trackHistoryChanges,t,m||"")&&g()?(null==f||f.log("Tracking page view event"),null!=e?[3,1]:[3,3]):[3,4];case 1:return i=(n=e).track,[4,y()];case 2:i.apply(n,[r.sent()]),r.label=3;case 3:r.label=4;case 4:return m=t,[2]}}))}))},_={name:"page-view-tracking",type:l.ENRICHMENT,setup:function(t,o){return n(void 0,void 0,void 0,(function(){var n,a,l,d,p;return r(this,(function(r){switch(r.label){case 0:return(e=null!=e?e:o)?((f=t.loggerProvider).log("Installing @amplitude/plugin-page-view-tracking-browser"),u.trackOn=(null===(d=t.attribution)||void 0===d?void 0:d.trackPageViews)?"attribution":u.trackOn,!o&&(null===(p=t.attribution)||void 0===p?void 0:p.trackPageViews)&&(f.warn("@amplitude/plugin-page-view-tracking-browser overrides page view tracking behavior defined in @amplitude/analytics-browser. Resolve by disabling page view tracking in @amplitude/analytics-browser."),t.attribution.trackPageViews=!1),u.trackHistoryChanges&&c&&(c.addEventListener("popstate",(function(){h()})),c.history.pushState=new Proxy(c.history.pushState,{apply:function(e,t,n){var r=i(n,3),o=r[0],a=r[1],u=r[2];e.apply(t,[o,a,u]),h()}})),g()?(f.log("Tracking page view event"),l=(a=e).track,[4,y()]):[3,2]):(n=s?"Options":"undefined",t.loggerProvider.error("Argument of type '".concat(n,"' is not assignable to parameter of type 'BrowserClient'.")),[2]);case 1:l.apply(a,[r.sent()]),r.label=2;case 2:return[2]}}))}))},execute:function(e){return n(void 0,void 0,void 0,(function(){var n;return r(this,(function(r){switch(r.label){case 0:return"attribution"===u.trackOn&&I(e)?(null==f||f.log("Enriching campaign event to page view event with campaign parameters"),[4,y()]):[3,2];case 1:n=r.sent(),e.event_type=n.event_type,e.event_properties=t(t({},e.event_properties),n.event_properties),r.label=2;case 2:return[2,e]}}))}))}};return _.__trackHistoryPageView=h,_},R=function(){return n(void 0,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:return e=P,[4,(new O).parse()];case 1:return[2,e.apply(void 0,[t.sent()])]}}))}))},I=function(e){if("$identify"===e.event_type&&e.user_properties){var t=e.user_properties,n=t[a.SET]||{},r=t[a.UNSET]||{},u=o(o([],i(Object.keys(n)),!1),i(Object.keys(r)),!1);return Object.keys(T).every((function(e){return u.includes(e)}))}return!1},$=function(e,t,n){return"pathOnly"===e?t.split("?")[0]!==n.split("?")[0]:t!==n},S=Object.freeze({__proto__:null});e.Types=S,e.pageViewTrackingPlugin=N,e.plugin=N,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).amplitude={})}(this,(function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function n(e,t,n,r){return new(n||(n=Promise))((function(i,o){function u(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(u,a)}c((r=r.apply(e,t||[])).next())}))}function r(e,t){var n,r,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(u=0)),u;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,r=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(i=u.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){u=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){u.label=a[1];break}if(6===a[0]&&u.label<i[1]){u.label=i[1],i=a;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(a);break}i[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function i(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)u.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return u}function o(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}var u,a,c,l=function(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0},d=function(){var e,t=l();return(null===(e=null==t?void 0:t.location)||void 0===e?void 0:e.search)?t.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var n=t.split("=",2),r=f(n[0]),i=f(n[1]);return i?(e[r]=i,e):e}),{}):{}},f=function(e){void 0===e&&(e="");try{return decodeURIComponent(e)}catch(e){return""}},p="dclid",s="fbclid",v="gbraid",y="gclid",m="ko_click_id",g="li_fat_id",h="msclkid",_="rtd_cid",b="ttclid",E="twclid",w="wbraid",k={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rtd_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},T=function(){function e(){}return e.prototype.parse=function(){return n(this,void 0,void 0,(function(){return r(this,(function(e){return[2,t(t(t(t({},k),this.getUtmParam()),this.getReferrer()),this.getClickIds())]}))}))},e.prototype.getUtmParam=function(){var e=d();return{utm_campaign:e.utm_campaign,utm_content:e.utm_content,utm_id:e.utm_id,utm_medium:e.utm_medium,utm_source:e.utm_source,utm_term:e.utm_term}},e.prototype.getReferrer=function(){var e,t,n={referrer:void 0,referring_domain:void 0};try{n.referrer=document.referrer||void 0,n.referring_domain=null!==(t=null===(e=n.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return n},e.prototype.getClickIds=function(){var e,t=d();return(e={})[p]=t[p],e[s]=t[s],e[v]=t[v],e[y]=t[y],e[m]=t[m],e[g]=t[g],e[h]=t[h],e[_]=t[_],e[b]=t[b],e[E]=t[E],e[w]=t[w],e},e}();!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(u||(u={})),function(e){e.REVENUE_PRODUCT_ID="$productId",e.REVENUE_QUANTITY="$quantity",e.REVENUE_PRICE="$price",e.REVENUE_TYPE="$revenueType",e.REVENUE="$revenue"}(a||(a={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(c||(c={}));var P=function(e){var t={};for(var n in e){var r=e[n];r&&(t[n]=r)}return t},O=function(e){var o;void 0===e&&(e={});var u=l(),a=void 0,c=function(){return n(void 0,void 0,void 0,(function(){var n,i,o;return r(this,(function(r){switch(r.label){case 0:return i={event_type:null!==(o=e.eventType)&&void 0!==o?o:"[Amplitude] Page Viewed"},n=[{}],[4,R()];case 1:return[2,(i.event_properties=t.apply(void 0,[t.apply(void 0,n.concat([r.sent()])),{"[Amplitude] Page Domain":"undefined"!=typeof location&&location.hostname||"","[Amplitude] Page Location":"undefined"!=typeof location&&location.href||"","[Amplitude] Page Path":"undefined"!=typeof location&&location.pathname||"","[Amplitude] Page Title":"undefined"!=typeof document&&document.title||"","[Amplitude] Page URL":"undefined"!=typeof location&&location.href.split("?")[0]||""}]),i)]}}))}))},d=function(){return void 0===e.trackOn||"function"==typeof e.trackOn&&e.trackOn()},f="undefined"!=typeof location?location.href:null,p=function(){return n(void 0,void 0,void 0,(function(){var t,n,i;return r(this,(function(r){switch(r.label){case 0:return t=location.href,I(e.trackHistoryChanges,t,f||"")&&d()?(null==a||a.log("Tracking page view event"),null!=o?[3,1]:[3,3]):[3,4];case 1:return i=(n=o).track,[4,c()];case 2:i.apply(n,[r.sent()]),r.label=3;case 3:r.label=4;case 4:return f=t,[2]}}))}))};return{name:"@amplitude/plugin-page-view-tracking-browser",type:"enrichment",setup:function(e,t){return n(void 0,void 0,void 0,(function(){var n,l;return r(this,(function(r){switch(r.label){case 0:return o=t,(a=e.loggerProvider).log("Installing @amplitude/plugin-page-view-tracking-browser"),u&&(u.addEventListener("popstate",(function(){p()})),u.history.pushState=new Proxy(u.history.pushState,{apply:function(e,t,n){var r=i(n,3),o=r[0],u=r[1],a=r[2];e.apply(t,[o,u,a]),p()}})),d()?(a.log("Tracking page view event"),l=(n=o).track,[4,c()]):[3,2];case 1:l.apply(n,[r.sent()]),r.label=2;case 2:return[2]}}))}))},execute:function(i){return n(void 0,void 0,void 0,(function(){var n;return r(this,(function(r){switch(r.label){case 0:return"attribution"===e.trackOn&&$(i)?(null==a||a.log("Enriching campaign event to page view event with campaign parameters"),[4,c()]):[3,2];case 1:n=r.sent(),i.event_type=n.event_type,i.event_properties=t(t({},i.event_properties),n.event_properties),r.label=2;case 2:return[2,i]}}))}))}}},R=function(){return n(void 0,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:return e=P,[4,(new T).parse()];case 1:return[2,e.apply(void 0,[t.sent()])]}}))}))},$=function(e){if("$identify"===e.event_type&&e.user_properties){var t=e.user_properties,n=t[u.SET]||{},r=t[u.UNSET]||{},a=o(o([],i(Object.keys(n)),!1),i(Object.keys(r)),!1);return Object.keys(k).every((function(e){return a.includes(e)}))}return!1},I=function(e,t,n){return"pathOnly"===e?t.split("?")[0]!==n.split("?")[0]:t!==n},N=Object.freeze({__proto__:null});e.Types=N,e.pageViewTrackingPlugin=O,e.plugin=O,Object.defineProperty(e,"__esModule",{value:!0})}));
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,4BAA4B,EAE5B,OAAO,EACR,MAAM,8BAA8B,CAAC;AAGtC,eAAO,MAAM,sBAAsB,EAAE,4BAyHpC,CAAC;AAeF,eAAO,MAAM,0BAA0B,mBACrB,OAAO,CAAC,qBAAqB,CAAC,UACtC,MAAM,UACN,MAAM,KACb,OAOF,CAAC"}
1
+ {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../src/page-view-tracking.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGrF,eAAO,MAAM,sBAAsB,EAAE,4BA2FpC,CAAC;AAeF,eAAO,MAAM,0BAA0B,mBACrB,OAAO,CAAC,qBAAqB,CAAC,UACtC,MAAM,UACN,MAAM,KACb,OAOF,CAAC"}
@@ -1,8 +1,6 @@
1
- import { EnrichmentPlugin, BrowserClient, PageTrackingOptions as Options } from '@amplitude/analytics-types';
1
+ import { EnrichmentPlugin, PageTrackingOptions as Options } from '@amplitude/analytics-types';
2
2
  export { PageTrackingOptions as Options, PageTrackingTrackOn, PageTrackingHistoryChanges, } from '@amplitude/analytics-types';
3
3
  export interface CreatePageViewTrackingPlugin {
4
- (client: BrowserClient, options?: Options): EnrichmentPlugin;
5
4
  (options?: Options): EnrichmentPlugin;
6
5
  }
7
- export type CreatePageViewTrackingPluginParameters = [BrowserClient, Options?] | [Options?];
8
6
  //# sourceMappingURL=page-view-tracking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE7G,OAAO,EACL,mBAAmB,IAAI,OAAO,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC7D,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACvC;AAED,MAAM,MAAM,sCAAsC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"page-view-tracking.d.ts","sourceRoot":"","sources":["../../../src/typings/page-view-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EACL,mBAAmB,IAAI,OAAO,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amplitude/plugin-page-view-tracking-browser",
3
- "version": "1.0.1",
3
+ "version": "2.0.0-beta.3",
4
4
  "description": "",
5
5
  "author": "Amplitude Inc",
6
6
  "homepage": "https://github.com/amplitude/Amplitude-TypeScript",
@@ -36,12 +36,12 @@
36
36
  "url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
37
37
  },
38
38
  "dependencies": {
39
- "@amplitude/analytics-client-common": "^1.0.0",
40
- "@amplitude/analytics-types": "^1.0.0",
39
+ "@amplitude/analytics-client-common": "^2.0.0-beta.3",
40
+ "@amplitude/analytics-types": "^2.0.0-beta.3",
41
41
  "tslib": "^2.4.1"
42
42
  },
43
43
  "devDependencies": {
44
- "@amplitude/analytics-browser": "^1.10.7",
44
+ "@amplitude/analytics-browser": "^2.0.0-beta.3",
45
45
  "@rollup/plugin-commonjs": "^23.0.4",
46
46
  "@rollup/plugin-node-resolve": "^15.0.1",
47
47
  "@rollup/plugin-typescript": "^10.0.1",
@@ -52,6 +52,5 @@
52
52
  },
53
53
  "files": [
54
54
  "lib"
55
- ],
56
- "gitHead": "8f527e4a6437f66640efb95877750dc50ea93f3e"
55
+ ]
57
56
  }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 Amplitude Analytics
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1 +0,0 @@
1
- var pageViewTracking=function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function n(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function u(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,u)}c((r=r.apply(e,t||[])).next())}))}function r(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&u[0]?r.return:u[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,u[1])).done)return i;switch(r=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){a.label=u[1];break}if(6===u[0]&&a.label<i[1]){a.label=i[1],i=u;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(u);break}i[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],r=0}finally{n=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}function i(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function o(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}var a,u,c,l,d=function(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0},p=function(){var e,t=d();return(null===(e=null==t?void 0:t.location)||void 0===e?void 0:e.search)?t.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var n=t.split("=",2),r=s(n[0]),i=s(n[1]);return i?(e[r]=i,e):e}),{}):{}},s=function(e){void 0===e&&(e="");try{return decodeURIComponent(e)}catch(e){return""}},f="dclid",v="fbclid",y="gbraid",g="gclid",m="ko_click_id",h="li_fat_id",_="msclkid",b="rtd_cid",w="ttclid",E="twclid",k="wbraid",T={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rtd_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},O=function(){function e(){}return e.prototype.parse=function(){return n(this,void 0,void 0,(function(){return r(this,(function(e){return[2,t(t(t(t({},T),this.getUtmParam()),this.getReferrer()),this.getClickIds())]}))}))},e.prototype.getUtmParam=function(){var e=p();return{utm_campaign:e.utm_campaign,utm_content:e.utm_content,utm_id:e.utm_id,utm_medium:e.utm_medium,utm_source:e.utm_source,utm_term:e.utm_term}},e.prototype.getReferrer=function(){var e,t,n={referrer:void 0,referring_domain:void 0};try{n.referrer=document.referrer||void 0,n.referring_domain=null!==(t=null===(e=n.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return n},e.prototype.getClickIds=function(){var e,t=p();return(e={})[f]=t[f],e[v]=t[v],e[y]=t[y],e[g]=t[g],e[m]=t[m],e[h]=t[h],e[_]=t[_],e[b]=t[b],e[w]=t[w],e[E]=t[E],e[k]=t[k],e},e}();!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(a||(a={})),function(e){e.REVENUE_PRODUCT_ID="$productId",e.REVENUE_QUANTITY="$quantity",e.REVENUE_PRICE="$price",e.REVENUE_TYPE="$revenueType",e.REVENUE="$revenue"}(u||(u={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(c||(c={})),function(e){e.BEFORE="before",e.ENRICHMENT="enrichment",e.DESTINATION="destination"}(l||(l={}));var P=function(e){var t={};for(var n in e){var r=e[n];r&&(t[n]=r)}return t},N=function(){for(var e,o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var u={},c=d(),p=void 0,s=i(o,2),f=s[0],v=s[1];f&&"init"in f?(e=f,v&&(u=v)):f&&(u=f);var y=function(){return n(void 0,void 0,void 0,(function(){var e,n,i;return r(this,(function(r){switch(r.label){case 0:return n={event_type:null!==(i=u.eventType)&&void 0!==i?i:"Page View"},e=[{}],[4,R()];case 1:return[2,(n.event_properties=t.apply(void 0,[t.apply(void 0,e.concat([r.sent()])),{page_domain:"undefined"!=typeof location&&location.hostname||"",page_location:"undefined"!=typeof location&&location.href||"",page_path:"undefined"!=typeof location&&location.pathname||"",page_title:"undefined"!=typeof document&&document.title||"",page_url:"undefined"!=typeof location&&location.href.split("?")[0]||""}]),n)]}}))}))},g=function(){return void 0===u.trackOn||"function"==typeof u.trackOn&&u.trackOn()},m="undefined"!=typeof location?location.href:null,h=function(){return n(void 0,void 0,void 0,(function(){var t,n,i;return r(this,(function(r){switch(r.label){case 0:return t=location.href,$(u.trackHistoryChanges,t,m||"")&&g()?(null==p||p.log("Tracking page view event"),null!=e?[3,1]:[3,3]):[3,4];case 1:return i=(n=e).track,[4,y()];case 2:i.apply(n,[r.sent()]),r.label=3;case 3:r.label=4;case 4:return m=t,[2]}}))}))},_={name:"page-view-tracking",type:l.ENRICHMENT,setup:function(t,o){return n(void 0,void 0,void 0,(function(){var n,a,l,d,s;return r(this,(function(r){switch(r.label){case 0:return(e=null!=e?e:o)?((p=t.loggerProvider).log("Installing @amplitude/plugin-page-view-tracking-browser"),u.trackOn=(null===(d=t.attribution)||void 0===d?void 0:d.trackPageViews)?"attribution":u.trackOn,!o&&(null===(s=t.attribution)||void 0===s?void 0:s.trackPageViews)&&(p.warn("@amplitude/plugin-page-view-tracking-browser overrides page view tracking behavior defined in @amplitude/analytics-browser. Resolve by disabling page view tracking in @amplitude/analytics-browser."),t.attribution.trackPageViews=!1),u.trackHistoryChanges&&c&&(c.addEventListener("popstate",(function(){h()})),c.history.pushState=new Proxy(c.history.pushState,{apply:function(e,t,n){var r=i(n,3),o=r[0],a=r[1],u=r[2];e.apply(t,[o,a,u]),h()}})),g()?(p.log("Tracking page view event"),l=(a=e).track,[4,y()]):[3,2]):(n=f?"Options":"undefined",t.loggerProvider.error("Argument of type '".concat(n,"' is not assignable to parameter of type 'BrowserClient'.")),[2]);case 1:l.apply(a,[r.sent()]),r.label=2;case 2:return[2]}}))}))},execute:function(e){return n(void 0,void 0,void 0,(function(){var n;return r(this,(function(r){switch(r.label){case 0:return"attribution"===u.trackOn&&I(e)?(null==p||p.log("Enriching campaign event to page view event with campaign parameters"),[4,y()]):[3,2];case 1:n=r.sent(),e.event_type=n.event_type,e.event_properties=t(t({},e.event_properties),n.event_properties),r.label=2;case 2:return[2,e]}}))}))}};return _.__trackHistoryPageView=h,_},R=function(){return n(void 0,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:return e=P,[4,(new O).parse()];case 1:return[2,e.apply(void 0,[t.sent()])]}}))}))},I=function(e){if("$identify"===e.event_type&&e.user_properties){var t=e.user_properties,n=t[a.SET]||{},r=t[a.UNSET]||{},u=o(o([],i(Object.keys(n)),!1),i(Object.keys(r)),!1);return Object.keys(T).every((function(e){return u.includes(e)}))}return!1},$=function(e,t,n){return"pathOnly"===e?t.split("?")[0]!==n.split("?")[0]:t!==n},S=Object.freeze({__proto__:null});return e.Types=S,e.pageViewTrackingPlugin=N,e.plugin=N,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
Binary file