From 3a9b77052431b41905775f86107596e37504348c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:13:04 +0000 Subject: [PATCH 001/277] Update changelogs [skip ci] --- ...-snowplow-ecommerce-typings_2024-03-05-15-17.json | 10 ---------- .../bt-typedefs_2024-01-25-02-58.json | 10 ---------- .../bt-typedefs_2024-01-30-01-31.json | 10 ---------- .../bt-typedefs_2024-01-30-01-31.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 9 ++++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 6 ++++++ trackers/javascript-tracker/CHANGELOG.md | 7 ++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 70 files changed, 412 insertions(+), 73 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1291-expose-snowplow-ecommerce-typings_2024-03-05-15-17.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-25-02-58.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-30-01-31.json delete mode 100644 common/changes/@snowplow/browser-tracker/bt-typedefs_2024-01-30-01-31.json diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1291-expose-snowplow-ecommerce-typings_2024-03-05-15-17.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1291-expose-snowplow-ecommerce-typings_2024-03-05-15-17.json deleted file mode 100644 index f6b7af2a9..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/feature-1291-expose-snowplow-ecommerce-typings_2024-03-05-15-17.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Expose types", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-25-02-58.json b/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-25-02-58.json deleted file mode 100644 index e3664a871..000000000 --- a/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-25-02-58.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Update method signatures for BrowserTracker", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-30-01-31.json b/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-30-01-31.json deleted file mode 100644 index d9bb8cd2b..000000000 --- a/common/changes/@snowplow/browser-tracker-core/bt-typedefs_2024-01-30-01-31.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/bt-typedefs_2024-01-30-01-31.json b/common/changes/@snowplow/browser-tracker/bt-typedefs_2024-01-30-01-31.json deleted file mode 100644 index 5665ac7f0..000000000 --- a/common/changes/@snowplow/browser-tracker/bt-typedefs_2024-01-30-01-31.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index d6f08ea0d..3404f6b9f 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-tracker-core_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": { + "none": [ + { + "comment": "Update method signatures for BrowserTracker" + } + ] + } + }, { "version": "3.21.0", "tag": "@snowplow/browser-tracker-core_v3.21.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index b90e9647f..66ccc6332 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +### Updates + +- Update method signatures for BrowserTracker ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index c6737bf72..584ef2112 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/tracker-core_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/tracker-core_v3.21.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index b660e0ca8..c7976ec4d 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 422ce36f3..63e65b15e 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.21.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 01680374f..aea187a82 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index ade92efb3..30180edb0 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-browser-features_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-browser-features_v3.21.0", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index d2a565b91..a05d0e758 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 06cb12256..2eab425c1 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.21.0", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 3581cf507..998a1c8f5 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 23fce8e2c..b0f7cf32b 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-client-hints_v3.21.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index ccac1c69d..2e42f48f9 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 35afcdc47..e5350bdf3 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-consent_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-consent_v3.21.0", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 2cb621375..f9c7643d9 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 0352e2fa0..893378ae7 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-debugger_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-debugger_v3.21.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 1ac11bbac..d86685560 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 062e174cb..add0065d2 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-ecommerce_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-ecommerce_v3.21.0", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 3fa6bd919..4ac6e7fff 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 18ab90da9..060b0ca7b 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.21.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index e2d1575a8..93cb46fe7 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index a753e39e3..dfd320108 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.21.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 4b316ac19..5572d5543 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index fdf749d3b..cd3312d13 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.21.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 1d5ee330a..8105969a7 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index b6f956411..a6263c374 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.21.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 8aac645ee..0a3d50e51 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index b24393279..d6f06a2a8 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.21.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 0dbf7ea70..46fef658b 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 645124825..f1c14ddda 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.21.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index a8038a06c..866b73ff7 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 287b6345c..20ceffaef 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-geolocation_v3.21.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 7ffbf84d6..6256c9c6d 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index b509bbb7a..1e9762edc 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.21.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 1d55a50e2..d7aad4330 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index fbaa525f3..5f7df51dd 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.21.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 93e02ae0a..3f8e4e52c 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index f80911ca1..b971661eb 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-media_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-media_v3.21.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 89558b286..b7d490419 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 62eb6f405..6866897fd 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.21.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 50f4d99a6..9a313cd08 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index fe61c8966..25f0266a2 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-optimizely_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-optimizely_v3.21.0", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index e7f48af95..f57cdb145 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index ecd273ba9..4ae65ff3c 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.21.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 6a9307414..fb9fc2268 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index bbc085e23..17549175e 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.21.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index e48fc6fb3..82d434dab 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index ff2ae7427..3ebe4d36e 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.21.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index c0a746ceb..fc240e6d9 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 2fef07510..23b27134e 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.21.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index d41883466..00444202f 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index d91ddffc1..9ea50583b 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": { + "none": [ + { + "comment": "Expose types" + } + ] + } + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.21.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index b93f5a046..78c14fb83 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +### Updates + +- Expose types ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index ca011572c..345280b80 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-timezone_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-timezone_v3.21.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 4e084b0fc..1a8282f32 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index a2c366f1c..7572b9328 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.21.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 29bac062b..3bd2bf5f6 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 4ac646eaf..461366f55 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.21.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 04506a89e..5c27b0d8f 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index b5a458361..866066aa7 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.21.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index b51674ec4..5014d3cd3 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 9ae4c37f0..101f52184 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/browser-tracker_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/browser-tracker_v3.21.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 73296cd2f..2e94afc23 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index af895f341..0056303f2 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/javascript-tracker_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/javascript-tracker_v3.21.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 57d25e438..f0a018574 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 7c4e02e3a..0fe1ff9ca 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.22.0", + "tag": "@snowplow/node-tracker_v3.22.0", + "date": "Fri, 08 Mar 2024 08:13:04 GMT", + "comments": {} + }, { "version": "3.21.0", "tag": "@snowplow/node-tracker_v3.21.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index d49e52868..6739d46fa 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Mon, 29 Jan 2024 08:34:06 GMT and should not be manually modified. +This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. + +## 3.22.0 +Fri, 08 Mar 2024 08:13:04 GMT + +_Version update only_ ## 3.21.0 Mon, 29 Jan 2024 08:34:06 GMT From b7e0f9bf8b8c34ffb3a3e5c3f8b3144fb27b6ea0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:13:04 +0000 Subject: [PATCH 002/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 34 files changed, 62 insertions(+), 62 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 0013501a0..c7bf211a2 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.21.0", + "version": "3.22.0", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 154951350..12ea4456d 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.21.0", + "version": "3.22.0", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 6dc5a3340..048654d3c 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.21.0", + "version": "3.22.0", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index 539463a07..3094d26d8 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 37e25a73b..be3758663 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 0393c2c36..757af38de 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 54592ed9e..8b96d8c0f 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 0dc6bc404..a04ba33ab 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.21.0", + "version": "3.22.0", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 2403a5814..3c78ba5d8 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.21.0", + "version": "3.22.0", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index d5df6061e..7869675ed 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.21.0", + "version": "3.22.0", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 454eb13c9..c67d02b0f 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.21.0", + "version": "3.22.0", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 59f015ef0..e434b94e5 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.21.0", + "version": "3.22.0", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 9e6d9f5da..747de7ce8 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 49911a888..604d0c3a6 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.21.0", + "version": "3.22.0", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 2201934b7..c0037f32c 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index f8e1f5ed1..88d5f69f6 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index f3bb7ed8d..b1b2b9364 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index ac91fe3ed..244496ad3 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 2e3cd13bd..2136bc178 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 2c2ee8ab2..1bfda7d03 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.21.0", + "version": "3.22.0", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 4206ababe..fe1970d99 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 664f59ddc..bf7b2ff09 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 44b3bacb1..4df2d64e0 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index c8a52cd1f..f4f083f06 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 968e0e157..b9b904bfb 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.21.0", + "version": "3.22.0", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index b7748561d..cc2f87f66 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 92cd6317e..787802f9b 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.21.0", + "version": "3.22.0", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 3a50c340d..94e516bb9 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.21.0", + "version": "3.22.0", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 201c57e48..ddf1bcc23 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 06a46d0a0..bfe46d6a1 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.21.0", + "version": "3.22.0", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 5b7e893c6..772a13535 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.21.0", + "version": "3.22.0", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.21.0" + "@snowplow/browser-tracker": "~3.22.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index fbfbb6de5..d28de6eee 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.21.0", + "version": "3.22.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 5ab6323c2..19e0f71a4 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.21.0", + "version": "3.22.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 45d685af5..fe77c2c89 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.21.0", + "version": "3.22.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 8715335000221b25d1c387f2f903b171fc8d3cfc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:16:29 +0000 Subject: [PATCH 003/277] Applying documentation updates. --- ...er-tracker.browsertracker.getcookiename.md | 2 +- ...er.browsertracker.getdomainsessionindex.md | 2 +- ...-tracker.browsertracker.getdomainuserid.md | 2 +- ...racker.browsertracker.getdomainuserinfo.md | 2 +- ...rowser-tracker.browsertracker.getuserid.md | 2 +- .../browser-tracker.browsertracker.md | 10 ++++---- .../markdown/browser-tracker.md | 1 + .../browser-tracker.parsedidcookie.md | 25 +++++++++++++++++++ 8 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.parsedidcookie.md diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getcookiename.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getcookiename.md index b0336fc04..a7fc42852 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getcookiename.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getcookiename.md @@ -9,5 +9,5 @@ Get the cookie name as cookieNamePrefix + basename + . + domain. Signature: ```typescript -getCookieName: (basename: string) => void; +getCookieName: (basename: string) => string; ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainsessionindex.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainsessionindex.md index 4afdaae42..da89d162b 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainsessionindex.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainsessionindex.md @@ -9,5 +9,5 @@ Get the domain session index also known as current memorized visit count. Signature: ```typescript -getDomainSessionIndex: () => void; +getDomainSessionIndex: () => number; ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserid.md index bf289ede0..e5f63239f 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserid.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserid.md @@ -9,5 +9,5 @@ Get visitor ID (from first party cookie) Signature: ```typescript -getDomainUserId: () => void; +getDomainUserId: () => string; ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserinfo.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserinfo.md index a18733008..2b2830b3a 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserinfo.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getdomainuserinfo.md @@ -9,5 +9,5 @@ Get the visitor information (from first party cookie) Signature: ```typescript -getDomainUserInfo: () => void; +getDomainUserInfo: () => ParsedIdCookie; ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getuserid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getuserid.md index 7a32e09d6..768528327 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getuserid.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.getuserid.md @@ -9,5 +9,5 @@ Get the current user ID (as set previously with setUserId()). Signature: ```typescript -getUserId: () => void; +getUserId: () => string | null | undefined; ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md index abbf32f60..84a94454c 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md @@ -29,13 +29,13 @@ interface BrowserTracker | [enableActivityTrackingCallback](./browser-tracker.browsertracker.enableactivitytrackingcallback.md) | (configuration: ActivityTrackingConfiguration & ActivityTrackingConfigurationCallback) => void | Enables page activity tracking (replaces collector ping with callback). | | [enableAnonymousTracking](./browser-tracker.browsertracker.enableanonymoustracking.md) | (configuration?: EnableAnonymousTrackingConfiguration) => void | Enables anonymous tracking (ie. tracker initialized without anonymousTracking) | | [flushBuffer](./browser-tracker.browsertracker.flushbuffer.md) | (configuration?: FlushBufferConfiguration) => void | Send all events in the outQueue Only need to use this when sending events with a bufferSize of at least 2 | -| [getCookieName](./browser-tracker.browsertracker.getcookiename.md) | (basename: string) => void | Get the cookie name as cookieNamePrefix + basename + . + domain. | -| [getDomainSessionIndex](./browser-tracker.browsertracker.getdomainsessionindex.md) | () => void | Get the domain session index also known as current memorized visit count. | -| [getDomainUserId](./browser-tracker.browsertracker.getdomainuserid.md) | () => void | Get visitor ID (from first party cookie) | -| [getDomainUserInfo](./browser-tracker.browsertracker.getdomainuserinfo.md) | () => void | Get the visitor information (from first party cookie) | +| [getCookieName](./browser-tracker.browsertracker.getcookiename.md) | (basename: string) => string | Get the cookie name as cookieNamePrefix + basename + . + domain. | +| [getDomainSessionIndex](./browser-tracker.browsertracker.getdomainsessionindex.md) | () => number | Get the domain session index also known as current memorized visit count. | +| [getDomainUserId](./browser-tracker.browsertracker.getdomainuserid.md) | () => string | Get visitor ID (from first party cookie) | +| [getDomainUserInfo](./browser-tracker.browsertracker.getdomainuserinfo.md) | () => ParsedIdCookie | Get the visitor information (from first party cookie) | | [getPageViewId](./browser-tracker.browsertracker.getpageviewid.md) | () => string | Get the current page view ID | | [getTabId](./browser-tracker.browsertracker.gettabid.md) | () => string \| null | Get the current browser tab ID | -| [getUserId](./browser-tracker.browsertracker.getuserid.md) | () => void | Get the current user ID (as set previously with setUserId()). | +| [getUserId](./browser-tracker.browsertracker.getuserid.md) | () => string \| null \| undefined | Get the current user ID (as set previously with setUserId()). | | [id](./browser-tracker.browsertracker.id.md) | string | The unique identifier of this tracker | | [namespace](./browser-tracker.browsertracker.namespace.md) | string | The tracker namespace | | [newSession](./browser-tracker.browsertracker.newsession.md) | () => void | Expires current session and starts a new session. | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index 85850d638..ef4d923a7 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -90,6 +90,7 @@ | [ExtendedCrossDomainLinkerOptions](./browser-tracker.extendedcrossdomainlinkeroptions.md) | | | [FilterProvider](./browser-tracker.filterprovider.md) | A filter provider is a tuple that has two parts: a context filter and the context primitive(s) If the context filter evaluates to true, the tracker will attach the context primitive(s) | | [GetBatch](./browser-tracker.getbatch.md) | A collection of GET events which are sent to the collector. This will be a collection of query strings. | +| [ParsedIdCookie](./browser-tracker.parsedidcookie.md) | The format of state elements stored in the id cookie. | | [Platform](./browser-tracker.platform.md) | | | [PostBatch](./browser-tracker.postbatch.md) | A collection of POST events which are sent to the collector. This will be a collection of JSON objects. | | [RequestFailure](./browser-tracker.requestfailure.md) | The data that will be available to the onRequestFailure callback | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.parsedidcookie.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.parsedidcookie.md new file mode 100644 index 000000000..b3db25344 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.parsedidcookie.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [ParsedIdCookie](./browser-tracker.parsedidcookie.md) + +## ParsedIdCookie type + +The format of state elements stored in the `id` cookie. + +Signature: + +```typescript +type ParsedIdCookie = [ + cookieDisabled: string, + domainUserId: string, + cookieCreateTs: number, + visitCount: number, + nowTs: number, + lastVisitTs: number | undefined, + sessionId: string, + previousSessionId: string, + firstEventId: string, + firstEventTs: number | undefined, + eventIndex: number +]; +``` From b1322cdc280a9ab91f7b38f2f22652b94786134e Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 12 Mar 2024 16:50:34 +0200 Subject: [PATCH 004/277] Fix snowplow ecommerce typename conflicts (#1296) --- ...e-typenames-conflict_2024-03-12-09-22.json | 10 ++++++++++ .../src/api.ts | 10 +++++----- .../src/ga4/utils.ts | 4 ++-- .../src/types.ts | 6 +++--- .../src/ua/utils.ts | 4 ++-- .../test/events.test.ts | 20 ++++++++++++++----- 6 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json new file mode 100644 index 000000000..e3cd22430 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "Fix snowplow ecommerce type conflicts", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" +} \ No newline at end of file diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/api.ts b/plugins/browser-plugin-snowplow-ecommerce/src/api.ts index 9cd9e41bb..1e15d0752 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/api.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/api.ts @@ -20,9 +20,9 @@ import { ListViewEvent, Page as PageContext, Product, - Promotion, + SPPromotion, Refund, - Transaction, + SPTransaction, TransactionError, User as UserContext, } from './types'; @@ -109,7 +109,7 @@ export function trackProductListClick( * @param trackers - The tracker identifiers which the event will be sent to */ export function trackPromotionView( - promotionView: Promotion & CommonEcommerceEventProperties, + promotionView: SPPromotion & CommonEcommerceEventProperties, trackers: Array = Object.keys(_trackers) ) { const { context = [], timestamp, ...promotion } = promotionView; @@ -127,7 +127,7 @@ export function trackPromotionView( * @param trackers - The tracker identifiers which the event will be sent to */ export function trackPromotionClick( - promotionClick: Promotion & CommonEcommerceEventProperties, + promotionClick: SPPromotion & CommonEcommerceEventProperties, trackers: Array = Object.keys(_trackers) ) { const { context = [], timestamp, ...promotion } = promotionClick; @@ -201,7 +201,7 @@ export function trackRemoveFromCart( * @param trackers - The tracker identifiers which the event will be sent to */ export function trackTransaction( - transaction: Transaction & CommonEcommerceEventProperties, + transaction: SPTransaction & CommonEcommerceEventProperties, trackers: Array = Object.keys(_trackers) ) { let totalQuantity = 0; diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts index 2df162190..148c8cb6a 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ga4/utils.ts @@ -1,4 +1,4 @@ -import { Product, Promotion } from '../types'; +import { Product, SPPromotion } from '../types'; import { Item, Promotion as GA4Promotion, GA4EcommerceObject } from './types'; interface GA4ItemTransformation { @@ -32,7 +32,7 @@ export function transformG4ItemsToSPProducts( }); } -export function transformGA4PromotionToSPPromotion(promotion: GA4EcommerceObject & GA4Promotion): Promotion { +export function transformGA4PromotionToSPPromotion(promotion: GA4EcommerceObject & GA4Promotion): SPPromotion { const productIds = promotion.items.map((item) => item.item_id); return { diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts index aa294e6fc..c240cc63a 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts @@ -159,7 +159,7 @@ export type Product = { /** * Type/Schema for a promotion entity in Ecommerce */ -export interface Promotion { +export interface SPPromotion { /** * The ID of the promotion. */ @@ -193,7 +193,7 @@ export interface Promotion { /** * Type/Schema for a transaction entity in Ecommerce */ -export interface Transaction { +export interface SPTransaction { /** * The ID of the transaction */ @@ -296,7 +296,7 @@ export interface TransactionError { /** * The transaction object representing the transaction that ended up in an error. */ - transaction: Transaction; + transaction: SPTransaction; } /** diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts b/plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts index bccd1af91..0f4a9ff6d 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/ua/utils.ts @@ -1,4 +1,4 @@ -import { Product, Promotion } from '../types'; +import { Product, SPPromotion } from '../types'; import { EEProduct, EEPromo } from './types'; export function transformUAProductsToSPProducts(products: EEProduct[], currency: string): Product[] { @@ -18,7 +18,7 @@ export function transformUAProductsToSPProducts(products: EEProduct[], currency: }); } -export function transformUAPromotionsToSPPromotions(promotions: EEPromo[]): Promotion[] { +export function transformUAPromotionsToSPPromotions(promotions: EEPromo[]): SPPromotion[] { return promotions.map((promotion) => ({ name: promotion.name, slot: promotion.position, diff --git a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts index 196bbf76b..60990ae0e 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts @@ -53,7 +53,7 @@ import { TRANSACTION_SCHEMA, TRANSACTION_ERROR_SCHEMA, } from '../src/schemata'; -import { CheckoutStep, Product, Promotion, Refund, Transaction, TransactionError } from '../src/types'; +import { CheckoutStep, Product, SPPromotion, Refund, SPTransaction, TransactionError } from '../src/types'; const extractStateProperties = ({ outQueues: [ @@ -168,7 +168,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackPromotionView adds the expected "promotion view" event to the queue', () => { - const promoX: Promotion = { + const promoX: SPPromotion = { id: '1234', name: 'promo_winter', product_ids: ['P1234'], @@ -193,7 +193,7 @@ describe('SnowplowEcommercePlugin events', () => { }); it('trackPromotionClick adds the expected "promotion click" event to the queue', () => { - const promoX: Promotion = { + const promoX: SPPromotion = { id: '1234', name: 'promo_winter', product_ids: ['P1234'], @@ -292,7 +292,12 @@ describe('SnowplowEcommercePlugin events', () => { it('trackTransaction adds the expected "transaction" event to the queue', () => { const productX: Product = { id: '1234', price: 12, currency: 'EUR', quantity: 4 }; const productY: Product = { id: '12345', price: 25, currency: 'EUR', quantity: 1 }; - const transaction: Transaction = { revenue: 45, currency: 'EUR', transaction_id: '12345', payment_method: 'card' }; + const transaction: SPTransaction = { + revenue: 45, + currency: 'EUR', + transaction_id: '12345', + payment_method: 'card', + }; trackTransaction({ ...transaction, products: [productX, productY], @@ -365,7 +370,12 @@ describe('SnowplowEcommercePlugin events', () => { error_shortcode: 'CARD_DECLINE', error_type: 'hard', }; - const transaction: Transaction = { revenue: 45, currency: 'EUR', transaction_id: '12345', payment_method: 'card' }; + const transaction: SPTransaction = { + revenue: 45, + currency: 'EUR', + transaction_id: '12345', + payment_method: 'card', + }; trackTransactionError({ ...transactionError, transaction, From 9775505c19de01238104f36e6c6728f3cb18bbaa Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Tue, 12 Mar 2024 16:52:09 +0200 Subject: [PATCH 005/277] Prepare for release --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index c7bf211a2..a7bbb1a7e 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -42,6 +42,6 @@ * * Valid values are: "prerelease", "release", "minor", "patch", "major" */ - "nextBump": "minor" + "nextBump": "patch" } ] From 7b78d78b6389344e68c641916ba41cad0a37b2b6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 13 Mar 2024 08:39:48 +0000 Subject: [PATCH 006/277] Update changelogs [skip ci] --- ...commerce-typenames-conflict_2024-03-12-09-22.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 6 ++++++ libraries/browser-tracker-core/CHANGELOG.md | 7 ++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 6 ++++++ trackers/javascript-tracker/CHANGELOG.md | 7 ++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 67 files changed, 404 insertions(+), 43 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json deleted file mode 100644 index e3cd22430..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/fix-correct-ecommerce-typenames-conflict_2024-03-12-09-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Fix snowplow ecommerce type conflicts", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 3404f6b9f..40a9728f9 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-tracker-core_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-tracker-core_v3.22.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 66ccc6332..4f12a8314 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 584ef2112..a2531a70b 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/tracker-core_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/tracker-core_v3.22.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index c7976ec4d..d71e32e13 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 63e65b15e..7655e6fee 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.22.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index aea187a82..4a74afead 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 30180edb0..43ed3ffc9 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-browser-features_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-browser-features_v3.22.0", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index a05d0e758..2f5876693 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 2eab425c1..e6b5ff57e 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.22.0", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 998a1c8f5..21bc695d8 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index b0f7cf32b..b031ddca9 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-client-hints_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-client-hints_v3.22.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 2e42f48f9..7c6ee1588 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index e5350bdf3..d802eb9eb 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-consent_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-consent_v3.22.0", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index f9c7643d9..e3d4e4185 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 893378ae7..f561d4d1d 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-debugger_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-debugger_v3.22.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index d86685560..ef26b0fbe 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index add0065d2..8e53f92e8 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-ecommerce_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-ecommerce_v3.22.0", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 4ac6e7fff..bd5960498 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 060b0ca7b..b514cb592 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.22.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 93cb46fe7..93358ebe3 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index dfd320108..d2db0ef4d 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.22.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 5572d5543..14fb0f5b6 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index cd3312d13..280b57881 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-error-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.22.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 8105969a7..75d56fe5f 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index a6263c374..b5e968a15 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-focalmeter_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.22.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 0a3d50e51..722d08042 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index d6f06a2a8..81fc447fa 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-form-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.22.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 46fef658b..f8ce1c502 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index f1c14ddda..4139e3592 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.22.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 866b73ff7..9489726d9 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 20ceffaef..26da40bf5 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-geolocation_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-geolocation_v3.22.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 6256c9c6d..5f4b4f4db 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 1e9762edc..82cddfc1b 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.22.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index d7aad4330..2965e59e5 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 5f7df51dd..b4f071e55 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-media-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.22.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 3f8e4e52c..ee302a4ef 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index b971661eb..0d67ee4d5 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-media_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-media_v3.22.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index b7d490419..6ba513931 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 6866897fd..fb28ceec1 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.22.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 9a313cd08..3a336a877 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 25f0266a2..05cb95d89 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-optimizely_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-optimizely_v3.22.0", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index f57cdb145..ad2ee2c54 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 4ae65ff3c..ff540cdcd 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.22.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index fb9fc2268..a9490d897 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 17549175e..b1d49325c 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-performance-timing_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.22.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 82d434dab..40c42e0f5 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 3ebe4d36e..9d7724411 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.22.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index fc240e6d9..8d854c498 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 23b27134e..1fc904965 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-site-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.22.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 00444202f..e099067b8 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 9ea50583b..4a1eba925 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": { + "none": [ + { + "comment": "Fix snowplow ecommerce type conflicts" + } + ] + } + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.22.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 78c14fb83..2317eb6d6 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +### Updates + +- Fix snowplow ecommerce type conflicts ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 345280b80..5afcc3c8e 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-timezone_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-timezone_v3.22.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 1a8282f32..236583dfb 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 7572b9328..eb4969ab0 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.22.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 3bd2bf5f6..9e0795edb 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 461366f55..09dbe3826 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-web-vitals_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.22.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 5c27b0d8f..3080e6ace 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 866066aa7..5f0e97b25 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.22.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 5014d3cd3..91bfb2355 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 101f52184..2b1d9e01f 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/browser-tracker_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/browser-tracker_v3.22.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 2e94afc23..1afe841bf 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 0056303f2..612c2a311 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/javascript-tracker_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/javascript-tracker_v3.22.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index f0a018574..0d5fb871d 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 0fe1ff9ca..a8a888141 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.22.1", + "tag": "@snowplow/node-tracker_v3.22.1", + "date": "Wed, 13 Mar 2024 08:39:48 GMT", + "comments": {} + }, { "version": "3.22.0", "tag": "@snowplow/node-tracker_v3.22.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 6739d46fa..d30468184 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Fri, 08 Mar 2024 08:13:04 GMT and should not be manually modified. +This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. + +## 3.22.1 +Wed, 13 Mar 2024 08:39:48 GMT + +_Version update only_ ## 3.22.0 Fri, 08 Mar 2024 08:13:04 GMT From c8281f53672c85059c554f15a402b683610ee36d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 13 Mar 2024 08:39:48 +0000 Subject: [PATCH 007/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 34 files changed, 62 insertions(+), 62 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index a7bbb1a7e..99a3e95f3 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.22.0", + "version": "3.22.1", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 12ea4456d..2c3d29b88 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.22.0", + "version": "3.22.1", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 048654d3c..7ff914f71 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.22.0", + "version": "3.22.1", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index 3094d26d8..32dc4531f 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index be3758663..0bd0b595b 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 757af38de..73e1b7572 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 8b96d8c0f..7b820559f 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index a04ba33ab..5fdc7a31e 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.22.0", + "version": "3.22.1", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 3c78ba5d8..417efd4b4 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.22.0", + "version": "3.22.1", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 7869675ed..134076c85 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.22.0", + "version": "3.22.1", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index c67d02b0f..cc819a708 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.22.0", + "version": "3.22.1", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index e434b94e5..b3b6f39b9 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.22.0", + "version": "3.22.1", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 747de7ce8..2e004973d 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 604d0c3a6..0955fce7e 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.22.0", + "version": "3.22.1", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index c0037f32c..794ae322c 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 88d5f69f6..ee710bee8 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index b1b2b9364..7d0cacaff 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 244496ad3..dc2c5656a 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 2136bc178..4262806da 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 1bfda7d03..2fab18c54 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.22.0", + "version": "3.22.1", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index fe1970d99..a007a4140 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index bf7b2ff09..e4a83a377 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 4df2d64e0..303d6ea5f 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index f4f083f06..e18d41d41 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index b9b904bfb..0f414182f 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.22.0", + "version": "3.22.1", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index cc2f87f66..617b2a303 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 787802f9b..cf4d5126d 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.22.0", + "version": "3.22.1", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 94e516bb9..816dbc787 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.22.0", + "version": "3.22.1", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index ddf1bcc23..da269c748 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index bfe46d6a1..3b2b5b6e0 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.22.0", + "version": "3.22.1", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 772a13535..5e3f52856 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.22.0", + "version": "3.22.1", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.0" + "@snowplow/browser-tracker": "~3.22.1" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index d28de6eee..5e5e35006 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.22.0", + "version": "3.22.1", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 19e0f71a4..cf1cc757e 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.22.0", + "version": "3.22.1", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index fe77c2c89..56bea24f4 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.22.0", + "version": "3.22.1", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 929ac5de79b0bcfa9f09aa2bdb46f526ea77ab30 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 13 Mar 2024 08:43:14 +0000 Subject: [PATCH 008/277] Applying documentation updates. From c24bb919ac10c3e38f53ec5fb24dbbe348c3b413 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 27 Mar 2024 17:41:44 +0200 Subject: [PATCH 009/277] Add the Event Specifications plugin (#1300) --- ...pecifications-plugin_2024-03-25-10-48.json | 10 +++ ...pecifications-plugin_2024-03-25-10-48.json | 10 +++ .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 51 +++++++++++ common/config/rush/repo-state.json | 2 +- .../LICENSE | 29 ++++++ .../README.md | 89 +++++++++++++++++++ .../jest.config.js | 5 ++ .../package.json | 53 +++++++++++ .../rollup.config.js | 37 ++++++++ .../src/index.ts | 41 +++++++++ .../src/integrations/index.ts | 16 ++++ .../src/integrations/snowplow-media-plugin.ts | 26 ++++++ .../src/schemata.ts | 1 + .../src/utils.ts | 10 +++ .../test/event-specs.test.ts | 67 ++++++++++++++ .../tsconfig.json | 3 + rush.json | 6 ++ trackers/javascript-tracker/package.json | 3 +- trackers/javascript-tracker/src/features.ts | 36 ++------ trackers/javascript-tracker/tracker.config.ts | 31 +------ .../javascript-tracker/tracker.lite.config.ts | 31 +------ .../javascript-tracker/tracker.test.config.ts | 31 +------ 23 files changed, 470 insertions(+), 122 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json create mode 100644 common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json create mode 100644 plugins/browser-plugin-event-specifications/LICENSE create mode 100644 plugins/browser-plugin-event-specifications/README.md create mode 100644 plugins/browser-plugin-event-specifications/jest.config.js create mode 100644 plugins/browser-plugin-event-specifications/package.json create mode 100644 plugins/browser-plugin-event-specifications/rollup.config.js create mode 100644 plugins/browser-plugin-event-specifications/src/index.ts create mode 100644 plugins/browser-plugin-event-specifications/src/integrations/index.ts create mode 100644 plugins/browser-plugin-event-specifications/src/integrations/snowplow-media-plugin.ts create mode 100644 plugins/browser-plugin-event-specifications/src/schemata.ts create mode 100644 plugins/browser-plugin-event-specifications/src/utils.ts create mode 100644 plugins/browser-plugin-event-specifications/test/event-specs.test.ts create mode 100644 plugins/browser-plugin-event-specifications/tsconfig.json diff --git a/common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json b/common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json new file mode 100644 index 000000000..76c39e445 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-event-specifications", + "comment": "Created", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-event-specifications" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json b/common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json new file mode 100644 index 000000000..1bd5a8576 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Additions for the Event Specifications plugin", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 95e14afe7..86f6c70a5 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -62,6 +62,10 @@ "name": "@snowplow/browser-plugin-error-tracking", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-event-specifications", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-plugin-focalmeter", "allowedCategories": [ "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index b85e817fe..1d2d66312 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -629,6 +629,55 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 typescript: 4.6.2 + ../../plugins/browser-plugin-event-specifications: + specifiers: + '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 + '@rollup/plugin-commonjs': ~21.0.2 + '@rollup/plugin-node-resolve': ~13.1.3 + '@snowplow/browser-tracker-core': workspace:* + '@snowplow/tracker-core': workspace:* + '@types/jest': ~27.4.1 + '@types/jsdom': ~16.2.14 + '@typescript-eslint/eslint-plugin': ~5.15.0 + '@typescript-eslint/parser': ~5.15.0 + eslint: ~8.11.0 + jest: ~27.5.1 + jest-environment-jsdom: ~27.5.1 + jest-environment-jsdom-global: ~3.0.0 + jest-standard-reporter: ~2.0.0 + rollup: ~2.70.1 + rollup-plugin-cleanup: ~3.2.1 + rollup-plugin-license: ~2.6.1 + rollup-plugin-terser: ~7.0.2 + rollup-plugin-ts: ~2.0.5 + ts-jest: ~27.1.3 + tslib: ^2.3.1 + typescript: ~4.6.2 + dependencies: + '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': link:../../libraries/tracker-core + tslib: 2.3.1 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 + '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 + '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 + '@types/jest': 27.4.1 + '@types/jsdom': 16.2.14 + '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 + '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 + eslint: 8.11.0 + jest: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 + jest-standard-reporter: 2.0.0 + rollup: 2.70.1 + rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 + rollup-plugin-license: 2.6.1_rollup@2.70.1 + rollup-plugin-terser: 7.0.2_rollup@2.70.1 + rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 + ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 + typescript: 4.6.2 + ../../plugins/browser-plugin-focalmeter: specifiers: '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 @@ -1613,6 +1662,7 @@ importers: '@snowplow/browser-plugin-enhanced-consent': workspace:* '@snowplow/browser-plugin-enhanced-ecommerce': workspace:* '@snowplow/browser-plugin-error-tracking': workspace:* + '@snowplow/browser-plugin-event-specifications': workspace:* '@snowplow/browser-plugin-form-tracking': workspace:* '@snowplow/browser-plugin-ga-cookies': workspace:* '@snowplow/browser-plugin-geolocation': workspace:* @@ -1683,6 +1733,7 @@ importers: '@snowplow/browser-plugin-enhanced-consent': link:../../plugins/browser-plugin-enhanced-consent '@snowplow/browser-plugin-enhanced-ecommerce': link:../../plugins/browser-plugin-enhanced-ecommerce '@snowplow/browser-plugin-error-tracking': link:../../plugins/browser-plugin-error-tracking + '@snowplow/browser-plugin-event-specifications': link:../../plugins/browser-plugin-event-specifications '@snowplow/browser-plugin-form-tracking': link:../../plugins/browser-plugin-form-tracking '@snowplow/browser-plugin-ga-cookies': link:../../plugins/browser-plugin-ga-cookies '@snowplow/browser-plugin-geolocation': link:../../plugins/browser-plugin-geolocation diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 4d226ab04..70bc15013 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "76374ca64642c7cf6282ba6e6c9417787e019665", + "pnpmShrinkwrapHash": "f6cae2db0ae08480e3fe1d76ae3cc79d521dbfb7", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-event-specifications/LICENSE b/plugins/browser-plugin-event-specifications/LICENSE new file mode 100644 index 000000000..48c0a11e4 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2024 Snowplow Analytics Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/plugins/browser-plugin-event-specifications/README.md b/plugins/browser-plugin-event-specifications/README.md new file mode 100644 index 000000000..c31599550 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/README.md @@ -0,0 +1,89 @@ +# Snowplow Event Specifications Plugin + +[![npm version][npm-image]][npm-url] +[![License][license-image]](LICENSE) + +Browser Plugin to be used with `@snowplow/browser-tracker`. + +The plugin allows you to integrate with Event Specifications for a selected set of plugins. The plugin will automatically add an Event Specification context to the events matching the configuration added on the plugin. This configuration should be retrieved directly from your Data Product in the [Snowplow BDP Console](https://console.snowplowanalytics.com). + +## Maintainer quick start + +Part of the Snowplow JavaScript Tracker monorepo. +Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). + +### Setup repository + +```bash +npm install -g @microsoft/rush +git clone https://github.com/snowplow/snowplow-javascript-tracker.git +rush update +``` + +## Package Installation + +With npm: + +```bash +npm install @snowplow/browser-plugin-event-specifications +``` + +## Usage + +Initialize your tracker with the `EventSpecificationsPlugin`: + +```js +import { newTracker } from '@snowplow/browser-tracker'; +import { EventSpecificationsPlugin } from '@snowplow/browser-plugin-event-specifications'; + +newTracker('sp1', '{{collector}}', { plugins: [ EventSpecificationsPlugin(/* pluginOptions */) ] }); + +/* + * Available plugin options `EventSpecificationsPluginOptions`: + * { + * [k in AvailablePlugins]: Keys for available plugins that have been added as integrations. + * } + */ +``` + +### Getting the expected Event Specification options input + +The expected Event Specification option input can be retrieved directly from your Data Product in the [Snowplow BDP Console](https://console.snowplowanalytics.com) and would be similar to the following example: + +```js +EventSpecificationsPlugin( + SnowplowMediaPlugin: { play_event: 'event_specification_id' } +); +``` + +### Adding a new integration + +Every integration needs to satisfy the following interface: + +```ts +export type Integration = { + /** + * Find a matching event for the integration with a plugin and an event specification id map. + * The returned string should match what we expect as key coming from the configuration object on this specific plugin integration. + */ + detectMatchingEvent: (payloadBuilder: PayloadBuilder) => string | undefined +} +``` + +The `detectMatchingEvent` function should return the key expected for the Event Specification input option of the integration. + +To add a new integration, add the required code under `src/integrations` and export it accordingly on the `integrations` object on the `src/integrations/index.ts` file. + +## Copyright and license + +Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). + +Copyright (c) 2024 Snowplow Analytics Ltd. + +All rights reserved. + +[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-event-specifications +[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-event-specifications +[docs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-tracker/ +[osi]: https://opensource.org/licenses/BSD-3-Clause +[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-event-specifications diff --git a/plugins/browser-plugin-event-specifications/jest.config.js b/plugins/browser-plugin-event-specifications/jest.config.js new file mode 100644 index 000000000..bd3ea4e2a --- /dev/null +++ b/plugins/browser-plugin-event-specifications/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: 'ts-jest', + reporters: ['jest-standard-reporter'], + testEnvironment: 'jest-environment-jsdom-global', +}; diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json new file mode 100644 index 000000000..3c39c1dfc --- /dev/null +++ b/plugins/browser-plugin-event-specifications/package.json @@ -0,0 +1,53 @@ +{ + "name": "@snowplow/browser-plugin-event-specifications", + "version": "3.22.1", + "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", + "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", + "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", + "repository": { + "type": "git", + "url": "https://github.com/snowplow/snowplow-javascript-tracker.git" + }, + "license": "BSD-3-Clause", + "author": "Snowplow Analytics Ltd (https://snowplow.io/)", + "sideEffects": false, + "main": "./dist/index.umd.js", + "module": "./dist/index.module.js", + "types": "./dist/index.module.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "rollup -c --silent --failAfterWarnings", + "test": "jest" + }, + "dependencies": { + "@snowplow/browser-tracker-core": "workspace:*", + "@snowplow/tracker-core": "workspace:*", + "tslib": "^2.3.1" + }, + "devDependencies": { + "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", + "@rollup/plugin-commonjs": "~21.0.2", + "@rollup/plugin-node-resolve": "~13.1.3", + "@types/jest": "~27.4.1", + "@types/jsdom": "~16.2.14", + "@typescript-eslint/eslint-plugin": "~5.15.0", + "@typescript-eslint/parser": "~5.15.0", + "eslint": "~8.11.0", + "jest": "~27.5.1", + "jest-environment-jsdom": "~27.5.1", + "jest-environment-jsdom-global": "~3.0.0", + "jest-standard-reporter": "~2.0.0", + "rollup": "~2.70.1", + "rollup-plugin-cleanup": "~3.2.1", + "rollup-plugin-license": "~2.6.1", + "rollup-plugin-terser": "~7.0.2", + "rollup-plugin-ts": "~2.0.5", + "ts-jest": "~27.1.3", + "typescript": "~4.6.2" + }, + "peerDependencies": { + "@snowplow/browser-tracker": "~3.22.1" + } +} diff --git a/plugins/browser-plugin-event-specifications/rollup.config.js b/plugins/browser-plugin-event-specifications/rollup.config.js new file mode 100644 index 000000000..5b5b37e67 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/rollup.config.js @@ -0,0 +1,37 @@ +import { nodeResolve } from '@rollup/plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; +import ts from 'rollup-plugin-ts'; // Preferred over @rollup/plugin-typescript as it bundles .d.ts files +import { banner } from '../../banner'; +import compiler from '@ampproject/rollup-plugin-closure-compiler'; +import { terser } from 'rollup-plugin-terser'; +import cleanup from 'rollup-plugin-cleanup'; +import pkg from './package.json'; +import { builtinModules } from 'module'; + +const umdPlugins = [nodeResolve({ browser: true }), commonjs(), ts()]; +const umdName = 'eventSpecifications'; + +export default [ + // CommonJS (for Node) and ES module (for bundlers) build. + { + input: './src/index.ts', + plugins: [...umdPlugins, banner()], + treeshake: { moduleSideEffects: ['sha1'] }, + output: [{ file: pkg.main, format: 'umd', sourcemap: true, name: umdName }], + }, + { + input: './src/index.ts', + plugins: [...umdPlugins, compiler(), terser(), cleanup({ comments: 'none' }), banner()], + treeshake: { moduleSideEffects: ['sha1'] }, + output: [{ file: pkg.main.replace('.js', '.min.js'), format: 'umd', sourcemap: true, name: umdName }], + }, + { + input: './src/index.ts', + external: [...builtinModules, ...Object.keys(pkg.dependencies), ...Object.keys(pkg.devDependencies)], + plugins: [ + ts(), // so Rollup can convert TypeScript to JavaScript + banner(), + ], + output: [{ file: pkg.module, format: 'es', sourcemap: true }], + }, +]; diff --git a/plugins/browser-plugin-event-specifications/src/index.ts b/plugins/browser-plugin-event-specifications/src/index.ts new file mode 100644 index 000000000..47f5efb75 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/src/index.ts @@ -0,0 +1,41 @@ +import { BrowserPlugin, BrowserTracker } from '@snowplow/browser-tracker-core'; +import { integrations, AvailablePlugins } from './integrations'; +import { createEventSpecificationContext } from './utils'; + +const _trackers: Record = {}; + +type EventSpecificationsPluginOptions = { + [k in AvailablePlugins]?: Record; +}; + +const defaultPluginOptions = {}; + +export function EventSpecificationsPlugin( + pluginOptions: EventSpecificationsPluginOptions = defaultPluginOptions +): BrowserPlugin { + const options = { ...defaultPluginOptions, ...pluginOptions }; + const enabledIntegrations = Object.keys(integrations).filter( + (integration) => options[integration as AvailablePlugins] + ); + let trackerId: string; + return { + activateBrowserPlugin: (tracker) => { + trackerId = tracker.id; + _trackers[trackerId] = tracker; + }, + beforeTrack(payloadBuilder) { + enabledIntegrations.forEach((integrationKey) => { + const matchedEvent = integrations[integrationKey as AvailablePlugins].detectMatchingEvent(payloadBuilder); + if (!matchedEvent) { + return; + } + const matchingPluginEventMap = options[integrationKey as AvailablePlugins]; + const matchingEventSpecificationId = matchingPluginEventMap && matchingPluginEventMap[matchedEvent]; + if (!matchingEventSpecificationId) { + return; + } + payloadBuilder.addContextEntity(createEventSpecificationContext(matchingEventSpecificationId)); + }); + }, + }; +} diff --git a/plugins/browser-plugin-event-specifications/src/integrations/index.ts b/plugins/browser-plugin-event-specifications/src/integrations/index.ts new file mode 100644 index 000000000..641fdb815 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/src/integrations/index.ts @@ -0,0 +1,16 @@ +import { PayloadBuilder } from '@snowplow/tracker-core'; +import { snowplowMediaPluginIntegration } from './snowplow-media-plugin'; + +export type AvailablePlugins = 'SnowplowMediaPlugin'; + +export type Integration = { + /** + * Find a matching event for the integration with a plugin and an event specification id map. + * The returned string should match what we expect as key coming from the configuration object on this specific plugin integration. + */ + detectMatchingEvent: (payloadBuilder: PayloadBuilder) => string | undefined; +}; + +export const integrations: Record = { + SnowplowMediaPlugin: snowplowMediaPluginIntegration, +} as const; diff --git a/plugins/browser-plugin-event-specifications/src/integrations/snowplow-media-plugin.ts b/plugins/browser-plugin-event-specifications/src/integrations/snowplow-media-plugin.ts new file mode 100644 index 000000000..aa3c7210f --- /dev/null +++ b/plugins/browser-plugin-event-specifications/src/integrations/snowplow-media-plugin.ts @@ -0,0 +1,26 @@ +import { PayloadBuilder } from '@snowplow/tracker-core'; +import { Integration } from './index'; + +export const snowplowMediaPluginIntegration: Integration = { + detectMatchingEvent(payloadBuilder) { + return getMediaEventSchemaName(payloadBuilder); + }, +}; + +function getMediaEventSchemaName(payloadBuilder: PayloadBuilder): string | undefined { + const payloadJson = payloadBuilder.getJson(); + const mediaEventSchema = payloadJson.find( + (e) => + e.keyIfEncoded === 'ue_px' && + (e.json.data as { schema: string }).schema.match(/iglu:com.snowplowanalytics.snowplow.media\/.*\/jsonschema/) + ); + if (typeof mediaEventSchema === 'undefined') { + return; + } + // We know schemas are in this otherwise it would not match the above regex. + const eventSourceName = (mediaEventSchema.json.data as { schema: string }).schema.match( + /iglu:com.snowplowanalytics.snowplow.media\/(.*)\/jsonschema/ + )![1]; + + return eventSourceName; +} diff --git a/plugins/browser-plugin-event-specifications/src/schemata.ts b/plugins/browser-plugin-event-specifications/src/schemata.ts new file mode 100644 index 000000000..158e9cc10 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/src/schemata.ts @@ -0,0 +1 @@ +export const EVENT_SPECIFICATION_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/event_specification/jsonschema/1-0-0'; diff --git a/plugins/browser-plugin-event-specifications/src/utils.ts b/plugins/browser-plugin-event-specifications/src/utils.ts new file mode 100644 index 000000000..0cce4ab86 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/src/utils.ts @@ -0,0 +1,10 @@ +import { EVENT_SPECIFICATION_SCHEMA } from './schemata'; + +export function createEventSpecificationContext(eventSpecificationId: string) { + return { + schema: EVENT_SPECIFICATION_SCHEMA, + data: { + id: eventSpecificationId, + }, + }; +} diff --git a/plugins/browser-plugin-event-specifications/test/event-specs.test.ts b/plugins/browser-plugin-event-specifications/test/event-specs.test.ts new file mode 100644 index 000000000..24bddcf42 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/test/event-specs.test.ts @@ -0,0 +1,67 @@ +import { buildSelfDescribingEvent, trackerCore } from '@snowplow/tracker-core'; +import { EventSpecificationsPlugin } from '../src'; +import { BrowserTracker } from '@snowplow/browser-tracker-core'; + +describe('Event Specifications plugin', () => { + it('Detects matching event and adds context', (done) => { + const playEventSpecificationId = '1234'; + const eventSpecsPlugin = EventSpecificationsPlugin({ + SnowplowMediaPlugin: { play_event: playEventSpecificationId }, + }); + const core = trackerCore({ + base64: false, + corePlugins: [ + eventSpecsPlugin, + { + afterTrack(payload) { + let context = JSON.parse(payload.co as string); + expect(context.data[0].schema).toMatch( + 'iglu:com.snowplowanalytics.snowplow/event_specification/jsonschema/1-0-0' + ); + expect(context.data[0].data).toEqual({ id: playEventSpecificationId }); + done(); + }, + }, + ], + }); + + eventSpecsPlugin.activateBrowserPlugin?.({ core } as BrowserTracker); + core.track( + buildSelfDescribingEvent({ + event: { + schema: 'iglu:com.snowplowanalytics.snowplow.media/play_event/jsonschema/1-0-0', + data: {}, + }, + }) + ); + }); + + it('Does not add context on non-matching event', (done) => { + const eventSpecsPlugin = EventSpecificationsPlugin({ + SnowplowMediaPlugin: { pause_event: '1234' }, + }); + const core = trackerCore({ + base64: false, + corePlugins: [ + eventSpecsPlugin, + { + afterTrack(payload) { + const context = payload.co as string; + expect(context).toBe(undefined); + done(); + }, + }, + ], + }); + + eventSpecsPlugin.activateBrowserPlugin?.({ core } as BrowserTracker); + core.track( + buildSelfDescribingEvent({ + event: { + schema: 'iglu:com.snowplowanalytics.snowplow.media/play_event/jsonschema/1-0-0', + data: {}, + }, + }) + ); + }); +}); diff --git a/plugins/browser-plugin-event-specifications/tsconfig.json b/plugins/browser-plugin-event-specifications/tsconfig.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/rush.json b/rush.json index 7f2a91373..d9ee7428d 100644 --- a/rush.json +++ b/rush.json @@ -583,6 +583,12 @@ "packageName": "@snowplow/browser-plugin-button-click-tracking", "reviewCategory": "plugins", "versionPolicyName": "tracker" + }, + { + "packageName": "@snowplow/browser-plugin-event-specifications", + "projectFolder": "plugins/browser-plugin-event-specifications", + "reviewCategory": "plugins", + "versionPolicyName": "tracker" } ] } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index cf1cc757e..4d764da54 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -66,7 +66,8 @@ "tslib": "^2.3.1", "@snowplow/browser-plugin-enhanced-consent": "workspace:*", "@snowplow/browser-plugin-privacy-sandbox": "workspace:*", - "@snowplow/browser-plugin-button-click-tracking": "workspace:*" + "@snowplow/browser-plugin-button-click-tracking": "workspace:*", + "@snowplow/browser-plugin-event-specifications": "workspace:*" }, "devDependencies": { "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", diff --git a/trackers/javascript-tracker/src/features.ts b/trackers/javascript-tracker/src/features.ts index 4b2242ef8..89dda71c7 100644 --- a/trackers/javascript-tracker/src/features.ts +++ b/trackers/javascript-tracker/src/features.ts @@ -1,33 +1,3 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - import * as ClientHints from '@snowplow/browser-plugin-client-hints'; import * as Optimizely from '@snowplow/browser-plugin-optimizely'; import * as OptimizelyX from '@snowplow/browser-plugin-optimizely-x'; @@ -55,6 +25,7 @@ import * as SnowplowMedia from '@snowplow/browser-plugin-media'; import * as VimeoTracking from '@snowplow/browser-plugin-vimeo-tracking'; import * as PrivacySandbox from '@snowplow/browser-plugin-privacy-sandbox'; import * as ButtonClickTracking from '@snowplow/browser-plugin-button-click-tracking'; +import * as EventSpecifications from '@snowplow/browser-plugin-event-specifications'; /** * Calculates the required plugins to intialise per tracker @@ -221,5 +192,10 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { activatedPlugins.push([ButtonClickTrackingPlugin(), apiMethods]); } + if (plugins.eventSpecifications) { + const { EventSpecificationsPlugin, ...apiMethods } = EventSpecifications; + activatedPlugins.push([EventSpecificationsPlugin(), apiMethods]); + } + return activatedPlugins; } diff --git a/trackers/javascript-tracker/tracker.config.ts b/trackers/javascript-tracker/tracker.config.ts index 8ede57633..38e108a28 100644 --- a/trackers/javascript-tracker/tracker.config.ts +++ b/trackers/javascript-tracker/tracker.config.ts @@ -1,33 +1,3 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - export const performanceTiming = true; export const gaCookies = true; export const geolocation = true; @@ -52,3 +22,4 @@ export const snowplowMedia = false; export const vimeoTracking = false; export const privacySandbox = false; export const buttonClickTracking = false; +export const eventSpecifications = false; diff --git a/trackers/javascript-tracker/tracker.lite.config.ts b/trackers/javascript-tracker/tracker.lite.config.ts index c5cdf2eea..de44f917c 100644 --- a/trackers/javascript-tracker/tracker.lite.config.ts +++ b/trackers/javascript-tracker/tracker.lite.config.ts @@ -1,33 +1,3 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - export const performanceTiming = false; export const gaCookies = false; export const geolocation = false; @@ -52,3 +22,4 @@ export const snowplowMedia = false; export const vimeoTracking = false; export const privacySandbox = false; export const buttonClickTracking = false; +export const eventSpecifications = false; diff --git a/trackers/javascript-tracker/tracker.test.config.ts b/trackers/javascript-tracker/tracker.test.config.ts index 5d5d70725..87991cdf1 100644 --- a/trackers/javascript-tracker/tracker.test.config.ts +++ b/trackers/javascript-tracker/tracker.test.config.ts @@ -1,33 +1,3 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - export const performanceTiming = true; export const gaCookies = true; export const geolocation = true; @@ -52,3 +22,4 @@ export const snowplowMedia = true; export const vimeoTracking = true; export const privacySandbox = false; export const buttonClickTracking = true; +export const eventSpecifications = false; From 70104c4db7bfbc5798e0a4a43c848ad8049b3bbe Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Wed, 27 Mar 2024 19:56:17 +0100 Subject: [PATCH 010/277] Update webdriverio to 8.35 and saucelabs to 7.5 (#1301) --- ...e_wdio_and_saucelabs_2024-03-27-10-16.json | 10 + common/config/rush/pnpm-lock.yaml | 1307 +++++------------ common/config/rush/repo-state.json | 2 +- trackers/javascript-tracker/package.json | 22 +- 4 files changed, 408 insertions(+), 933 deletions(-) create mode 100644 common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json diff --git a/common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json b/common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json new file mode 100644 index 000000000..e9f48a168 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Update webdriverio to 8.35 and saucelabs to 7.5 (#1301)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 1d2d66312..841970094 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1688,15 +1688,15 @@ importers: '@types/node': ~14.6.0 '@types/node-fetch': '2' '@types/youtube': ~0.0.46 - '@wdio/cli': ~8.18.2 - '@wdio/globals': ~8.18.2 - '@wdio/jasmine-framework': ~8.18.2 - '@wdio/local-runner': ~8.18.2 - '@wdio/sauce-service': ~8.18.2 - '@wdio/shared-store-service': ~8.18.2 - '@wdio/spec-reporter': ~8.18.1 - '@wdio/static-server-service': ~8.17.0 - '@wdio/types': ~8.17.0 + '@wdio/cli': ~8.35.1 + '@wdio/globals': ~8.35.1 + '@wdio/jasmine-framework': ~8.35.1 + '@wdio/local-runner': ~8.35.1 + '@wdio/sauce-service': ~8.35.1 + '@wdio/shared-store-service': ~8.35.1 + '@wdio/spec-reporter': ~8.32.4 + '@wdio/static-server-service': ~8.32.4 + '@wdio/types': ~8.32.4 chalk: 4.1.2 chromedriver: ~114.0.0 dockerode: ~3.3.1 @@ -1714,7 +1714,7 @@ importers: rollup-plugin-sizes: ~1.0.4 rollup-plugin-terser: ~7.0.2 rollup-plugin-ts: ~2.0.5 - saucelabs: ~7.4.0 + saucelabs: ~7.5.0 ts-jest: ~27.1.3 ts-node: ~10.9.1 tslib: ^2.3.1 @@ -1722,7 +1722,7 @@ importers: wdio-chromedriver-service: ~8.1.1 wdio-edgedriver-service: ~3.0.3 wdio-safaridriver-service: ~2.1.1 - webdriverio: ~8.18.2 + webdriverio: ~8.35.1 dependencies: '@snowplow/browser-plugin-ad-tracking': link:../../plugins/browser-plugin-ad-tracking '@snowplow/browser-plugin-browser-features': link:../../plugins/browser-plugin-browser-features @@ -1767,15 +1767,15 @@ importers: '@types/node': 14.6.4 '@types/node-fetch': 2.6.4 '@types/youtube': 0.0.46 - '@wdio/cli': 8.18.2_typescript@4.6.2 - '@wdio/globals': 8.18.2_typescript@4.6.2 - '@wdio/jasmine-framework': 8.18.2_typescript@4.6.2 - '@wdio/local-runner': 8.18.2_typescript@4.6.2 - '@wdio/sauce-service': 8.18.2_typescript@4.6.2 - '@wdio/shared-store-service': 8.18.2_typescript@4.6.2 - '@wdio/spec-reporter': 8.18.1 - '@wdio/static-server-service': 8.17.0 - '@wdio/types': 8.17.0 + '@wdio/cli': 8.35.1_typescript@4.6.2 + '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/jasmine-framework': 8.35.1_typescript@4.6.2 + '@wdio/local-runner': 8.35.1_typescript@4.6.2 + '@wdio/sauce-service': 8.35.1_typescript@4.6.2 + '@wdio/shared-store-service': 8.35.1_typescript@4.6.2 + '@wdio/spec-reporter': 8.32.4 + '@wdio/static-server-service': 8.32.4 + '@wdio/types': 8.32.4 chalk: 4.1.2 chromedriver: 114.0.3 dockerode: 3.3.1 @@ -1793,14 +1793,14 @@ importers: rollup-plugin-sizes: 1.0.4_rollup@2.70.1 rollup-plugin-terser: 7.0.2_rollup@2.70.1 rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - saucelabs: 7.4.0 + saucelabs: 7.5.0 ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 typescript: 4.6.2 - wdio-chromedriver-service: 8.1.1_e56eb4ff7720135f2fea4d5c81e984e9 - wdio-edgedriver-service: 3.0.3_@wdio+types@8.17.0 - wdio-safaridriver-service: 2.1.1_4fb69569f1618470b3fa12973abeed28 - webdriverio: 8.18.2_typescript@4.6.2 + wdio-chromedriver-service: 8.1.1_82a50f9b94298870e694c5dcc288131d + wdio-edgedriver-service: 3.0.3_@wdio+types@8.32.4 + wdio-safaridriver-service: 2.1.1_0d8a82dcaf3d16fa8af174431bab2630 + webdriverio: 8.35.1_typescript@4.6.2 ../../trackers/node-tracker: specifiers: @@ -2403,11 +2403,11 @@ packages: jest-mock: 27.5.1 dev: true - /@jest/expect-utils/29.6.1: - resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} + /@jest/expect-utils/29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 dev: true /@jest/fake-timers/27.5.1: @@ -2469,8 +2469,8 @@ packages: - supports-color dev: true - /@jest/schemas/29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas/29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 @@ -2552,11 +2552,11 @@ packages: chalk: 4.1.2 dev: true - /@jest/types/29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + /@jest/types/29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.3 '@types/istanbul-reports': 3.0.0 '@types/node': 14.6.4 @@ -2599,6 +2599,10 @@ packages: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true + /@jridgewell/sourcemap-codec/1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + /@jridgewell/trace-mapping/0.3.15: resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==} dependencies: @@ -2617,7 +2621,7 @@ packages: resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 dev: true /@mdn/browser-compat-data/4.1.4: @@ -2838,11 +2842,6 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@sindresorhus/is/0.7.0: - resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} - engines: {node: '>=4'} - dev: true - /@sindresorhus/is/4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -3072,6 +3071,12 @@ packages: resolution: {integrity: sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==} dev: true + /@types/node/20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + dependencies: + undici-types: 5.26.5 + dev: true + /@types/node/20.3.3: resolution: {integrity: sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==} dev: true @@ -3347,35 +3352,43 @@ packages: weakmap-polyfill: 2.0.4 dev: false - /@wdio/cli/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-vjMedd7PEHZywxbRE/rHzAPbj+hsCJz5b7vPTXu9QuwH2wWU2ab79ZqQpaUMKwZx8yXJfG6neb89tEbF9ximqQ==} + /@vitest/snapshot/1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + dependencies: + magic-string: 0.30.8 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@wdio/cli/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-cdFmd6P/eQJdP2lChQ+Fa9b1c2p0bDIPmetVHGCuHiW8ZPkanrvBFtHMUhMu44a1koni9LvN/hu7vIJ/aAC+Rg==} engines: {node: ^16.13 || >=18} hasBin: true dependencies: '@types/node': 20.3.3 - '@wdio/config': 8.18.2 - '@wdio/globals': 8.18.2_typescript@4.6.2 - '@wdio/logger': 8.16.17 - '@wdio/protocols': 8.18.0 - '@wdio/types': 8.17.0 - '@wdio/utils': 8.18.2 + '@vitest/snapshot': 1.4.0 + '@wdio/config': 8.35.0 + '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/logger': 8.28.0 + '@wdio/protocols': 8.32.0 + '@wdio/types': 8.32.4 + '@wdio/utils': 8.35.0 async-exit-hook: 2.0.1 - chalk: 5.2.0 + chalk: 5.3.0 chokidar: 3.5.3 cli-spinners: 2.9.1 dotenv: 16.3.1 ejs: 3.1.9 execa: 8.0.1 - import-meta-resolve: 3.0.0 - inquirer: 9.2.11 + import-meta-resolve: 4.0.0 + inquirer: 9.2.12 lodash.flattendeep: 4.4.0 lodash.pickby: 4.6.0 lodash.union: 4.6.0 - read-pkg-up: 10.1.0 + read-pkg-up: 10.0.0 recursive-readdir: 2.2.3 - webdriverio: 8.18.2_typescript@4.6.2 + webdriverio: 8.35.1_typescript@4.6.2 yargs: 17.7.2 - yarn-install: 1.0.0 transitivePeerDependencies: - bufferutil - devtools @@ -3385,28 +3398,27 @@ packages: - utf-8-validate dev: true - /@wdio/config/8.18.2: - resolution: {integrity: sha512-O3K36Wk/G/P5t9NfI/jBjLMdJq1KEDQTmbLvrbRckqzX5SQmPFg2pg18gE9N3JQE4A7qR+imxVo45HmhFDyn4w==} + /@wdio/config/8.35.0: + resolution: {integrity: sha512-I36sBPMl/+LCyQ3Pwb8gGQM6KxwmUfhOPp16TxN21Qo/Bc0fZfyGIg6KevmRu4DuqpGUm5MMVSfyPhLUkMk3Cg==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 - '@wdio/utils': 8.18.2 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 + '@wdio/utils': 8.35.0 decamelize: 6.0.0 deepmerge-ts: 5.1.0 glob: 10.3.1 - import-meta-resolve: 3.0.0 - read-pkg-up: 10.1.0 + import-meta-resolve: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /@wdio/globals/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-hHZqqWlvEaVHru+e5bMXsTBbPqKi85JO5q2XKX+ixS4XWoZXoMjN5WzL/3N9GkF2mJqIkyb9DHUT0T2vvf3oNA==} + /@wdio/globals/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-T3IUFcKXRU9WWleAV72DGFWUiXSSr8SBvpc2cUJrvZ5Je9R2gEsrts5eHCY7amXtfeylfMgy5EayGMajgcna6A==} engines: {node: ^16.13 || >=18} optionalDependencies: - expect-webdriverio: 4.2.6_typescript@4.6.2 - webdriverio: 8.18.2_typescript@4.6.2 + expect-webdriverio: 4.12.2_typescript@4.6.2 + webdriverio: 8.35.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3416,16 +3428,16 @@ packages: - utf-8-validate dev: true - /@wdio/jasmine-framework/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-NB4U75PX6ZaVmskSHZriSFSFSEUqmzSjlZpjC0gm/an/FZGxeMflJlHLO8E8T2T8/xsYiWuin0OywFfPK/9anA==} + /@wdio/jasmine-framework/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-qHr/5aPawNpRhzHfljXNZHYeIrCYCp8IDjK6gX/sNbDdwX7OIw0BmboOVfkWYNDo6EI7pw7+xVmBaWAE3a7biQ==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.3.3 - '@wdio/globals': 8.18.2_typescript@4.6.2 - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 - '@wdio/utils': 8.18.2 - expect-webdriverio: 4.2.6_typescript@4.6.2 + '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 + '@wdio/utils': 8.35.0 + expect-webdriverio: 4.12.2_typescript@4.6.2 jasmine: 5.1.0 transitivePeerDependencies: - bufferutil @@ -3436,15 +3448,15 @@ packages: - utf-8-validate dev: true - /@wdio/local-runner/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-W5QRXmH+MngHEVktsX6WXyoP/WI3mSlN66E1xGYLtMVwPhp3wMXDIrk1K/0UCAViX7lQ3tvo0B2QoZhsAXVT+A==} + /@wdio/local-runner/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-PG+bADoY5VoWPmAfRi030rtxbFj68MVPlcwEN0dN1lDdYKz1ATzzGUK12sqCgGz1ktcC7sQzmJZVBklzbvn3mQ==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.3.3 - '@wdio/logger': 8.16.17 - '@wdio/repl': 8.10.1 - '@wdio/runner': 8.18.2_typescript@4.6.2 - '@wdio/types': 8.17.0 + '@wdio/logger': 8.28.0 + '@wdio/repl': 8.24.12 + '@wdio/runner': 8.35.1_typescript@4.6.2 + '@wdio/types': 8.32.4 async-exit-hook: 2.0.1 split2: 4.2.0 stream-buffers: 3.0.2 @@ -3467,43 +3479,53 @@ packages: strip-ansi: 7.1.0 dev: true - /@wdio/protocols/8.18.0: - resolution: {integrity: sha512-TABA0mksHvu5tE8qNYYDR0fDyo90NCANeghbGAtsI8TUsJzgH0dwpos3WSSiB97J9HRSZuWIMa7YuABEkBIjWQ==} + /@wdio/logger/8.28.0: + resolution: {integrity: sha512-/s6zNCqwy1hoc+K4SJypis0Ud0dlJ+urOelJFO1x0G0rwDRWyFiUP6ijTaCcFxAm29jYEcEPWijl2xkVIHwOyA==} + engines: {node: ^16.13 || >=18} + dependencies: + chalk: 5.3.0 + loglevel: 1.7.1 + loglevel-plugin-prefix: 0.8.4 + strip-ansi: 7.1.0 + dev: true + + /@wdio/protocols/8.32.0: + resolution: {integrity: sha512-inLJRrtIGdTz/YPbcsvpSvPlYQFTVtF3OYBwAXhG2FiP1ZwE1CQNLP/xgRGye1ymdGCypGkexRqIx3KBGm801Q==} dev: true - /@wdio/repl/8.10.1: - resolution: {integrity: sha512-VZ1WFHTNKjR8Ga97TtV2SZM6fvRjWbYI2i/f4pJB4PtusorKvONAMJf2LQcUBIyzbVobqr7KSrcjmSwRolI+yw==} + /@wdio/repl/8.24.12: + resolution: {integrity: sha512-321F3sWafnlw93uRTSjEBVuvWCxTkWNDs7ektQS15drrroL3TMeFOynu4rDrIz0jXD9Vas0HCD2Tq/P0uxFLdw==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.3.3 dev: true - /@wdio/reporter/8.17.0: - resolution: {integrity: sha512-U4GMgHjH+mgtwKUXHk1fYsIwET0NUvC5efWN8z/pSyzc93iHHzl1cY4FSAjND6KTnPFpxJB+3EamgQRpC2P92Q==} + /@wdio/reporter/8.32.4: + resolution: {integrity: sha512-kZXbyNuZSSpk4kBavDb+ac25ODu9NVZED6WwZafrlMSnBHcDkoMt26Q0Jp3RKUj+FTyuKH0HvfeLrwVkk6QKDw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.3.3 - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 + '@types/node': 20.11.30 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 diff: 5.0.0 object-inspect: 1.12.0 dev: true - /@wdio/runner/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-UPfvKA9yunEadHHDZwveZmKL0ayHDCkUegzUzgHFYmhnijUAa1Xeo837NpBe9y753TWt5PgRA4BIXSDlxJ9ySA==} + /@wdio/runner/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-5F6cbOYeZjF34Vsnycp5JPnDljI52fmyxsV2O/L3h6F2+83YXpbsqBplw/2G24JtIUudV7VOY/38bUicn1OyXg==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.3.3 - '@wdio/config': 8.18.2 - '@wdio/globals': 8.18.2_typescript@4.6.2 - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 - '@wdio/utils': 8.18.2 + '@types/node': 20.11.30 + '@wdio/config': 8.35.0 + '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 + '@wdio/utils': 8.35.0 deepmerge-ts: 5.1.0 - expect-webdriverio: 4.2.6_typescript@4.6.2 + expect-webdriverio: 4.12.2_typescript@4.6.2 gaze: 1.1.3 - webdriver: 8.18.2 - webdriverio: 8.18.2_typescript@4.6.2 + webdriver: 8.35.0 + webdriverio: 8.35.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3513,16 +3535,16 @@ packages: - utf-8-validate dev: true - /@wdio/sauce-service/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-lKSWJGrpqb0BBOCko8uf/aKu3jsLeJ3E3dZL/D97amVH7oXTo2XOWr3n8mbSxkJjEFRW3CtbQ9FgXVAcNmnVuQ==} + /@wdio/sauce-service/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-MEBJBNtS4/dvZ3P8m7ubfuwGFfWUihkLoEWOYH71ulfx6kez+N1pcw+oaAUuSbrv5sTxLOpTId5Y8eTtnfAOYg==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 - '@wdio/utils': 8.18.2 - ip: 1.1.8 - saucelabs: 7.2.2 - webdriverio: 8.18.2_typescript@4.6.2 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 + '@wdio/utils': 8.35.0 + ip: 2.0.1 + saucelabs: 7.5.0 + webdriverio: 8.35.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3532,16 +3554,16 @@ packages: - utf-8-validate dev: true - /@wdio/shared-store-service/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-zxbPVP/YAU4ZhqPeusUtAMvXWrT2xKtEcWTRWrvh42xzPQ0JIMx0GLMxatP+zyhciUIsT4yLEXTugX+sGiLrLQ==} + /@wdio/shared-store-service/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-qUetXFdXsnGx8tW7DGyReou7akjz5HfDUQAKm64r6OsFp8rZYgS4XZKtwvtXivuJgMOP/qdzYu6YSfi9E/2w5A==} engines: {node: ^16.13 || >=18} dependencies: '@polka/parse': 1.0.0-next.0 - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 got: 12.6.1 polka: 0.5.2 - webdriverio: 8.18.2_typescript@4.6.2 + webdriverio: 8.35.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3551,48 +3573,47 @@ packages: - utf-8-validate dev: true - /@wdio/spec-reporter/8.18.1: - resolution: {integrity: sha512-p6l8mR7K+l66QJl/m+sV9ahCp570ThaqxLc3npYDt5N4ut/qqDgqnwVU3qt0kwx/QMLrYLiXjjMKXqs6DkJTiA==} + /@wdio/spec-reporter/8.32.4: + resolution: {integrity: sha512-3TbD/KrK+EhUex5d5/11qSEKqyNiMHqm27my86tdiK0Ltt9pc/9Ybg1YBiWKlzV9U9MI4seVBRZCXltG17ky/A==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/reporter': 8.17.0 - '@wdio/types': 8.17.0 - chalk: 5.2.0 + '@wdio/reporter': 8.32.4 + '@wdio/types': 8.32.4 + chalk: 5.3.0 easy-table: 1.2.0 pretty-ms: 7.0.1 dev: true - /@wdio/static-server-service/8.17.0: - resolution: {integrity: sha512-EzivlQDF2/P5jqlp4+0PjwrVSkMAHtoXwcDfA+nabVyoxW/F6tHvooKGOL7gWQhO+T5C5JwMUmsF00KldHkZow==} + /@wdio/static-server-service/8.32.4: + resolution: {integrity: sha512-oAq7gEWjNLB6zSQllD/E7+Ij9+scsTLg2Y1JpgqOEvRF9PNOnef14uW10WzE0SbiUcEBEwDa0CmM+0NrKqW2Rg==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 express: 4.17.1 morgan: 1.10.0 dev: true - /@wdio/types/8.17.0: - resolution: {integrity: sha512-OkIpr5iHcwFXQpr4csXsiQ/WelX+Dhz/A8STFzoDQFYxMlR3nzm/S+Q1P4UoJfyhrNWlsFpLhShGK1cn+XUE5Q==} + /@wdio/types/8.32.4: + resolution: {integrity: sha512-pDPGcCvq0MQF8u0sjw9m4aMI2gAKn6vphyBB2+1IxYriL777gbbxd7WQ+PygMBvYVprCYIkLPvhUFwF85WakmA==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.3.3 dev: true - /@wdio/utils/8.18.2: - resolution: {integrity: sha512-TQrrKv+knFn4Z/T/e/+wdnBoykNBg6rfo0NsAwaWh4PbJ1tf+Dc9GjzWhvJTgHwZf4v78K8Z+77qkqoLCF1wSg==} + /@wdio/utils/8.35.0: + resolution: {integrity: sha512-9KCyn4aS+9tWfthnUkNFVe52AM6QrLGAeIxgGxNlzTAcQGl7jjwdDM7aSK0RjLkWI3a/88DRH21mN/t2LGDmPQ==} engines: {node: ^16.13 || >=18} dependencies: '@puppeteer/browsers': 1.7.1 - '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 + '@wdio/logger': 8.28.0 + '@wdio/types': 8.32.4 decamelize: 6.0.0 deepmerge-ts: 5.1.0 edgedriver: 5.3.8 - geckodriver: 4.2.1 + geckodriver: 4.3.3 get-port: 7.0.0 - got: 13.0.0 - import-meta-resolve: 3.0.0 + import-meta-resolve: 4.0.0 locate-app: 2.1.0 safaridriver: 0.1.0 split2: 4.2.0 @@ -3614,6 +3635,13 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true + /abort-controller/3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: true + /accepts/1.3.7: resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} engines: {node: '>= 0.6'} @@ -3752,11 +3780,6 @@ packages: engines: {node: '>=12'} dev: true - /ansi-styles/2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - dev: true - /ansi-styles/3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -3793,36 +3816,30 @@ packages: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} dev: true - /archive-type/4.0.0: - resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} - engines: {node: '>=4'} - dependencies: - file-type: 4.4.0 - dev: true - - /archiver-utils/4.0.1: - resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} - engines: {node: '>= 12.0.0'} + /archiver-utils/5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} dependencies: - glob: 8.1.0 + glob: 10.3.1 graceful-fs: 4.2.9 + is-stream: 2.0.1 lazystream: 1.0.0 lodash: 4.17.21 normalize-path: 3.0.0 - readable-stream: 3.6.0 + readable-stream: 4.5.2 dev: true - /archiver/6.0.1: - resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} - engines: {node: '>= 12.0.0'} + /archiver/7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} dependencies: - archiver-utils: 4.0.1 + archiver-utils: 5.0.2 async: 3.2.4 - buffer-crc32: 0.2.13 - readable-stream: 3.6.0 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 readdir-glob: 1.1.3 tar-stream: 3.1.6 - zip-stream: 5.0.1 + zip-stream: 6.0.1 dev: true /are-we-there-yet/1.1.7: @@ -3846,11 +3863,6 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /aria-query/5.0.0: - resolution: {integrity: sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==} - engines: {node: '>=6.0'} - dev: true - /aria-query/5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: @@ -3870,7 +3882,7 @@ packages: dev: true /array-flatten/1.1.1: - resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true /array-union/2.1.0: @@ -4082,6 +4094,34 @@ packages: resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} dev: true + /bare-events/2.2.2: + resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} + dev: true + optional: true + + /bare-fs/2.2.2: + resolution: {integrity: sha512-X9IqgvyB0/VA5OZJyb5ZstoN62AzD7YxVGog13kkfYWYqJYcK0kcqLZ6TrmH5qr4/8//ejVcX4x/a0UvaogXmA==} + requiresBuild: true + dependencies: + bare-events: 2.2.2 + bare-os: 2.2.1 + bare-path: 2.1.0 + streamx: 2.15.1 + dev: true + optional: true + + /bare-os/2.2.1: + resolution: {integrity: sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==} + dev: true + optional: true + + /bare-path/2.1.0: + resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==} + dependencies: + bare-os: 2.2.1 + dev: true + optional: true + /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -4273,6 +4313,11 @@ packages: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true + /buffer-crc32/1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + dev: true + /buffer-fill/1.0.0: resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} dev: true @@ -4293,6 +4338,13 @@ packages: ieee754: 1.2.1 dev: true + /buffer/6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + /buffers/0.1.1: resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} engines: {node: '>=0.2.0'} @@ -4312,19 +4364,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /cac/3.0.4: - resolution: {integrity: sha512-hq4rxE3NT5PlaEiVV39Z45d6MoFcQZG5dsgJqtAUeOz3408LEQAElToDkf9i5IYSCOmK0If/81dLg7nKxqPR0w==} - engines: {node: '>=4'} - dependencies: - camelcase-keys: 3.0.0 - chalk: 1.1.3 - indent-string: 3.2.0 - minimist: 1.2.8 - read-pkg-up: 1.0.1 - suffix: 0.1.1 - text-table: 0.2.0 - dev: true - /cacache/15.3.0: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} engines: {node: '>= 10'} @@ -4371,18 +4410,6 @@ packages: responselike: 3.0.0 dev: true - /cacheable-request/2.1.4: - resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} - dependencies: - clone-response: 1.0.2 - get-stream: 3.0.0 - http-cache-semantics: 3.8.1 - keyv: 3.0.0 - lowercase-keys: 1.0.0 - normalize-url: 2.0.1 - responselike: 1.0.2 - dev: true - /cacheable-request/7.0.2: resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} engines: {node: '>=8'} @@ -4427,19 +4454,6 @@ packages: tslib: 2.3.1 dev: true - /camelcase-keys/3.0.0: - resolution: {integrity: sha512-U4E6A6aFyYnNW+tDt5/yIUKQURKXe3WMFPfX4FxrQFcwZ/R08AUk1xWcUtlr7oq6CV07Ji+aa69V2g7BSpblnQ==} - engines: {node: '>=0.10.0'} - dependencies: - camelcase: 3.0.0 - map-obj: 1.0.1 - dev: true - - /camelcase/3.0.0: - resolution: {integrity: sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==} - engines: {node: '>=0.10.0'} - dev: true - /camelcase/5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -4479,17 +4493,6 @@ packages: traverse: 0.3.9 dev: true - /chalk/1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - dev: true - /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -4808,14 +4811,15 @@ packages: typescript: 4.6.2 dev: true - /compress-commons/5.0.1: - resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} - engines: {node: '>= 12.0.0'} + /compress-commons/6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} dependencies: crc-32: 1.2.0 - crc32-stream: 5.0.0 + crc32-stream: 6.0.0 + is-stream: 2.0.1 normalize-path: 3.0.0 - readable-stream: 3.6.0 + readable-stream: 4.5.2 dev: true /compressing/1.10.0: @@ -4887,7 +4891,7 @@ packages: dev: true /cookie-signature/1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true /cookie/0.4.0: @@ -4917,12 +4921,12 @@ packages: printj: 1.1.2 dev: true - /crc32-stream/5.0.0: - resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} - engines: {node: '>= 12.0.0'} + /crc32-stream/6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} dependencies: crc-32: 1.2.0 - readable-stream: 3.6.0 + readable-stream: 4.5.2 dev: true /create-require/1.1.1: @@ -4937,13 +4941,6 @@ packages: - encoding dev: true - /cross-spawn/4.0.2: - resolution: {integrity: sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==} - dependencies: - lru-cache: 4.1.5 - which: 1.3.1 - dev: true - /cross-spawn/6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -5094,72 +5091,12 @@ packages: engines: {node: '>=0.10'} dev: true - /decompress-response/3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} - dependencies: - mimic-response: 1.0.1 - dev: true - /decompress-response/6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 - /decompress-tar/4.1.1: - resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} - engines: {node: '>=4'} - dependencies: - file-type: 5.2.0 - is-stream: 1.1.0 - tar-stream: 1.6.2 - dev: true - - /decompress-tarbz2/4.1.1: - resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} - engines: {node: '>=4'} - dependencies: - decompress-tar: 4.1.1 - file-type: 6.2.0 - is-stream: 1.1.0 - seek-bzip: 1.0.6 - unbzip2-stream: 1.4.3 - dev: true - - /decompress-targz/4.1.1: - resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} - engines: {node: '>=4'} - dependencies: - decompress-tar: 4.1.1 - file-type: 5.2.0 - is-stream: 1.1.0 - dev: true - - /decompress-unzip/4.0.1: - resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} - engines: {node: '>=4'} - dependencies: - file-type: 3.9.0 - get-stream: 2.3.1 - pify: 2.3.0 - yauzl: 2.10.0 - dev: true - - /decompress/4.2.1: - resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} - engines: {node: '>=4'} - dependencies: - decompress-tar: 4.1.1 - decompress-tarbz2: 4.1.1 - decompress-targz: 4.1.1 - decompress-unzip: 4.0.1 - graceful-fs: 4.2.9 - make-dir: 1.3.0 - pify: 2.3.0 - strip-dirs: 2.1.0 - dev: true - /dedent/0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true @@ -5292,8 +5229,8 @@ packages: resolution: {integrity: sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==} dev: true - /devtools-protocol/0.0.1206220: - resolution: {integrity: sha512-zTcXveZkrQdpBwZzAd6spwu+WZet0hU+m/hAm7j61PDUQgG42YkMMdbFYqbDrxIiMTEgJInn70ck1Jl10RQ1aQ==} + /devtools-protocol/0.0.1273771: + resolution: {integrity: sha512-QDbb27xcTVReQQW/GHJsdQqGKwYBE7re7gxehj467kKP2DKuYBUj6i2k5LRiAC66J1yZG/9gsxooz/s9pcm0Og==} dev: true /diff-sequences/27.5.1: @@ -5301,8 +5238,8 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /diff-sequences/29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /diff-sequences/29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -5375,23 +5312,6 @@ packages: engines: {node: '>=12'} dev: true - /download/8.0.0: - resolution: {integrity: sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA==} - engines: {node: '>=10'} - dependencies: - archive-type: 4.0.0 - content-disposition: 0.5.3 - decompress: 4.2.1 - ext-name: 5.0.0 - file-type: 11.1.0 - filenamify: 3.0.0 - get-stream: 4.1.0 - got: 8.3.2 - make-dir: 2.1.0 - p-event: 2.3.1 - pify: 4.0.1 - dev: true - /duplexer/0.1.1: resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} dev: true @@ -5406,10 +5326,6 @@ packages: readable-stream: 2.3.7 dev: true - /duplexer3/0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - dev: true - /eastasianwidth/0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true @@ -5451,7 +5367,7 @@ packages: dev: true /ee-first/1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true /ejs/3.1.9: @@ -5801,6 +5717,16 @@ packages: engines: {node: '>= 0.6'} dev: true + /event-target-shim/5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: true + + /events/3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + /execa/5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -5841,16 +5767,18 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expect-webdriverio/4.2.6_typescript@4.6.2: - resolution: {integrity: sha512-/7wImWgef6ooZSoivXq6jkCDE1vvDC42WcM7Iyguspah/h384nprUdpQPLIUkkvTCorSQdYtRftNvHJjEpVUmA==} + /expect-webdriverio/4.12.2_typescript@4.6.2: + resolution: {integrity: sha512-tmfOzPWTWzGa0678Ru5qmGX1g8v3AtDdK4Ko64WV4l3jSrcudMTxCOyeY0LWSN30923BBqZaWJwlx/u+T6UNBw==} engines: {node: '>=16 || >=18 || >=20'} - requiresBuild: true dependencies: - expect: 29.6.1 - jest-matcher-utils: 29.6.1 + '@vitest/snapshot': 1.4.0 + expect: 29.7.0 + jest-matcher-utils: 29.7.0 + lodash.isequal: 4.5.0 optionalDependencies: - '@wdio/globals': 8.18.2_typescript@4.6.2 - webdriverio: 8.18.2_typescript@4.6.2 + '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/logger': 8.28.0 + webdriverio: 8.35.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -5870,16 +5798,15 @@ packages: jest-message-util: 27.5.1 dev: true - /expect/29.6.1: - resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} + /expect/29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.1 - '@types/node': 14.6.4 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.1 - jest-message-util: 29.6.1 - jest-util: 29.6.1 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 dev: true /express/4.17.1: @@ -5918,21 +5845,6 @@ packages: vary: 1.1.2 dev: true - /ext-list/2.2.2: - resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} - engines: {node: '>=0.10.0'} - dependencies: - mime-db: 1.44.0 - dev: true - - /ext-name/5.0.0: - resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} - engines: {node: '>=4'} - dependencies: - ext-list: 2.2.2 - sort-keys-length: 1.0.1 - dev: true - /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true @@ -6055,51 +5967,12 @@ packages: flat-cache: 3.0.4 dev: true - /file-type/11.1.0: - resolution: {integrity: sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g==} - engines: {node: '>=6'} - dev: true - - /file-type/3.9.0: - resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} - engines: {node: '>=0.10.0'} - dev: true - - /file-type/4.4.0: - resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} - engines: {node: '>=4'} - dev: true - - /file-type/5.2.0: - resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} - engines: {node: '>=4'} - dev: true - - /file-type/6.2.0: - resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} - engines: {node: '>=4'} - dev: true - /filelist/1.0.1: resolution: {integrity: sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==} dependencies: minimatch: 3.1.2 dev: true - /filename-reserved-regex/2.0.0: - resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} - engines: {node: '>=4'} - dev: true - - /filenamify/3.0.0: - resolution: {integrity: sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g==} - engines: {node: '>=6'} - dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.1 - trim-repeated: 1.0.0 - dev: true - /filesize/6.1.0: resolution: {integrity: sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==} engines: {node: '>= 0.4.0'} @@ -6130,14 +6003,6 @@ packages: unpipe: 1.0.0 dev: true - /find-up/1.1.2: - resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} - engines: {node: '>=0.10.0'} - dependencies: - path-exists: 2.1.0 - pinkie-promise: 2.0.1 - dev: true - /find-up/4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -6259,17 +6124,10 @@ packages: dev: true /fresh/0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} dev: true - /from2/2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.7 - dev: true - /fs-constants/1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true @@ -6366,18 +6224,18 @@ packages: globule: 1.3.2 dev: true - /geckodriver/4.2.1: - resolution: {integrity: sha512-4m/CRk0OI8MaANRuFIahvOxYTSjlNAO2p9JmE14zxueknq6cdtB5M9UGRQ8R9aMV0bLGNVHHDnDXmoXdOwJfWg==} + /geckodriver/4.3.3: + resolution: {integrity: sha512-we2c2COgxFkLVuoknJNx+ioP+7VDq0sr6SCqWHTzlA4kzIbzR0EQ1Pps34s8WrsOnQqPC8a4sZV9dRPROOrkSg==} engines: {node: ^16.13 || >=18 || >=20} hasBin: true requiresBuild: true dependencies: - '@wdio/logger': 8.16.17 + '@wdio/logger': 8.28.0 decamelize: 6.0.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 node-fetch: 3.3.2 - tar-fs: 3.0.4 + tar-fs: 3.0.5 unzipper: 0.10.14 which: 4.0.0 transitivePeerDependencies: @@ -6425,26 +6283,6 @@ packages: resolution: {integrity: sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw==} dev: true - /get-stream/2.3.1: - resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} - engines: {node: '>=0.10.0'} - dependencies: - object-assign: 4.1.1 - pinkie-promise: 2.0.1 - dev: true - - /get-stream/3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - dev: true - - /get-stream/4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - /get-stream/5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -6527,17 +6365,6 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob/8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - /globals/11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -6683,46 +6510,6 @@ packages: responselike: 3.0.0 dev: true - /got/13.0.0: - resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} - engines: {node: '>=16'} - dependencies: - '@sindresorhus/is': 5.3.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.12 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.0 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - dev: true - - /got/8.3.2: - resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} - engines: {node: '>=4'} - dependencies: - '@sindresorhus/is': 0.7.0 - cacheable-request: 2.1.4 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 3.0.0 - into-stream: 3.1.0 - is-retry-allowed: 1.2.0 - isurl: 1.0.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 0.4.1 - p-timeout: 2.0.1 - pify: 3.0.0 - safe-buffer: 5.2.1 - timed-out: 4.0.1 - url-parse-lax: 3.0.0 - url-to-options: 1.0.1 - dev: true - /graceful-fs/4.2.4: resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==} dev: true @@ -6756,13 +6543,6 @@ packages: har-schema: 2.0.0 dev: true - /has-ansi/2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: true - /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true @@ -6788,10 +6568,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /has-symbol-support-x/1.4.2: - resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} - dev: true - /has-symbols/1.0.1: resolution: {integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==} engines: {node: '>= 0.4'} @@ -6802,12 +6578,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /has-to-string-tag-x/1.4.1: - resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} - dependencies: - has-symbol-support-x: 1.4.2 - dev: true - /has-tostringtag/1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} @@ -6881,10 +6651,6 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /http-cache-semantics/3.8.1: - resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} - dev: true - /http-cache-semantics/4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -6921,8 +6687,8 @@ packages: - supports-color dev: true - /http-proxy-agent/7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + /http-proxy-agent/7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 @@ -6965,8 +6731,8 @@ packages: - supports-color dev: true - /https-proxy-agent/7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + /https-proxy-agent/7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 @@ -7050,8 +6816,8 @@ packages: resolve-cwd: 3.0.0 dev: true - /import-meta-resolve/3.0.0: - resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==} + /import-meta-resolve/4.0.0: + resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} dev: true /import-modules/2.1.0: @@ -7064,11 +6830,6 @@ packages: engines: {node: '>=0.8.19'} dev: true - /indent-string/3.2.0: - resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} - engines: {node: '>=4'} - dev: true - /indent-string/4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} @@ -7098,8 +6859,8 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /inquirer/9.2.11: - resolution: {integrity: sha512-B2LafrnnhbRzCWfAdOXisUzL89Kg8cVJlYmhqoi3flSiV/TveO+nsXwgKr9h9PIo+J1hz7nBSk6gegRIMBBf7g==} + /inquirer/9.2.12: + resolution: {integrity: sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==} engines: {node: '>=14.18.0'} dependencies: '@ljharb/through': 2.3.11 @@ -7128,14 +6889,6 @@ packages: side-channel: 1.0.4 dev: true - /into-stream/3.1.0: - resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} - engines: {node: '>=4'} - dependencies: - from2: 2.3.0 - p-is-promise: 1.1.0 - dev: true - /ip-regex/4.2.0: resolution: {integrity: sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A==} engines: {node: '>=8'} @@ -7145,9 +6898,8 @@ packages: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} dev: true - /ip/2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: true + /ip/2.0.1: + resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} /ipaddr.js/1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -7291,10 +7043,6 @@ packages: resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} dev: true - /is-natural-number/4.0.1: - resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} - dev: true - /is-negative-zero/2.0.1: resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} engines: {node: '>= 0.4'} @@ -7312,10 +7060,6 @@ packages: engines: {node: '>=0.12.0'} dev: true - /is-object/1.0.2: - resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} - dev: true - /is-path-cwd/2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} @@ -7326,11 +7070,6 @@ packages: engines: {node: '>=8'} dev: true - /is-plain-obj/1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - dev: true - /is-plain-obj/4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -7371,11 +7110,6 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-retry-allowed/1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} - dev: true - /is-set/2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: true @@ -7386,16 +7120,16 @@ packages: call-bind: 1.0.5 dev: true - /is-stream/1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-stream/2.0.0: resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==} engines: {node: '>=8'} dev: true + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + /is-stream/3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7445,10 +7179,6 @@ packages: resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: true - /is-utf8/0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true - /is-weakmap/2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: true @@ -7545,14 +7275,6 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /isurl/1.0.0: - resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} - engines: {node: '>= 4'} - dependencies: - has-to-string-tag-x: 1.4.1 - is-object: 1.0.2 - dev: true - /jackspeak/2.2.1: resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==} engines: {node: '>=14'} @@ -7772,14 +7494,14 @@ packages: pretty-format: 27.5.1 dev: true - /jest-diff/29.6.1: - resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} + /jest-diff/29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.1 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true /jest-docblock/27.5.1: @@ -7844,8 +7566,8 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /jest-get-type/29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + /jest-get-type/29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -7912,14 +7634,14 @@ packages: pretty-format: 27.5.1 dev: true - /jest-matcher-utils/29.6.1: - resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} + /jest-matcher-utils/29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.1 - jest-get-type: 29.4.3 - pretty-format: 29.6.1 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true /jest-message-util/26.6.2: @@ -7952,17 +7674,17 @@ packages: stack-utils: 2.0.5 dev: true - /jest-message-util/29.6.1: - resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} + /jest-message-util/29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.22.13 - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/stack-utils': 2.0.0 chalk: 4.1.2 graceful-fs: 4.2.9 micromatch: 4.0.4 - pretty-format: 29.6.1 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.5 dev: true @@ -8154,11 +7876,11 @@ packages: picomatch: 2.3.1 dev: true - /jest-util/29.6.1: - resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} + /jest-util/29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/node': 14.6.4 chalk: 4.1.2 ci-info: 3.3.0 @@ -8336,10 +8058,6 @@ packages: hasBin: true dev: true - /json-buffer/3.0.0: - resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} - dev: true - /json-buffer/3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -8417,12 +8135,6 @@ packages: resolution: {integrity: sha512-aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==} dev: true - /keyv/3.0.0: - resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} - dependencies: - json-buffer: 3.0.0 - dev: true - /keyv/4.5.2: resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} dependencies: @@ -8479,17 +8191,6 @@ packages: resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} dev: true - /load-json-file/1.1.0: - resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} - engines: {node: '>=0.10.0'} - dependencies: - graceful-fs: 4.2.9 - parse-json: 2.2.0 - pify: 2.3.0 - pinkie-promise: 2.0.1 - strip-bom: 2.0.0 - dev: true - /load-json-file/4.0.0: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} @@ -8553,6 +8254,10 @@ packages: resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} dev: true + /lodash.isequal/4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + /lodash.memoize/4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true @@ -8604,16 +8309,6 @@ packages: tslib: 2.3.1 dev: true - /lowercase-keys/1.0.0: - resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} - engines: {node: '>=0.10.0'} - dev: true - - /lowercase-keys/1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} - dev: true - /lowercase-keys/2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} @@ -8628,13 +8323,6 @@ packages: engines: {node: 14 || >=16.14} dev: true - /lru-cache/4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - dev: true - /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -8658,19 +8346,11 @@ packages: sourcemap-codec: 1.4.8 dev: true - /make-dir/1.3.0: - resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} - engines: {node: '>=4'} + /magic-string/0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} dependencies: - pify: 3.0.0 - dev: true - - /make-dir/2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - dependencies: - pify: 4.0.1 - semver: 5.7.1 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir/3.1.0: @@ -8721,11 +8401,6 @@ packages: p-defer: 1.0.0 dev: true - /map-obj/1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - dev: true - /matcher/5.0.0: resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8748,7 +8423,7 @@ packages: dev: true /media-typer/0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} dev: true @@ -8766,7 +8441,7 @@ packages: dev: true /merge-descriptors/1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true /merge-stream/2.0.0: @@ -9155,15 +8830,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /normalize-url/2.0.1: - resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} - engines: {node: '>=4'} - dependencies: - prepend-http: 2.0.0 - query-string: 5.1.1 - sort-keys: 2.0.0 - dev: true - /normalize-url/6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} @@ -9411,11 +9077,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /p-cancelable/0.4.1: - resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} - engines: {node: '>=4'} - dev: true - /p-cancelable/2.0.0: resolution: {integrity: sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==} engines: {node: '>=8'} @@ -9430,13 +9091,6 @@ packages: engines: {node: '>=4'} dev: true - /p-event/2.3.1: - resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} - engines: {node: '>=6'} - dependencies: - p-timeout: 2.0.1 - dev: true - /p-event/5.0.1: resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -9444,16 +9098,6 @@ packages: p-timeout: 5.0.2 dev: true - /p-finally/1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - - /p-is-promise/1.1.0: - resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} - engines: {node: '>=4'} - dev: true - /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -9510,13 +9154,6 @@ packages: aggregate-error: 4.0.0 dev: true - /p-timeout/2.0.1: - resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} - engines: {node: '>=4'} - dependencies: - p-finally: 1.0.0 - dev: true - /p-timeout/5.0.2: resolution: {integrity: sha512-sEmji9Yaq+Tw+STwsGAE56hf7gMy9p0tQfJojIAamB7WHJYJKf1qlsg9jqBWG8q9VCxKPhZaP/AcXwEoBcYQhQ==} engines: {node: '>=12'} @@ -9535,8 +9172,8 @@ packages: agent-base: 7.1.0 debug: 4.3.4 get-uri: 6.0.2 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 pac-resolver: 7.0.0 socks-proxy-agent: 8.0.2 transitivePeerDependencies: @@ -9599,13 +9236,6 @@ packages: callsites: 3.1.0 dev: true - /parse-json/2.2.0: - resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} - engines: {node: '>=0.10.0'} - dependencies: - error-ex: 1.3.2 - dev: true - /parse-json/4.0.0: resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} engines: {node: '>=4'} @@ -9663,13 +9293,6 @@ packages: tslib: 2.3.1 dev: true - /path-exists/2.1.0: - resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} - engines: {node: '>=0.10.0'} - dependencies: - pinkie-promise: 2.0.1 - dev: true - /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -9717,7 +9340,7 @@ packages: dev: true /path-to-regexp/0.1.7: - resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true /path-to-regexp/1.8.0: @@ -9726,15 +9349,6 @@ packages: isarray: 0.0.1 dev: true - /path-type/1.1.0: - resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} - engines: {node: '>=0.10.0'} - dependencies: - graceful-fs: 4.2.9 - pify: 2.3.0 - pinkie-promise: 2.0.1 - dev: true - /path-type/3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -9754,6 +9368,10 @@ packages: util: 0.10.4 dev: true + /pathe/1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + /pend/1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: true @@ -9787,33 +9405,11 @@ packages: hasBin: true dev: true - /pify/2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - /pify/3.0.0: resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} engines: {node: '>=4'} dev: true - /pify/4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true - - /pinkie-promise/2.0.1: - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} - engines: {node: '>=0.10.0'} - dependencies: - pinkie: 2.0.4 - dev: true - - /pinkie/2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} - dev: true - /pirates/4.0.4: resolution: {integrity: sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==} engines: {node: '>= 6'} @@ -9865,11 +9461,6 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prepend-http/2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} - dev: true - /pretty-format/26.6.2: resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} engines: {node: '>= 10'} @@ -9889,11 +9480,11 @@ packages: react-is: 17.0.1 dev: true - /pretty-format/29.6.1: - resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} + /pretty-format/29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true @@ -9964,8 +9555,8 @@ packages: dependencies: agent-base: 7.1.0 debug: 4.3.4 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 lru-cache: 7.18.3 pac-proxy-agent: 7.0.1 proxy-from-env: 1.1.0 @@ -9980,8 +9571,8 @@ packages: dependencies: agent-base: 7.1.0 debug: 4.3.4 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 lru-cache: 7.18.3 pac-proxy-agent: 7.0.1 proxy-from-env: 1.1.0 @@ -9994,10 +9585,6 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true - /pseudomap/1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - dev: true - /psl/1.8.0: resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} dev: true @@ -10050,15 +9637,6 @@ packages: resolution: {integrity: sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==} dev: true - /query-string/5.1.1: - resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} - engines: {node: '>=0.10.0'} - dependencies: - decode-uri-component: 0.2.2 - object-assign: 4.1.1 - strict-uri-encode: 1.1.0 - dev: true - /query-string/7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} @@ -10118,30 +9696,13 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true - /read-pkg-up/1.0.1: - resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} - engines: {node: '>=0.10.0'} - dependencies: - find-up: 1.1.2 - read-pkg: 1.1.0 - dev: true - - /read-pkg-up/10.1.0: - resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} + /read-pkg-up/10.0.0: + resolution: {integrity: sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==} engines: {node: '>=16'} dependencies: find-up: 6.3.0 read-pkg: 8.1.0 - type-fest: 4.4.0 - dev: true - - /read-pkg/1.1.0: - resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} - engines: {node: '>=0.10.0'} - dependencies: - load-json-file: 1.1.0 - normalize-package-data: 2.5.0 - path-type: 1.1.0 + type-fest: 3.13.1 dev: true /read-pkg/3.0.0: @@ -10184,6 +9745,17 @@ packages: util-deprecate: 1.0.2 dev: true + /readable-stream/4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: true + /readdir-glob/1.1.3: resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: @@ -10304,12 +9876,6 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /responselike/1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - dependencies: - lowercase-keys: 1.0.1 - dev: true - /responselike/2.0.0: resolution: {integrity: sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==} dependencies: @@ -10521,22 +10087,8 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /saucelabs/7.2.2: - resolution: {integrity: sha512-rxbazYeKw0RDoXnGCfTeY6or9QM42Nn/LcZyO4Wi11h1d5k7EkoXU58g6FrYZgC7+UtI1t4CZu5Z1a2F/YQzvg==} - hasBin: true - dependencies: - change-case: 4.1.2 - download: 8.0.0 - form-data: 4.0.0 - got: 11.8.6 - hash.js: 1.1.7 - query-string: 7.1.3 - tunnel: 0.0.6 - yargs: 17.7.1 - dev: true - - /saucelabs/7.4.0: - resolution: {integrity: sha512-8EQTiYd+ntJhrWGFCQt74RnhilRvyQLHC/VVlL5PweF/c5slIeY6A/XaIKBF25cLGZTnEKuexZmOewfPOi0mUQ==} + /saucelabs/7.5.0: + resolution: {integrity: sha512-wq89BtE7xb4ns7ApbgAshaUgXHlPoseytPTNwaVQNPwAaD+0klYpBrsCy/Lj77EJ+kf/vKvX1tjhRT67eDyCXg==} hasBin: true dependencies: change-case: 4.1.2 @@ -10546,7 +10098,7 @@ packages: hash.js: 1.1.7 query-string: 7.1.3 tunnel: 0.0.6 - yargs: 17.7.1 + yargs: 17.7.2 dev: true /saxes/5.0.1: @@ -10556,13 +10108,6 @@ packages: xmlchars: 2.2.0 dev: true - /seek-bzip/1.0.6: - resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} - hasBin: true - dependencies: - commander: 2.20.3 - dev: true - /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -10797,7 +10342,7 @@ packages: resolution: {integrity: sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: - ip: 2.0.0 + ip: 2.0.1 smart-buffer: 4.2.0 dev: true @@ -10805,31 +10350,10 @@ packages: resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: - ip: 2.0.0 + ip: 2.0.1 smart-buffer: 4.2.0 dev: true - /sort-keys-length/1.0.1: - resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} - engines: {node: '>=0.10.0'} - dependencies: - sort-keys: 1.1.2 - dev: true - - /sort-keys/1.1.2: - resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-obj: 1.1.0 - dev: true - - /sort-keys/2.0.0: - resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} - engines: {node: '>=4'} - dependencies: - is-plain-obj: 1.1.0 - dev: true - /source-map-support/0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -10993,11 +10517,6 @@ packages: queue-tick: 1.0.1 dev: true - /strict-uri-encode/1.1.0: - resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} - engines: {node: '>=0.10.0'} - dev: true - /strict-uri-encode/2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -11110,13 +10629,6 @@ packages: ansi-regex: 6.0.1 dev: true - /strip-bom/2.0.0: - resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} - engines: {node: '>=0.10.0'} - dependencies: - is-utf8: 0.2.1 - dev: true - /strip-bom/3.0.0: resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} engines: {node: '>=4'} @@ -11127,12 +10639,6 @@ packages: engines: {node: '>=8'} dev: true - /strip-dirs/2.1.0: - resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} - dependencies: - is-natural-number: 4.0.1 - dev: true - /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -11148,18 +10654,6 @@ packages: engines: {node: '>=8'} dev: true - /strip-outer/1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /suffix/0.1.1: - resolution: {integrity: sha512-j5uf6MJtMCfC4vBe5LFktSe4bGyNTBk7I2Kdri0jeLrcv5B9pWfxVa5JQpoxgtR8vaVB7bVxsWgnfQbX5wkhAA==} - engines: {node: '>=4'} - dev: true - /supertap/3.0.1: resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -11170,11 +10664,6 @@ packages: strip-ansi: 7.0.1 dev: true - /supports-color/2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - dev: true - /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -11230,6 +10719,16 @@ packages: tar-stream: 3.1.6 dev: true + /tar-fs/3.0.5: + resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==} + dependencies: + pump: 3.0.0 + tar-stream: 3.1.6 + optionalDependencies: + bare-fs: 2.2.2 + bare-path: 2.1.0 + dev: true + /tar-stream/1.6.2: resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} engines: {node: '>= 0.8.0'} @@ -11333,11 +10832,6 @@ packages: engines: {node: '>=4'} dev: true - /timed-out/4.0.1: - resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} - engines: {node: '>=0.10.0'} - dev: true - /tmp/0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -11402,13 +10896,6 @@ packages: resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} dev: true - /trim-repeated/1.0.0: - resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} - engines: {node: '>=0.10.0'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - /trouter/2.0.1: resolution: {integrity: sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==} engines: {node: '>=6'} @@ -11608,6 +11095,10 @@ packages: through: 2.3.8 dev: true + /undici-types/5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + /unique-filename/1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} dependencies: @@ -11668,18 +11159,6 @@ packages: punycode: 2.1.1 dev: true - /url-parse-lax/3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - dependencies: - prepend-http: 2.0.0 - dev: true - - /url-to-options/1.0.1: - resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} - engines: {node: '>= 4'} - dev: true - /userhome/1.0.0: resolution: {integrity: sha512-ayFKY3H+Pwfy4W98yPdtH1VqH4psDeyW8lYYFzfecR9d6hqLpqhecktvYR3SEEXt7vG0S1JEpciI3g94pMErig==} engines: {node: '>= 0.8.0'} @@ -11696,7 +11175,7 @@ packages: dev: true /utils-merge/1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} dev: true @@ -11811,7 +11290,7 @@ packages: defaults: 1.0.3 dev: true - /wdio-chromedriver-service/8.1.1_e56eb4ff7720135f2fea4d5c81e984e9: + /wdio-chromedriver-service/8.1.1_82a50f9b94298870e694c5dcc288131d: resolution: {integrity: sha512-pN3GiOkTIMnalfq4PJAHdX95pDp1orHnTY8W1fIbd6ok81ba97UjerTgS7lUDRUh1p0MAm35Ww0uc0/9wzB7SA==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11825,17 +11304,17 @@ packages: optional: true dependencies: '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 + '@wdio/types': 8.32.4 chromedriver: 114.0.3 fs-extra: 11.1.0 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.18.2_typescript@4.6.2 + webdriverio: 8.35.1_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true - /wdio-edgedriver-service/3.0.3_@wdio+types@8.17.0: + /wdio-edgedriver-service/3.0.3_@wdio+types@8.32.4: resolution: {integrity: sha512-oHKUFnh9Nn4s749Yl8hp20xvfF8GnK4jNV84qoy52/a0ETgWh0FG5qlRVXBIqIulqhGlfrCgL5/pIizMnEix1w==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11845,7 +11324,7 @@ packages: optional: true dependencies: '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 + '@wdio/types': 8.32.4 edgedriver: 5.3.8 get-port: 7.0.0 split2: 4.2.0 @@ -11854,7 +11333,7 @@ packages: - supports-color dev: true - /wdio-safaridriver-service/2.1.1_4fb69569f1618470b3fa12973abeed28: + /wdio-safaridriver-service/2.1.1_0d8a82dcaf3d16fa8af174431bab2630: resolution: {integrity: sha512-Rz8uls7EY0bHOZJpykmAMIQzT0gNe6lg32XdCjO/ppSvscWKP57lePGWD80RCU4kKnwX1TbrTivqfjl6vK/1rQ==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11867,12 +11346,12 @@ packages: '@types/split2': 4.2.1 '@types/tcp-port-used': 1.0.1 '@wdio/logger': 8.16.17 - '@wdio/types': 8.17.0 + '@wdio/types': 8.32.4 fs-extra: 11.1.1 safaridriver: 0.0.6 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.18.2_typescript@4.6.2 + webdriverio: 8.35.1_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true @@ -11891,17 +11370,17 @@ packages: resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} dev: false - /webdriver/8.18.2: - resolution: {integrity: sha512-7xr8K2jlrRdhqK6LLHrg96OiccWT5EeBIQXk9xAifgIbs6l/JfzCjC9WqC0AmX9plXjR8wf2LS+Ob9Ajhx6v+A==} + /webdriver/8.35.0: + resolution: {integrity: sha512-D13EroddIXDqdq3jgO8j6sorgTWqTwEiTqwlDoJizpRIgHGBy+UjkNM7XW1yVcvt8gsD2Dei2LQth2tJEnu5Ng==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.3.3 + '@types/node': 20.11.30 '@types/ws': 8.5.4 - '@wdio/config': 8.18.2 - '@wdio/logger': 8.16.17 - '@wdio/protocols': 8.18.0 - '@wdio/types': 8.17.0 - '@wdio/utils': 8.18.2 + '@wdio/config': 8.35.0 + '@wdio/logger': 8.28.0 + '@wdio/protocols': 8.32.0 + '@wdio/types': 8.32.4 + '@wdio/utils': 8.35.0 deepmerge-ts: 5.1.0 got: 12.6.1 ky: 0.33.2 @@ -11912,8 +11391,8 @@ packages: - utf-8-validate dev: true - /webdriverio/8.18.2_typescript@4.6.2: - resolution: {integrity: sha512-vX+U4QH9HdyT3upcOzP6YMpnAA1oZJJAZetvf9aWZ9KnBzgkL60LiZ/q9xCX+VWYKEIvNZ66ekppbuZ8FpobIQ==} + /webdriverio/8.35.1_typescript@4.6.2: + resolution: {integrity: sha512-YAuKR4JERGiMqCJmm5fEVZ160iiFPyupwALqfXfzrYVcEmKltKPFY/oUCArmi6Uzqd+Sa2Kp9WZtz2Eu1R76JA==} engines: {node: ^16.13 || >=18} peerDependencies: devtools: ^8.14.0 @@ -11922,19 +11401,19 @@ packages: optional: true dependencies: '@types/node': 20.3.3 - '@wdio/config': 8.18.2 - '@wdio/logger': 8.16.17 - '@wdio/protocols': 8.18.0 - '@wdio/repl': 8.10.1 - '@wdio/types': 8.17.0 - '@wdio/utils': 8.18.2 - archiver: 6.0.1 - aria-query: 5.0.0 + '@wdio/config': 8.35.0 + '@wdio/logger': 8.28.0 + '@wdio/protocols': 8.32.0 + '@wdio/repl': 8.24.12 + '@wdio/types': 8.32.4 + '@wdio/utils': 8.35.0 + archiver: 7.0.1 + aria-query: 5.1.3 css-shorthand-properties: 1.1.1 css-value: 0.0.1 - devtools-protocol: 0.0.1206220 + devtools-protocol: 0.0.1273771 grapheme-splitter: 1.0.4 - import-meta-resolve: 3.0.0 + import-meta-resolve: 4.0.0 is-plain-obj: 4.1.0 lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 @@ -11944,7 +11423,7 @@ packages: resq: 1.10.0 rgb2hex: 0.2.5 serialize-error: 11.0.2 - webdriver: 8.18.2 + webdriver: 8.35.0 transitivePeerDependencies: - bufferutil - encoding @@ -12160,10 +11639,6 @@ packages: engines: {node: '>=10'} dev: true - /yallist/2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - dev: true - /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true @@ -12235,16 +11710,6 @@ packages: yargs-parser: 21.1.1 dev: true - /yarn-install/1.0.0: - resolution: {integrity: sha512-VO1u181msinhPcGvQTVMnHVOae8zjX/NSksR17e6eXHRveDvHCF5mGjh9hkN8mzyfnCqcBe42LdTs7bScuTaeg==} - engines: {node: '>=6'} - hasBin: true - dependencies: - cac: 3.0.4 - chalk: 1.1.3 - cross-spawn: 4.0.2 - dev: true - /yauzl/2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} dependencies: @@ -12273,13 +11738,13 @@ packages: engines: {node: '>=12.20'} dev: true - /zip-stream/5.0.1: - resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} - engines: {node: '>= 12.0.0'} + /zip-stream/6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} dependencies: - archiver-utils: 4.0.1 - compress-commons: 5.0.1 - readable-stream: 3.6.0 + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.5.2 dev: true registry: '' diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 70bc15013..be94150f3 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "f6cae2db0ae08480e3fe1d76ae3cc79d521dbfb7", + "pnpmShrinkwrapHash": "6878f624e4c72a458a7edb7f43bc828ee7e4575a", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 4d764da54..6e600d813 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -81,13 +81,13 @@ "@types/jsdom": "~16.2.14", "@types/lodash": "~4.14.180", "@types/node": "~14.6.0", - "@wdio/cli": "~8.18.2", - "@wdio/jasmine-framework": "~8.18.2", - "@wdio/local-runner": "~8.18.2", - "@wdio/sauce-service": "~8.18.2", - "@wdio/spec-reporter": "~8.18.1", - "@wdio/static-server-service": "~8.17.0", - "@wdio/types": "~8.17.0", + "@wdio/cli": "~8.35.1", + "@wdio/jasmine-framework": "~8.35.1", + "@wdio/local-runner": "~8.35.1", + "@wdio/sauce-service": "~8.35.1", + "@wdio/spec-reporter": "~8.32.4", + "@wdio/static-server-service": "~8.32.4", + "@wdio/types": "~8.32.4", "chalk": "4.1.2", "chromedriver": "~114.0.0", "dockerode": "~3.3.1", @@ -104,16 +104,16 @@ "rollup-plugin-sizes": "~1.0.4", "rollup-plugin-terser": "~7.0.2", "rollup-plugin-ts": "~2.0.5", - "saucelabs": "~7.4.0", + "saucelabs": "~7.5.0", "ts-jest": "~27.1.3", "ts-node": "~10.9.1", "typescript": "~4.6.2", "wdio-chromedriver-service": "~8.1.1", - "webdriverio": "~8.18.2", - "@wdio/shared-store-service": "~8.18.2", + "webdriverio": "~8.35.1", + "@wdio/shared-store-service": "~8.35.1", "node-fetch": "2", "@types/node-fetch": "2", - "@wdio/globals": "~8.18.2", + "@wdio/globals": "~8.35.1", "wdio-safaridriver-service": "~2.1.1", "wdio-edgedriver-service": "~3.0.3", "@types/youtube": "~0.0.46" From 784a924abe5813111e6f134c862689f12f385b6a Mon Sep 17 00:00:00 2001 From: Remo Vetere Date: Tue, 26 Mar 2024 11:47:14 +0100 Subject: [PATCH 011/277] Cache browser properties and use the ResizeObserver to update when changed (close #1295) PR #1294 --- ...d_browser_properties_2024-03-27-10-36.json | 10 +++ .../src/helpers/browser_props.ts | 63 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json b/common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json new file mode 100644 index 000000000..ad7b5ed6b --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Cache browser properties and use the ResizeObserver to update when changed (#1295) thanks to @rvetere", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} diff --git a/libraries/browser-tracker-core/src/helpers/browser_props.ts b/libraries/browser-tracker-core/src/helpers/browser_props.ts index 4c74d3ab7..41250364a 100644 --- a/libraries/browser-tracker-core/src/helpers/browser_props.ts +++ b/libraries/browser-tracker-core/src/helpers/browser_props.ts @@ -1,7 +1,70 @@ +interface BrowserProperties { + viewport?: string | null; + documentSize?: string | null; + resolution?: string | null; + colorDepth: number; + devicePixelRatio: number; + cookiesEnabled: boolean; + online: boolean; + browserLanguage: string; + documentLanguage: string; + webdriver: boolean; + deviceMemory?: number; // Optional because it's not supported in all browsers + hardwareConcurrency?: number; +} + +function useResizeObserver(): boolean { + return 'ResizeObserver' in window; +} + +let resizeObserverInitialized = false; +function initializeResizeObserver() { + if (resizeObserverInitialized) { + return; + } + resizeObserverInitialized = true; + + const resizeObserver = new ResizeObserver((entries) => { + for (let entry of entries) { + if (entry.target === document.body || entry.target === document.documentElement) { + cachedProperties = readBrowserProperties(); + } + } + }); + resizeObserver.observe(document.body); + resizeObserver.observe(document.documentElement); +} + +let cachedProperties: BrowserProperties; + /* Separator used for dimension values e.g. widthxheight */ const DIMENSION_SEPARATOR = 'x'; +/** + * Gets various browser properties (that are expensive to read!) + * - Will use a "ResizeObserver" approach in modern browsers to update cached properties only on change + * - Will fallback to a direct read approach without cache in old browsers + * + * @returns BrowserProperties + */ export function getBrowserProperties() { + if (!useResizeObserver()) { + return readBrowserProperties(); + } + + if (!cachedProperties) { + cachedProperties = readBrowserProperties(); + } + initializeResizeObserver(); + return cachedProperties; +} + +/** + * Reads the browser properties - expensive call! + * + * @returns BrowserProperties + */ +function readBrowserProperties(): BrowserProperties { return { viewport: floorDimensionFields(detectViewport()), documentSize: floorDimensionFields(detectDocumentSize()), From 1dbf7d5c277841f46ba4bcd2bdb09ea083773b77 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 28 Mar 2024 10:11:21 +0200 Subject: [PATCH 012/277] Prepare for release --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 99a3e95f3..69d504834 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -42,6 +42,6 @@ * * Valid values are: "prerelease", "release", "minor", "patch", "major" */ - "nextBump": "patch" + "nextBump": "minor" } ] From 6658db02ca69505a3e1ee28223efefa08e6ecee6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 11:28:45 +0000 Subject: [PATCH 013/277] Update changelogs [skip ci] --- ...-specifications-plugin_2024-03-25-10-48.json | 10 ---------- ...hed_browser_properties_2024-03-27-10-36.json | 10 ---------- ...-specifications-plugin_2024-03-25-10-48.json | 10 ---------- ...ate_wdio_and_saucelabs_2024-03-27-10-16.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 9 ++++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- .../browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ .../browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 17 +++++++++++++++++ .../CHANGELOG.md | 11 +++++++++++ .../browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- .../browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ .../browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- .../browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- .../browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ .../browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- .../browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- .../browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ .../browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 15 +++++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 10 +++++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 72 files changed, 444 insertions(+), 73 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json delete mode 100644 common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json create mode 100644 plugins/browser-plugin-event-specifications/CHANGELOG.json create mode 100644 plugins/browser-plugin-event-specifications/CHANGELOG.md diff --git a/common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json b/common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json deleted file mode 100644 index 76c39e445..000000000 --- a/common/changes/@snowplow/browser-plugin-event-specifications/feature-event-specifications-plugin_2024-03-25-10-48.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-event-specifications", - "comment": "Created", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-event-specifications" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json b/common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json deleted file mode 100644 index ad7b5ed6b..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-cached_browser_properties_2024-03-27-10-36.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Cache browser properties and use the ResizeObserver to update when changed (#1295) thanks to @rvetere", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} diff --git a/common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json b/common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json deleted file mode 100644 index 1bd5a8576..000000000 --- a/common/changes/@snowplow/javascript-tracker/feature-event-specifications-plugin_2024-03-25-10-48.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Additions for the Event Specifications plugin", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json b/common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json deleted file mode 100644 index e9f48a168..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-update_wdio_and_saucelabs_2024-03-27-10-16.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Update webdriverio to 8.35 and saucelabs to 7.5 (#1301)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 40a9728f9..3a7cbe6cf 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-tracker-core_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": { + "none": [ + { + "comment": "Cache browser properties and use the ResizeObserver to update when changed (#1295) thanks to @rvetere" + } + ] + } + }, { "version": "3.22.1", "tag": "@snowplow/browser-tracker-core_v3.22.1", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 4f12a8314..b598826f1 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +### Updates + +- Cache browser properties and use the ResizeObserver to update when changed (#1295) thanks to @rvetere ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index a2531a70b..2e59239c8 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/tracker-core_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/tracker-core_v3.22.1", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index d71e32e13..df754d464 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 7655e6fee..207a2446e 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-ad-tracking_v3.22.1", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 4a74afead..ffd5b0e15 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 43ed3ffc9..3f6880df9 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-browser-features_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-browser-features_v3.22.1", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 2f5876693..713e7ca71 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index e6b5ff57e..650d44970 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.22.1", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 21bc695d8..dee854e79 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index b031ddca9..52e4cc36b 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-client-hints_v3.22.1", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 7c6ee1588..4f1757939 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index d802eb9eb..10948d425 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-consent_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-consent_v3.22.1", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index e3d4e4185..26af6ff45 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index f561d4d1d..6609c34ef 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-debugger_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-debugger_v3.22.1", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index ef26b0fbe..6c6eee3a8 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 8e53f92e8..5f460d0eb 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-ecommerce_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-ecommerce_v3.22.1", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index bd5960498..0e909e4d5 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index b514cb592..9fb25a331 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.22.1", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 93358ebe3..52f42a30b 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index d2db0ef4d..29f0251ec 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.22.1", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 14fb0f5b6..bc4ad559c 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 280b57881..3aee8f5c1 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-error-tracking_v3.22.1", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 75d56fe5f..e2a222add 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json new file mode 100644 index 000000000..46ac15bb4 --- /dev/null +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@snowplow/browser-plugin-event-specifications", + "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-event-specifications_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": { + "none": [ + { + "comment": "Created" + } + ] + } + } + ] +} diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md new file mode 100644 index 000000000..a11b05c0f --- /dev/null +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @snowplow/browser-plugin-event-specifications + +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +### Updates + +- Created + diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index b5e968a15..d50ebd006 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-focalmeter_v3.22.1", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 722d08042..9381b5f37 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 81fc447fa..1010c6004 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-form-tracking_v3.22.1", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index f8ce1c502..bb6c310cc 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 4139e3592..e226c6db3 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-ga-cookies_v3.22.1", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 9489726d9..137bd1f2d 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 26da40bf5..9b794235b 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-geolocation_v3.22.1", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 5f4b4f4db..c7bb6d91e 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 82cddfc1b..3d99a0b26 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.22.1", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 2965e59e5..903f8e606 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index b4f071e55..f6ff84634 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-media-tracking_v3.22.1", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index ee302a4ef..07aa3c7c5 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 0d67ee4d5..60e59dd4c 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-media_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-media_v3.22.1", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 6ba513931..9cb3ca138 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index fb28ceec1..65b990cef 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-optimizely-x_v3.22.1", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 3a336a877..0c5fb1b22 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 05cb95d89..dc5f4a6d0 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-optimizely_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-optimizely_v3.22.1", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index ad2ee2c54..c035e465d 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index ff540cdcd..95f19673b 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.22.1", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index a9490d897..be60ae7f2 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index b1d49325c..4048d7db9 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-performance-timing_v3.22.1", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 40c42e0f5..49d5eff7f 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 9d7724411..7cca97b87 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.22.1", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 8d854c498..c5961d80e 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 1fc904965..bc488ebc5 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-site-tracking_v3.22.1", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index e099067b8..f27b4f70f 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 4a1eba925..2c4500ff5 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.22.1", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 2317eb6d6..5c31e737f 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 5afcc3c8e..74a6fa942 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-timezone_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-timezone_v3.22.1", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 236583dfb..6888083ac 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index eb4969ab0..057486d70 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.22.1", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 9e0795edb..a21bb9992 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 09dbe3826..9fab4f80b 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-web-vitals_v3.22.1", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 3080e6ace..d866a1e76 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 5f0e97b25..b372a724a 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.22.1", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 91bfb2355..26c8345ac 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 2b1d9e01f..5dc27b64b 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/browser-tracker_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/browser-tracker_v3.22.1", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 1afe841bf..9ac53b6bf 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 612c2a311..ec2fec2a9 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/javascript-tracker_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": { + "none": [ + { + "comment": "Additions for the Event Specifications plugin" + }, + { + "comment": "Update webdriverio to 8.35 and saucelabs to 7.5 (#1301)" + } + ] + } + }, { "version": "3.22.1", "tag": "@snowplow/javascript-tracker_v3.22.1", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 0d5fb871d..772fad92b 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +### Updates + +- Additions for the Event Specifications plugin +- Update webdriverio to 8.35 and saucelabs to 7.5 (#1301) ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index a8a888141..b182f9d5b 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.23.0", + "tag": "@snowplow/node-tracker_v3.23.0", + "date": "Thu, 28 Mar 2024 11:28:45 GMT", + "comments": {} + }, { "version": "3.22.1", "tag": "@snowplow/node-tracker_v3.22.1", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index d30468184..26bad4ab3 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Wed, 13 Mar 2024 08:39:48 GMT and should not be manually modified. +This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. + +## 3.23.0 +Thu, 28 Mar 2024 11:28:45 GMT + +_Version update only_ ## 3.22.1 Wed, 13 Mar 2024 08:39:48 GMT From 8cab21f01ec437ee9e00f673044341f25d26f6b2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 11:28:45 +0000 Subject: [PATCH 014/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 69d504834..76adf2620 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.22.1", + "version": "3.23.0", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 2c3d29b88..98e16edde 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.22.1", + "version": "3.23.0", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 7ff914f71..f6d9e3663 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.22.1", + "version": "3.23.0", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index 32dc4531f..e2ab43cf9 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 0bd0b595b..1f4825451 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 73e1b7572..2991a8557 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 7b820559f..35ade71b6 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 5fdc7a31e..a9e6d0b00 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.22.1", + "version": "3.23.0", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 417efd4b4..353f0ca98 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.22.1", + "version": "3.23.0", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 134076c85..19151af3a 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.22.1", + "version": "3.23.0", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index cc819a708..7e0b42138 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.22.1", + "version": "3.23.0", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index b3b6f39b9..9a678dba2 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.22.1", + "version": "3.23.0", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 2e004973d..0c2baf6a6 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index 3c39c1dfc..a0bfdd171 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.22.1", + "version": "3.23.0", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 0955fce7e..b7881c179 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.22.1", + "version": "3.23.0", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 794ae322c..0556c1eb5 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index ee710bee8..daca08a7a 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 7d0cacaff..48db9ead4 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index dc2c5656a..1c5fbf0f7 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 4262806da..c851ada05 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 2fab18c54..1a4fe3e75 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.22.1", + "version": "3.23.0", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index a007a4140..4cb437c37 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index e4a83a377..d23b3dc32 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 303d6ea5f..d381b46cd 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index e18d41d41..c53a12ba9 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 0f414182f..b720f4e08 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.22.1", + "version": "3.23.0", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 617b2a303..1f95fdcf3 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index cf4d5126d..311efbbf6 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.22.1", + "version": "3.23.0", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 816dbc787..3e19c6025 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.22.1", + "version": "3.23.0", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index da269c748..f382db7de 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 3b2b5b6e0..14c291ccc 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.22.1", + "version": "3.23.0", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 5e3f52856..76b5c4cc6 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.22.1", + "version": "3.23.0", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.22.1" + "@snowplow/browser-tracker": "~3.23.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 5e5e35006..149e2fd7d 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.22.1", + "version": "3.23.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 6e600d813..0325482f3 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.22.1", + "version": "3.23.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 56bea24f4..f64a7b624 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.22.1", + "version": "3.23.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 1a073e4ef57cce3d5307ec2ed7a9f1e3a022ff9f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 11:32:11 +0000 Subject: [PATCH 015/277] Applying documentation updates. From 1a459986b0129d40276ab9dd1ab73a85030bf44c Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Wed, 29 May 2024 11:30:28 +1000 Subject: [PATCH 016/277] browser-plugin-media-tracking: adjust fileExtension extraction --- ...PE-6330-file_ext_fix_2024-05-29-01-32.json | 10 ++++ .../src/buildMediaEvent.ts | 10 +++- .../src/contexts.ts | 2 +- .../src/helperFunctions.ts | 15 ++++++ .../test/media.test.ts | 49 ++++++++++++++++++- 5 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json b/common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json new file mode 100644 index 000000000..87b222aff --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media-tracking", + "comment": "Adjust extraction of media_element.fileExtension from source URIs.", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts b/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts index 2e92772d5..1223ed88c 100644 --- a/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts +++ b/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts @@ -1,6 +1,12 @@ import { eventNames, NETWORK_STATE, READY_STATE } from './constants'; import { MediaElement, MediaPlayer, MediaPlayerEvent, VideoElement } from './contexts'; -import { dataUrlHandler, isElementFullScreen, textTrackListToJson, timeRangesToObjectArray } from './helperFunctions'; +import { + dataUrlHandler, + getUriFileExtension, + isElementFullScreen, + textTrackListToJson, + timeRangesToObjectArray, +} from './helperFunctions'; import { EventDetail, MediaEntities, MediaEventData, TrackingOptions } from './types'; export function buildMediaEvent( @@ -60,7 +66,7 @@ function getHTMLMediaElementEntities(el: HTMLAudioElement | HTMLVideoElement, co seeking: el.seeking, src: dataUrlHandler(el.src || el.currentSrc), textTracks: textTrackListToJson(el.textTracks), - fileExtension: el.currentSrc.split('.').pop() as string, + fileExtension: getUriFileExtension(el.currentSrc), fullscreen: isElementFullScreen(el.id), pictureInPicture: document.pictureInPictureElement?.id === el.id, }; diff --git a/plugins/browser-plugin-media-tracking/src/contexts.ts b/plugins/browser-plugin-media-tracking/src/contexts.ts index c69ce97ee..807c55560 100644 --- a/plugins/browser-plugin-media-tracking/src/contexts.ts +++ b/plugins/browser-plugin-media-tracking/src/contexts.ts @@ -112,7 +112,7 @@ export interface MediaElement { /** * The media file format **/ - fileExtension: string; + fileExtension: string | null; /** * If the video element is fullscreen diff --git a/plugins/browser-plugin-media-tracking/src/helperFunctions.ts b/plugins/browser-plugin-media-tracking/src/helperFunctions.ts index dd54d6395..1d0653c4f 100644 --- a/plugins/browser-plugin-media-tracking/src/helperFunctions.ts +++ b/plugins/browser-plugin-media-tracking/src/helperFunctions.ts @@ -46,6 +46,21 @@ export function boundaryErrorHandling(boundaries: number[]): number[] { return boundaries; } +export function getUriFileExtension(uri: string): string | null { + // greedily match until the final '.' is found with trailing characters, capture those as extension + // only capture until finding URI metacharacters + const pattern = /.+\.([^\.?&#]+)/; + + let uriPath = uri; + try { + uriPath = new URL(uri).pathname; + } catch (e) {} + + // try to match against the pathname only first, if unsuccessful try against the full URI + const match = pattern.exec(uriPath) || pattern.exec(uri); + return match && match[1]; +} + export function trackingOptionsParser(id: string, trackingOptions?: MediaTrackingOptions): TrackingOptions { const defaults: TrackingOptions = { id: id, diff --git a/plugins/browser-plugin-media-tracking/test/media.test.ts b/plugins/browser-plugin-media-tracking/test/media.test.ts index f7a1dae8b..7bc7eb26a 100644 --- a/plugins/browser-plugin-media-tracking/test/media.test.ts +++ b/plugins/browser-plugin-media-tracking/test/media.test.ts @@ -30,7 +30,12 @@ import { AllEvents, DefaultEvents } from '../src/eventGroups'; import { findMediaElem } from '../src/findMediaElement'; -import { boundaryErrorHandling, dataUrlHandler, trackingOptionsParser } from '../src/helperFunctions'; +import { + boundaryErrorHandling, + dataUrlHandler, + getUriFileExtension, + trackingOptionsParser, +} from '../src/helperFunctions'; import { MediaTrackingOptions, TrackingOptions } from '../src/types'; describe('config parser', () => { @@ -192,3 +197,45 @@ describe('dataUrlHandler', () => { expect(output).toBe('DATA_URL'); }); }); + +describe('getUriFileExtension', () => { + it('parses simple URLs', () => { + const test_url = 'http://example.com/example.mp4'; + const output = getUriFileExtension(test_url); + expect(output).toBe('mp4'); + }); + + it('ignores uri cruft', () => { + let test_url = 'http://example.com/example.wmv?abc=123'; + let output = getUriFileExtension(test_url); + expect(output).toBe('wmv'); + + test_url = 'http://example.com/example.avi#fragment'; + output = getUriFileExtension(test_url); + expect(output).toBe('avi'); + }); + + it('prefers the uri pathname', () => { + // there is ambiguity here, taking only from the path if possible + const test_url = 'http://example.com/example.mp4?token=123.abc'; + const output = getUriFileExtension(test_url); + expect(output).toBe('mp4'); + }); + + it('falls back to rest of uri', () => { + const test_url = 'http://example.com/media?file=test.mov'; + const output = getUriFileExtension(test_url); + expect(output).toBe('mov'); + }); + + it('ignores data uris', () => { + /* + schema description is "The media file format", so could make an argument + for pulling the MIME type here, but the name fileExtension implies this + should be derived from the name, which we do not have for data URIs + */ + const test_url = 'data:image/png;base64,iVBORw0KGgoAA5ErkJggg=='; + const output = getUriFileExtension(test_url); + expect(output).toBe(null); + }); +}); From 0a081fe170847d2a931ebfc486bb92e26a76b518 Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Thu, 30 May 2024 15:30:59 +1000 Subject: [PATCH 017/277] Make E2E tests compatible with micro v2 & v3 --- .../javascript-tracker/saucefix_2024-05-30-05-37.json | 10 ++++++++++ trackers/javascript-tracker/test/micro.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json diff --git a/common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json b/common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json new file mode 100644 index 000000000..7bfc1dc63 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Add E2E test compatibility with Micro v3", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/trackers/javascript-tracker/test/micro.ts b/trackers/javascript-tracker/test/micro.ts index 92ddf80d1..ff6c491af 100644 --- a/trackers/javascript-tracker/test/micro.ts +++ b/trackers/javascript-tracker/test/micro.ts @@ -44,7 +44,7 @@ export const start = (isRemote?: boolean) => { return c.start().then(() => { const outs = new Writable({ write(chunk, _, callback) { - let found = chunk.toString().includes('REST interface bound'); + let found = /(REST interface bound|http4s.+started at)/.test(chunk.toString()); if (found) this.end(); callback(); }, From c9d17daed168fd5ebc1d1dd20ce097eca86deb09 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:01:27 +0100 Subject: [PATCH 018/277] Prepare for release 3.23.1 --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 76adf2620..f458d9d0a 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -42,6 +42,6 @@ * * Valid values are: "prerelease", "release", "minor", "patch", "major" */ - "nextBump": "minor" + "nextBump": "patch" } ] From f07261a96f904ff86ac1e46f1afbce5a953646fc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:34:46 +0000 Subject: [PATCH 019/277] Update changelogs [skip ci] --- .../PE-6330-file_ext_fix_2024-05-29-01-32.json | 10 ---------- .../saucefix_2024-05-30-05-37.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 6 ++++++ libraries/browser-tracker-core/CHANGELOG.md | 7 ++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-event-specifications/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 9 ++++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 70 files changed, 424 insertions(+), 54 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json delete mode 100644 common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json b/common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json deleted file mode 100644 index 87b222aff..000000000 --- a/common/changes/@snowplow/browser-plugin-media-tracking/PE-6330-file_ext_fix_2024-05-29-01-32.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media-tracking", - "comment": "Adjust extraction of media_element.fileExtension from source URIs.", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json b/common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json deleted file mode 100644 index 7bfc1dc63..000000000 --- a/common/changes/@snowplow/javascript-tracker/saucefix_2024-05-30-05-37.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Add E2E test compatibility with Micro v3", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 3a7cbe6cf..fbb529fe2 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-tracker-core_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-tracker-core_v3.23.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index b598826f1..a9a845079 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 2e59239c8..c05f11869 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/tracker-core_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/tracker-core_v3.23.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index df754d464..af419f6b2 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 207a2446e..0ca7ae4db 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.23.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index ffd5b0e15..6df51235b 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 3f6880df9..78b0af2a3 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-browser-features_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-browser-features_v3.23.0", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 713e7ca71..b28aaa7be 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 650d44970..454525c92 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.23.0", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index dee854e79..ed75c9896 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 52e4cc36b..f4407538c 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-client-hints_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-client-hints_v3.23.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 4f1757939..4d696742e 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 10948d425..5a08dde04 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-consent_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-consent_v3.23.0", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 26af6ff45..eb4905ac6 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 6609c34ef..dad1d6801 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-debugger_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-debugger_v3.23.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 6c6eee3a8..a2ee8a94b 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 5f460d0eb..5cd7c2de5 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-ecommerce_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-ecommerce_v3.23.0", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 0e909e4d5..b37bc3f4c 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 9fb25a331..b552aeadd 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.23.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 52f42a30b..7e16dc2f4 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 29f0251ec..5f21dc1ef 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.23.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index bc4ad559c..f553af4bc 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 3aee8f5c1..3cc9841f6 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-error-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.23.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index e2a222add..49499e5a8 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index 46ac15bb4..0fad7ecde 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-event-specifications_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-event-specifications_v3.23.0", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index a11b05c0f..4189d8315 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index d50ebd006..825e4df8b 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-focalmeter_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.23.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 9381b5f37..0162fe4fe 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 1010c6004..8716e5c0c 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-form-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.23.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index bb6c310cc..9f0375e1a 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index e226c6db3..e0f9e6468 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.23.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 137bd1f2d..f63505b08 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 9b794235b..7734e67b5 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-geolocation_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-geolocation_v3.23.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index c7bb6d91e..6a6d05578 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 3d99a0b26..b42855edd 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.23.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 903f8e606..5c43a1251 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index f6ff84634..32bc95657 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-media-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": { + "none": [ + { + "comment": "Adjust extraction of media_element.fileExtension from source URIs." + } + ] + } + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.23.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 07aa3c7c5..53b4f0725 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +### Updates + +- Adjust extraction of media_element.fileExtension from source URIs. ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 60e59dd4c..cae8094ef 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-media_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-media_v3.23.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 9cb3ca138..fa5330442 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 65b990cef..f9d61a14f 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.23.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 0c5fb1b22..0e7b9fade 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index dc5f4a6d0..42274b00a 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-optimizely_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-optimizely_v3.23.0", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index c035e465d..89dc0062d 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 95f19673b..ed52ca0d5 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.23.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index be60ae7f2..d1b71630e 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 4048d7db9..25fc1632d 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-performance-timing_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.23.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 49d5eff7f..f7e8dd5e3 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 7cca97b87..cd66ee224 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.23.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index c5961d80e..bb41fc63f 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index bc488ebc5..b333a4d5d 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-site-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.23.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index f27b4f70f..304c3ff95 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 2c4500ff5..7fb8f9150 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.23.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 5c31e737f..cff4b2de4 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 74a6fa942..dfc88a3f0 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-timezone_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-timezone_v3.23.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 6888083ac..af9811bd0 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 057486d70..5abd9c040 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.23.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index a21bb9992..ef6e4c8ae 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 9fab4f80b..38b7a877a 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-web-vitals_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.23.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index d866a1e76..7864283a6 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index b372a724a..d2d111577 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.23.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 26c8345ac..b7034ccf6 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 5dc27b64b..62bd96f59 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/browser-tracker_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/browser-tracker_v3.23.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 9ac53b6bf..fdd11bb7e 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index ec2fec2a9..27df26b6b 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/javascript-tracker_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": { + "none": [ + { + "comment": "Add E2E test compatibility with Micro v3" + } + ] + } + }, { "version": "3.23.0", "tag": "@snowplow/javascript-tracker_v3.23.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 772fad92b..b145a8a06 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +### Updates + +- Add E2E test compatibility with Micro v3 ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index b182f9d5b..6c1ad1e35 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.23.1", + "tag": "@snowplow/node-tracker_v3.23.1", + "date": "Tue, 04 Jun 2024 13:34:45 GMT", + "comments": {} + }, { "version": "3.23.0", "tag": "@snowplow/node-tracker_v3.23.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 26bad4ab3..2217cf487 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Thu, 28 Mar 2024 11:28:45 GMT and should not be manually modified. +This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. + +## 3.23.1 +Tue, 04 Jun 2024 13:34:45 GMT + +_Version update only_ ## 3.23.0 Thu, 28 Mar 2024 11:28:45 GMT From f4873a84bf7f3db9f54431de9f84d021c19ced26 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:34:46 +0000 Subject: [PATCH 020/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index f458d9d0a..e53e1151b 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.23.0", + "version": "3.23.1", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 98e16edde..7d900f06b 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.23.0", + "version": "3.23.1", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index f6d9e3663..372fbddd3 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.23.0", + "version": "3.23.1", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index e2ab43cf9..fc05217d8 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 1f4825451..725d17034 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 2991a8557..c78d02afe 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 35ade71b6..b2edec369 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index a9e6d0b00..aadf3ef01 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.23.0", + "version": "3.23.1", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 353f0ca98..16963fd77 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.23.0", + "version": "3.23.1", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 19151af3a..3258d60ee 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.23.0", + "version": "3.23.1", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 7e0b42138..e3594d97f 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.23.0", + "version": "3.23.1", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 9a678dba2..278aadf86 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.23.0", + "version": "3.23.1", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 0c2baf6a6..f3bae84f0 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index a0bfdd171..a5831bca3 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.23.0", + "version": "3.23.1", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index b7881c179..ae7f597dd 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.23.0", + "version": "3.23.1", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 0556c1eb5..a4694878f 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index daca08a7a..6b67e4345 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 48db9ead4..3e2fa669a 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 1c5fbf0f7..387121577 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index c851ada05..87f471b62 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 1a4fe3e75..2f463173d 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.23.0", + "version": "3.23.1", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 4cb437c37..b4bc86639 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index d23b3dc32..fba139b7a 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index d381b46cd..5e441d923 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index c53a12ba9..d8259942d 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index b720f4e08..ef29f186b 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.23.0", + "version": "3.23.1", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 1f95fdcf3..37f26bb46 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 311efbbf6..6c2c90743 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.23.0", + "version": "3.23.1", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 3e19c6025..909cda529 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.23.0", + "version": "3.23.1", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index f382db7de..f2077ffc7 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 14c291ccc..812679d35 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.23.0", + "version": "3.23.1", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 76b5c4cc6..647022756 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.23.0", + "version": "3.23.1", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.0" + "@snowplow/browser-tracker": "~3.23.1" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 149e2fd7d..590077568 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.23.0", + "version": "3.23.1", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 0325482f3..92a783820 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.23.0", + "version": "3.23.1", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index f64a7b624..fd9943afe 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.23.0", + "version": "3.23.1", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From e9b9d4813b59a949204839c3152b25fdefb81c70 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:38:13 +0000 Subject: [PATCH 021/277] Applying documentation updates. From 979cbad8a7b6e41bb8a5bf3ca225598f66a5c634 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 16 May 2024 11:44:57 +0200 Subject: [PATCH 022/277] Fix running integration tests due to a problem with Micro (#1310) --- ...ue-1307-page_view_id_2024-05-15-06-21.json | 10 + common/config/rush/pnpm-lock.yaml | 263 +++++++++--------- common/config/rush/repo-state.json | 2 +- trackers/javascript-tracker/package.json | 24 +- trackers/javascript-tracker/test/micro.ts | 2 +- 5 files changed, 162 insertions(+), 139 deletions(-) create mode 100644 common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json diff --git a/common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json b/common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json new file mode 100644 index 000000000..985490b5a --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Fix running integration tests due to a problem with Micro", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 841970094..cb25b1977 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1688,17 +1688,17 @@ importers: '@types/node': ~14.6.0 '@types/node-fetch': '2' '@types/youtube': ~0.0.46 - '@wdio/cli': ~8.35.1 - '@wdio/globals': ~8.35.1 - '@wdio/jasmine-framework': ~8.35.1 - '@wdio/local-runner': ~8.35.1 - '@wdio/sauce-service': ~8.35.1 - '@wdio/shared-store-service': ~8.35.1 - '@wdio/spec-reporter': ~8.32.4 - '@wdio/static-server-service': ~8.32.4 - '@wdio/types': ~8.32.4 + '@wdio/cli': ~8.36.1 + '@wdio/globals': ~8.36.1 + '@wdio/jasmine-framework': ~8.36.1 + '@wdio/local-runner': ~8.36.1 + '@wdio/sauce-service': ~8.36.1 + '@wdio/shared-store-service': ~8.36.1 + '@wdio/spec-reporter': ~8.36.1 + '@wdio/static-server-service': ~8.36.1 + '@wdio/types': ~8.36.1 chalk: 4.1.2 - chromedriver: ~114.0.0 + chromedriver: ~124.0.3 dockerode: ~3.3.1 jest: ~27.5.1 jest-environment-jsdom: ~27.5.1 @@ -1722,7 +1722,7 @@ importers: wdio-chromedriver-service: ~8.1.1 wdio-edgedriver-service: ~3.0.3 wdio-safaridriver-service: ~2.1.1 - webdriverio: ~8.35.1 + webdriverio: ~8.36.1 dependencies: '@snowplow/browser-plugin-ad-tracking': link:../../plugins/browser-plugin-ad-tracking '@snowplow/browser-plugin-browser-features': link:../../plugins/browser-plugin-browser-features @@ -1767,17 +1767,17 @@ importers: '@types/node': 14.6.4 '@types/node-fetch': 2.6.4 '@types/youtube': 0.0.46 - '@wdio/cli': 8.35.1_typescript@4.6.2 - '@wdio/globals': 8.35.1_typescript@4.6.2 - '@wdio/jasmine-framework': 8.35.1_typescript@4.6.2 - '@wdio/local-runner': 8.35.1_typescript@4.6.2 - '@wdio/sauce-service': 8.35.1_typescript@4.6.2 - '@wdio/shared-store-service': 8.35.1_typescript@4.6.2 - '@wdio/spec-reporter': 8.32.4 - '@wdio/static-server-service': 8.32.4 - '@wdio/types': 8.32.4 + '@wdio/cli': 8.36.1_typescript@4.6.2 + '@wdio/globals': 8.36.1_typescript@4.6.2 + '@wdio/jasmine-framework': 8.36.1_typescript@4.6.2 + '@wdio/local-runner': 8.36.1_typescript@4.6.2 + '@wdio/sauce-service': 8.36.1_typescript@4.6.2 + '@wdio/shared-store-service': 8.36.1_typescript@4.6.2 + '@wdio/spec-reporter': 8.36.1 + '@wdio/static-server-service': 8.36.1 + '@wdio/types': 8.36.1 chalk: 4.1.2 - chromedriver: 114.0.3 + chromedriver: 124.0.3 dockerode: 3.3.1 jest: 27.5.1_ts-node@10.9.1 jest-environment-jsdom: 27.5.1 @@ -1797,10 +1797,10 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 typescript: 4.6.2 - wdio-chromedriver-service: 8.1.1_82a50f9b94298870e694c5dcc288131d - wdio-edgedriver-service: 3.0.3_@wdio+types@8.32.4 - wdio-safaridriver-service: 2.1.1_0d8a82dcaf3d16fa8af174431bab2630 - webdriverio: 8.35.1_typescript@4.6.2 + wdio-chromedriver-service: 8.1.1_13d5c9a187d81a3040fb94df4a1e31ad + wdio-edgedriver-service: 3.0.3_@wdio+types@8.36.1 + wdio-safaridriver-service: 2.1.1_e44f7dae2e7ecd391a74ad83b25c9493 + webdriverio: 8.36.1_typescript@4.6.2 ../../trackers/node-tracker: specifiers: @@ -3077,10 +3077,6 @@ packages: undici-types: 5.26.5 dev: true - /@types/node/20.3.3: - resolution: {integrity: sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==} - dev: true - /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -3360,19 +3356,19 @@ packages: pretty-format: 29.7.0 dev: true - /@wdio/cli/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-cdFmd6P/eQJdP2lChQ+Fa9b1c2p0bDIPmetVHGCuHiW8ZPkanrvBFtHMUhMu44a1koni9LvN/hu7vIJ/aAC+Rg==} + /@wdio/cli/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-LZBZiwcvvv5P0HuRXt8IV09UiFT5dnDr1Ag5u2roJL2D7l8wDHHa70PXw9MmlbrnyFCUN3hO7FQVUi9MAsDbDQ==} engines: {node: ^16.13 || >=18} hasBin: true dependencies: - '@types/node': 20.3.3 + '@types/node': 20.11.30 '@vitest/snapshot': 1.4.0 - '@wdio/config': 8.35.0 - '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/config': 8.36.1 + '@wdio/globals': 8.36.1_typescript@4.6.2 '@wdio/logger': 8.28.0 '@wdio/protocols': 8.32.0 - '@wdio/types': 8.32.4 - '@wdio/utils': 8.35.0 + '@wdio/types': 8.36.1 + '@wdio/utils': 8.36.1 async-exit-hook: 2.0.1 chalk: 5.3.0 chokidar: 3.5.3 @@ -3387,7 +3383,7 @@ packages: lodash.union: 4.6.0 read-pkg-up: 10.0.0 recursive-readdir: 2.2.3 - webdriverio: 8.35.1_typescript@4.6.2 + webdriverio: 8.36.1_typescript@4.6.2 yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -3398,13 +3394,13 @@ packages: - utf-8-validate dev: true - /@wdio/config/8.35.0: - resolution: {integrity: sha512-I36sBPMl/+LCyQ3Pwb8gGQM6KxwmUfhOPp16TxN21Qo/Bc0fZfyGIg6KevmRu4DuqpGUm5MMVSfyPhLUkMk3Cg==} + /@wdio/config/8.36.1: + resolution: {integrity: sha512-yCENnym0CrYuLKMJ3fv00WkjCR8QpPqVohGBkq5FvZOZpVJEpoG86Q8l4HtyRnd6ggMTKCA1vTQ/myhbPmZmaQ==} engines: {node: ^16.13 || >=18} dependencies: '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 - '@wdio/utils': 8.35.0 + '@wdio/types': 8.36.1 + '@wdio/utils': 8.36.1 decamelize: 6.0.0 deepmerge-ts: 5.1.0 glob: 10.3.1 @@ -3413,12 +3409,12 @@ packages: - supports-color dev: true - /@wdio/globals/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-T3IUFcKXRU9WWleAV72DGFWUiXSSr8SBvpc2cUJrvZ5Je9R2gEsrts5eHCY7amXtfeylfMgy5EayGMajgcna6A==} + /@wdio/globals/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-Qpj6gZCRNxqdVkTwYyi4JdeYO4tLSUj3Ti6yxO0v9A4IRaKW1tS29KUcGgjL9CFSBKAOi2zRY8vvFz1u6ewxtQ==} engines: {node: ^16.13 || >=18} optionalDependencies: expect-webdriverio: 4.12.2_typescript@4.6.2 - webdriverio: 8.35.1_typescript@4.6.2 + webdriverio: 8.36.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3428,15 +3424,15 @@ packages: - utf-8-validate dev: true - /@wdio/jasmine-framework/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-qHr/5aPawNpRhzHfljXNZHYeIrCYCp8IDjK6gX/sNbDdwX7OIw0BmboOVfkWYNDo6EI7pw7+xVmBaWAE3a7biQ==} + /@wdio/jasmine-framework/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-MI6ojRPlVVxvkb8AzJmBXgjHBRxeasVy6vtiXwtnxO0z1LWkcUnemms0yH6jLykTIgzprx1ixRd72+knd6mamw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.3.3 - '@wdio/globals': 8.35.1_typescript@4.6.2 + '@types/node': 20.11.30 + '@wdio/globals': 8.36.1_typescript@4.6.2 '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 - '@wdio/utils': 8.35.0 + '@wdio/types': 8.36.1 + '@wdio/utils': 8.36.1 expect-webdriverio: 4.12.2_typescript@4.6.2 jasmine: 5.1.0 transitivePeerDependencies: @@ -3448,15 +3444,15 @@ packages: - utf-8-validate dev: true - /@wdio/local-runner/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-PG+bADoY5VoWPmAfRi030rtxbFj68MVPlcwEN0dN1lDdYKz1ATzzGUK12sqCgGz1ktcC7sQzmJZVBklzbvn3mQ==} + /@wdio/local-runner/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-FYsTzbNGRnrniOsLWrZO7+DLecAS9W75AIzFZQVQxruiDFkGmKY5OV6gsuvMlasaqAQXW1s+w29bqrLY4DxdEw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.3.3 + '@types/node': 20.11.30 '@wdio/logger': 8.28.0 '@wdio/repl': 8.24.12 - '@wdio/runner': 8.35.1_typescript@4.6.2 - '@wdio/types': 8.32.4 + '@wdio/runner': 8.36.1_typescript@4.6.2 + '@wdio/types': 8.36.1 async-exit-hook: 2.0.1 split2: 4.2.0 stream-buffers: 3.0.2 @@ -3497,35 +3493,35 @@ packages: resolution: {integrity: sha512-321F3sWafnlw93uRTSjEBVuvWCxTkWNDs7ektQS15drrroL3TMeFOynu4rDrIz0jXD9Vas0HCD2Tq/P0uxFLdw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.3.3 + '@types/node': 20.11.30 dev: true - /@wdio/reporter/8.32.4: - resolution: {integrity: sha512-kZXbyNuZSSpk4kBavDb+ac25ODu9NVZED6WwZafrlMSnBHcDkoMt26Q0Jp3RKUj+FTyuKH0HvfeLrwVkk6QKDw==} + /@wdio/reporter/8.36.1: + resolution: {integrity: sha512-HcXr9XKq/6kPC9nexMRXIc/ft3Lvp0yCaW5tps01Axus9wbi5ysLHi2z5sB84F2YdpM+aRf7Lac56xkc4Jldeg==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 + '@wdio/types': 8.36.1 diff: 5.0.0 object-inspect: 1.12.0 dev: true - /@wdio/runner/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-5F6cbOYeZjF34Vsnycp5JPnDljI52fmyxsV2O/L3h6F2+83YXpbsqBplw/2G24JtIUudV7VOY/38bUicn1OyXg==} + /@wdio/runner/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-bLkxQ46MLEbzIf30adl2nyz8kxED/V0IjcQASm0VKfNmsG8LOf7iOIz+udOF4GkMoF++5JuONA5abUsyLvwatg==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 - '@wdio/config': 8.35.0 - '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/config': 8.36.1 + '@wdio/globals': 8.36.1_typescript@4.6.2 '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 - '@wdio/utils': 8.35.0 + '@wdio/types': 8.36.1 + '@wdio/utils': 8.36.1 deepmerge-ts: 5.1.0 expect-webdriverio: 4.12.2_typescript@4.6.2 gaze: 1.1.3 - webdriver: 8.35.0 - webdriverio: 8.35.1_typescript@4.6.2 + webdriver: 8.36.1 + webdriverio: 8.36.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3535,16 +3531,16 @@ packages: - utf-8-validate dev: true - /@wdio/sauce-service/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-MEBJBNtS4/dvZ3P8m7ubfuwGFfWUihkLoEWOYH71ulfx6kez+N1pcw+oaAUuSbrv5sTxLOpTId5Y8eTtnfAOYg==} + /@wdio/sauce-service/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-yyUy27bG4iHtbWYkmTzCBtvi1Xh+Nwb2UNZJmvNegAu3XnzeuOsr5aIDrrpAtk3onCzK5plWaCrwvkGMIdzHRg==} engines: {node: ^16.13 || >=18} dependencies: '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 - '@wdio/utils': 8.35.0 + '@wdio/types': 8.36.1 + '@wdio/utils': 8.36.1 ip: 2.0.1 saucelabs: 7.5.0 - webdriverio: 8.35.1_typescript@4.6.2 + webdriverio: 8.36.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3554,16 +3550,16 @@ packages: - utf-8-validate dev: true - /@wdio/shared-store-service/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-qUetXFdXsnGx8tW7DGyReou7akjz5HfDUQAKm64r6OsFp8rZYgS4XZKtwvtXivuJgMOP/qdzYu6YSfi9E/2w5A==} + /@wdio/shared-store-service/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-VJEkU5mDXVdWGdVLU7Z9W3RzEKFags2UZBWssfOnBhacI2yNZy3jCX6nTyiY5eAdSWtysucZGsOXMZjO/Hu/IQ==} engines: {node: ^16.13 || >=18} dependencies: '@polka/parse': 1.0.0-next.0 '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 + '@wdio/types': 8.36.1 got: 12.6.1 polka: 0.5.2 - webdriverio: 8.35.1_typescript@4.6.2 + webdriverio: 8.36.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3573,41 +3569,41 @@ packages: - utf-8-validate dev: true - /@wdio/spec-reporter/8.32.4: - resolution: {integrity: sha512-3TbD/KrK+EhUex5d5/11qSEKqyNiMHqm27my86tdiK0Ltt9pc/9Ybg1YBiWKlzV9U9MI4seVBRZCXltG17ky/A==} + /@wdio/spec-reporter/8.36.1: + resolution: {integrity: sha512-VgAd8VQCfwKYz4A3BPDUYNIQxXhRSTaVNbmDzSlYfo5Jekygk7fz0LRFYBpJ69l7eQH0P5nzEyF92oW/rvE3VA==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/reporter': 8.32.4 - '@wdio/types': 8.32.4 + '@wdio/reporter': 8.36.1 + '@wdio/types': 8.36.1 chalk: 5.3.0 easy-table: 1.2.0 pretty-ms: 7.0.1 dev: true - /@wdio/static-server-service/8.32.4: - resolution: {integrity: sha512-oAq7gEWjNLB6zSQllD/E7+Ij9+scsTLg2Y1JpgqOEvRF9PNOnef14uW10WzE0SbiUcEBEwDa0CmM+0NrKqW2Rg==} + /@wdio/static-server-service/8.36.1: + resolution: {integrity: sha512-ExOLTXQj7EvRO47t+oOrIiBIzQJSYeIrc3EEmCF9TkcOqCl/JyVlGyf35/wPXMSP29BGYHSRYngoe48ERA+JtA==} engines: {node: ^16.13 || >=18} dependencies: '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 + '@wdio/types': 8.36.1 express: 4.17.1 morgan: 1.10.0 dev: true - /@wdio/types/8.32.4: - resolution: {integrity: sha512-pDPGcCvq0MQF8u0sjw9m4aMI2gAKn6vphyBB2+1IxYriL777gbbxd7WQ+PygMBvYVprCYIkLPvhUFwF85WakmA==} + /@wdio/types/8.36.1: + resolution: {integrity: sha512-kKtyJbypasKo/VQuJ6dTQQwFtHE9qoygjoCZjrQCLGraRSjOEiqZHPR0497wbeCvcgHIYyImbmcylqZNGUE0CQ==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.3.3 + '@types/node': 20.11.30 dev: true - /@wdio/utils/8.35.0: - resolution: {integrity: sha512-9KCyn4aS+9tWfthnUkNFVe52AM6QrLGAeIxgGxNlzTAcQGl7jjwdDM7aSK0RjLkWI3a/88DRH21mN/t2LGDmPQ==} + /@wdio/utils/8.36.1: + resolution: {integrity: sha512-xmgPHU11/o9n2FeRmDFkPRC0okiwA1i2xOcR2c3aSpuk99XkAm9RaMn/6u9LFaqsCpgaVxazcYEGSceO7U4hZA==} engines: {node: ^16.13 || >=18} dependencies: '@puppeteer/browsers': 1.7.1 '@wdio/logger': 8.28.0 - '@wdio/types': 8.32.4 + '@wdio/types': 8.36.1 decamelize: 6.0.0 deepmerge-ts: 5.1.0 edgedriver: 5.3.8 @@ -4003,10 +3999,10 @@ packages: resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true - /axios/1.6.2: - resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} + /axios/1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -4579,17 +4575,17 @@ packages: engines: {node: '>=10'} dev: true - /chromedriver/114.0.3: - resolution: {integrity: sha512-Qy5kqsAUrCDwpovM5pIWFkb3X3IgJLoorigwFEDgC1boL094svny3N7yw06marJHAuyX4CE/hhd25RarIcKvKg==} - engines: {node: '>=16'} + /chromedriver/124.0.3: + resolution: {integrity: sha512-k6Xu9fwDMgi//bGHB944QMmDHF0BBWGk4PAyVZBEuP6wnZMfQP4V6Sv+l/nuAPA006RllS6X07ZpjPwRPS4BaA==} + engines: {node: '>=18'} hasBin: true requiresBuild: true dependencies: '@testim/chrome-version': 1.1.4 - axios: 1.6.2 + axios: 1.6.8 compare-versions: 6.1.0 extract-zip: 2.0.1 - https-proxy-agent: 5.0.1 + proxy-agent: 6.4.0 proxy-from-env: 1.1.0 tcp-port-used: 1.0.2 transitivePeerDependencies: @@ -5229,8 +5225,8 @@ packages: resolution: {integrity: sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==} dev: true - /devtools-protocol/0.0.1273771: - resolution: {integrity: sha512-QDbb27xcTVReQQW/GHJsdQqGKwYBE7re7gxehj467kKP2DKuYBUj6i2k5LRiAC66J1yZG/9gsxooz/s9pcm0Og==} + /devtools-protocol/0.0.1282316: + resolution: {integrity: sha512-i7eIqWdVxeXBY/M+v83yRkOV1sTHnr3XYiC0YNBivLIE6hBfE2H0c2o8VC5ynT44yjy+Ei0kLrBQFK/RUKaAHQ==} dev: true /diff-sequences/27.5.1: @@ -5776,9 +5772,9 @@ packages: jest-matcher-utils: 29.7.0 lodash.isequal: 4.5.0 optionalDependencies: - '@wdio/globals': 8.35.1_typescript@4.6.2 + '@wdio/globals': 8.36.1_typescript@4.6.2 '@wdio/logger': 8.28.0 - webdriverio: 8.35.1_typescript@4.6.2 + webdriverio: 8.36.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -6051,8 +6047,8 @@ packages: resolution: {integrity: sha512-3VELfuWCLVzt5d2Gblk8qcqFro6nuwvxwMzHaENVDHI7rxcBRtMCwTk/E9FXcgh+82DSpavPNDueA9+RxXJoFg==} dev: true - /follow-redirects/1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects/1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -6900,6 +6896,7 @@ packages: /ip/2.0.1: resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} + dev: true /ipaddr.js/1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -9581,6 +9578,22 @@ packages: - supports-color dev: true + /proxy-agent/6.4.0: + resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 + lru-cache: 7.18.3 + pac-proxy-agent: 7.0.1 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.2 + transitivePeerDependencies: + - supports-color + dev: true + /proxy-from-env/1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true @@ -11290,7 +11303,7 @@ packages: defaults: 1.0.3 dev: true - /wdio-chromedriver-service/8.1.1_82a50f9b94298870e694c5dcc288131d: + /wdio-chromedriver-service/8.1.1_13d5c9a187d81a3040fb94df4a1e31ad: resolution: {integrity: sha512-pN3GiOkTIMnalfq4PJAHdX95pDp1orHnTY8W1fIbd6ok81ba97UjerTgS7lUDRUh1p0MAm35Ww0uc0/9wzB7SA==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11304,17 +11317,17 @@ packages: optional: true dependencies: '@wdio/logger': 8.16.17 - '@wdio/types': 8.32.4 - chromedriver: 114.0.3 + '@wdio/types': 8.36.1 + chromedriver: 124.0.3 fs-extra: 11.1.0 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.35.1_typescript@4.6.2 + webdriverio: 8.36.1_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true - /wdio-edgedriver-service/3.0.3_@wdio+types@8.32.4: + /wdio-edgedriver-service/3.0.3_@wdio+types@8.36.1: resolution: {integrity: sha512-oHKUFnh9Nn4s749Yl8hp20xvfF8GnK4jNV84qoy52/a0ETgWh0FG5qlRVXBIqIulqhGlfrCgL5/pIizMnEix1w==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11324,7 +11337,7 @@ packages: optional: true dependencies: '@wdio/logger': 8.16.17 - '@wdio/types': 8.32.4 + '@wdio/types': 8.36.1 edgedriver: 5.3.8 get-port: 7.0.0 split2: 4.2.0 @@ -11333,7 +11346,7 @@ packages: - supports-color dev: true - /wdio-safaridriver-service/2.1.1_0d8a82dcaf3d16fa8af174431bab2630: + /wdio-safaridriver-service/2.1.1_e44f7dae2e7ecd391a74ad83b25c9493: resolution: {integrity: sha512-Rz8uls7EY0bHOZJpykmAMIQzT0gNe6lg32XdCjO/ppSvscWKP57lePGWD80RCU4kKnwX1TbrTivqfjl6vK/1rQ==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11346,12 +11359,12 @@ packages: '@types/split2': 4.2.1 '@types/tcp-port-used': 1.0.1 '@wdio/logger': 8.16.17 - '@wdio/types': 8.32.4 + '@wdio/types': 8.36.1 fs-extra: 11.1.1 safaridriver: 0.0.6 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.35.1_typescript@4.6.2 + webdriverio: 8.36.1_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true @@ -11370,17 +11383,17 @@ packages: resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} dev: false - /webdriver/8.35.0: - resolution: {integrity: sha512-D13EroddIXDqdq3jgO8j6sorgTWqTwEiTqwlDoJizpRIgHGBy+UjkNM7XW1yVcvt8gsD2Dei2LQth2tJEnu5Ng==} + /webdriver/8.36.1: + resolution: {integrity: sha512-547RivYCHStVqtiGQBBcABAkzJbPnAWsxpXGzmj5KL+TOM2JF41N2iQRtUxXqr0jme1Nzzye7WS7Y7iSnK6i1g==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 '@types/ws': 8.5.4 - '@wdio/config': 8.35.0 + '@wdio/config': 8.36.1 '@wdio/logger': 8.28.0 '@wdio/protocols': 8.32.0 - '@wdio/types': 8.32.4 - '@wdio/utils': 8.35.0 + '@wdio/types': 8.36.1 + '@wdio/utils': 8.36.1 deepmerge-ts: 5.1.0 got: 12.6.1 ky: 0.33.2 @@ -11391,8 +11404,8 @@ packages: - utf-8-validate dev: true - /webdriverio/8.35.1_typescript@4.6.2: - resolution: {integrity: sha512-YAuKR4JERGiMqCJmm5fEVZ160iiFPyupwALqfXfzrYVcEmKltKPFY/oUCArmi6Uzqd+Sa2Kp9WZtz2Eu1R76JA==} + /webdriverio/8.36.1_typescript@4.6.2: + resolution: {integrity: sha512-vzE09oFQeMbOYJ/75jZ13sDIljzC3HH7uoUJKAMAEtyrn/bu1F9Sg/4IDEsvQaRD3pz3ae6SkRld33lcQk6HJA==} engines: {node: ^16.13 || >=18} peerDependencies: devtools: ^8.14.0 @@ -11400,18 +11413,18 @@ packages: devtools: optional: true dependencies: - '@types/node': 20.3.3 - '@wdio/config': 8.35.0 + '@types/node': 20.11.30 + '@wdio/config': 8.36.1 '@wdio/logger': 8.28.0 '@wdio/protocols': 8.32.0 '@wdio/repl': 8.24.12 - '@wdio/types': 8.32.4 - '@wdio/utils': 8.35.0 + '@wdio/types': 8.36.1 + '@wdio/utils': 8.36.1 archiver: 7.0.1 aria-query: 5.1.3 css-shorthand-properties: 1.1.1 css-value: 0.0.1 - devtools-protocol: 0.0.1273771 + devtools-protocol: 0.0.1282316 grapheme-splitter: 1.0.4 import-meta-resolve: 4.0.0 is-plain-obj: 4.1.0 @@ -11423,7 +11436,7 @@ packages: resq: 1.10.0 rgb2hex: 0.2.5 serialize-error: 11.0.2 - webdriver: 8.35.0 + webdriver: 8.36.1 transitivePeerDependencies: - bufferutil - encoding diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index be94150f3..df20f8a86 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "6878f624e4c72a458a7edb7f43bc828ee7e4575a", + "pnpmShrinkwrapHash": "aa85b084664cf43bf75397520c673b475e43e055", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 92a783820..b6035fedf 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -30,7 +30,7 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "docker:micro": "docker pull snowplow/snowplow-micro:latest", + "docker:micro": "docker pull snowplow/snowplow-micro:2.0.0", "test": "jest test/unit/*.test.ts --no-cache", "test:build": "rollup --config rollup.config.test.js --silent", "test:e2e:local": "npm-run-all --parallel test:build docker:micro --serial wdio:local", @@ -81,15 +81,15 @@ "@types/jsdom": "~16.2.14", "@types/lodash": "~4.14.180", "@types/node": "~14.6.0", - "@wdio/cli": "~8.35.1", - "@wdio/jasmine-framework": "~8.35.1", - "@wdio/local-runner": "~8.35.1", - "@wdio/sauce-service": "~8.35.1", - "@wdio/spec-reporter": "~8.32.4", - "@wdio/static-server-service": "~8.32.4", - "@wdio/types": "~8.32.4", + "@wdio/cli": "~8.36.1", + "@wdio/jasmine-framework": "~8.36.1", + "@wdio/local-runner": "~8.36.1", + "@wdio/sauce-service": "~8.36.1", + "@wdio/spec-reporter": "~8.36.1", + "@wdio/static-server-service": "~8.36.1", + "@wdio/types": "~8.36.1", "chalk": "4.1.2", - "chromedriver": "~114.0.0", + "chromedriver": "~124.0.3", "dockerode": "~3.3.1", "jest": "~27.5.1", "jest-environment-jsdom": "~27.5.1", @@ -109,11 +109,11 @@ "ts-node": "~10.9.1", "typescript": "~4.6.2", "wdio-chromedriver-service": "~8.1.1", - "webdriverio": "~8.35.1", - "@wdio/shared-store-service": "~8.35.1", + "webdriverio": "~8.36.1", + "@wdio/shared-store-service": "~8.36.1", "node-fetch": "2", "@types/node-fetch": "2", - "@wdio/globals": "~8.35.1", + "@wdio/globals": "~8.36.1", "wdio-safaridriver-service": "~2.1.1", "wdio-edgedriver-service": "~3.0.3", "@types/youtube": "~0.0.46" diff --git a/trackers/javascript-tracker/test/micro.ts b/trackers/javascript-tracker/test/micro.ts index ff6c491af..5715cb9a2 100644 --- a/trackers/javascript-tracker/test/micro.ts +++ b/trackers/javascript-tracker/test/micro.ts @@ -17,7 +17,7 @@ const docker = new Docker(); export const start = (isRemote?: boolean) => { return docker .createContainer({ - Image: 'snowplow/snowplow-micro:latest', + Image: 'snowplow/snowplow-micro:2.0.0', AttachStdin: false, AttachStdout: true, AttachStderr: true, From 16f216e27d86ec87e310bb837a80df59e31dfe82 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Wed, 5 Jun 2024 11:07:00 +0200 Subject: [PATCH 023/277] Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (close #1307 and #1125) PR #1308 * Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (close #1307) * Generate a new page view ID on the second page view tracked on the same page regardless of whether preservePageViewIdForUrl is enabled * Handle multiple trackers with shared state such that they share the page view IDs for events tracked after each other --- .bundlemonrc.json | 4 +- .../browser-tracker/browser-tracker.api.md | 5 + ...ue-1307-page_view_id_2024-05-02-13-51.json | 10 + ...ue-1307-page_view_id_2024-05-02-14-18.json | 10 + libraries/browser-tracker-core/src/state.ts | 2 + .../browser-tracker-core/src/tracker/index.ts | 54 ++- .../browser-tracker-core/src/tracker/types.ts | 25 ++ .../test/helpers/index.ts | 4 +- .../test/tracker/page_view_id.test.ts | 359 ++++++++++++++++++ trackers/browser-tracker/src/index.ts | 2 + 10 files changed, 464 insertions(+), 11 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json create mode 100644 libraries/browser-tracker-core/test/tracker/page_view_id.test.ts diff --git a/.bundlemonrc.json b/.bundlemonrc.json index 466289b96..57965c60b 100644 --- a/.bundlemonrc.json +++ b/.bundlemonrc.json @@ -7,7 +7,7 @@ }, { "path": "./trackers/browser-tracker/dist/index.umd.min.js", - "maxSize": "15.5kb", + "maxSize": "16kb", "maxPercentIncrease": 10 }, { @@ -22,7 +22,7 @@ }, { "path": "./libraries/browser-tracker-core/dist/index.module.js", - "maxSize": "27kb", + "maxSize": "28kb", "maxPercentIncrease": 10 }, { diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index 12d8b1a63..5660e9f38 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -83,6 +83,7 @@ export interface BrowserTracker { namespace: string; newSession: () => void; preservePageViewId: () => void; + preservePageViewIdForUrl: (preserve: PreservePageViewIdForUrl) => void; setBufferSize: (newBufferSize: number) => void; setCollectorUrl: (collectorUrl: string) => void; setCookiePath: (path: string) => void; @@ -291,6 +292,9 @@ export type PostBatch = Record[]; // @public export function preservePageViewId(trackers?: Array): void; +// @public (undocumented) +export type PreservePageViewIdForUrl = boolean | "full" | "pathname" | "pathnameAndSearch"; + // @public export function removeGlobalContexts(contexts: Array, trackers?: Array): void; @@ -417,6 +421,7 @@ export type TrackerConfiguration = { retryFailedRequests?: boolean; onRequestSuccess?: (data: EventBatch) => void; onRequestFailure?: (data: RequestFailure) => void; + preservePageViewIdForUrl?: PreservePageViewIdForUrl; }; // @public diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json b/common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json new file mode 100644 index 000000000..56d2a4010 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json b/common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json new file mode 100644 index 000000000..a1acbb772 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/state.ts b/libraries/browser-tracker-core/src/state.ts index 75164e25d..d53a5ceba 100644 --- a/libraries/browser-tracker-core/src/state.ts +++ b/libraries/browser-tracker-core/src/state.ts @@ -52,6 +52,8 @@ export class SharedState { /* pageViewId, which can changed by other trackers on page; * initialized by tracker sent first event */ pageViewId?: string; + /* URL of the page view which the `pageViewId` was generated for */ + pageViewUrl?: string; } export function createSharedState(): SharedState { diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 37e504fa2..c5e7d01de 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -48,6 +48,7 @@ import { ClientSession, ExtendedCrossDomainLinkerOptions, ParsedIdCookie, + PreservePageViewIdForUrl, } from './types'; import { parseIdCookie, @@ -292,8 +293,10 @@ export function Tracker( ), // Whether pageViewId should be regenerated after each trackPageView. Affect web_page context preservePageViewId = false, - // Whether first trackPageView was fired and pageViewId should not be changed anymore until reload - pageViewSent = false, + // Whether pageViewId should be kept the same until the page URL changes. Affects web_page context + preservePageViewIdForUrl = trackerConfiguration.preservePageViewIdForUrl ?? false, + // The pageViewId of the last page view event or undefined if no page view tracked yet. Used to determine if pageViewId should be regenerated for a new page view. + lastSentPageViewId: string | undefined = undefined, // Activity tracking config for callback and page ping variants activityTrackingConfig: ActivityTrackingConfig = { enabled: false, @@ -719,6 +722,7 @@ export function Tracker( function resetPageView() { if (!preservePageViewId || state.pageViewId == null) { state.pageViewId = uuid(); + state.pageViewUrl = configCustomUrl || locationHrefAlias; } } @@ -727,10 +731,42 @@ export function Tracker( * Generates it if it wasn't initialized by other tracker */ function getPageViewId() { - if (state.pageViewId == null) { + if (shouldGenerateNewPageViewId()) { state.pageViewId = uuid(); + state.pageViewUrl = configCustomUrl || locationHrefAlias; + } + return state.pageViewId!; + } + + function shouldGenerateNewPageViewId() { + // If pageViewId is not initialized, generate it + if (state.pageViewId == null) { + return true; + } + // If pageViewId should be preserved regardless of the URL, don't generate a new one + if (preservePageViewId || !preservePageViewIdForUrl) { + return false; } - return state.pageViewId; + // If doesn't have previous URL in state, generate a new pageViewId + if (state.pageViewUrl === undefined) { + return true; + } + const current = configCustomUrl || locationHrefAlias; + // If full preserve is enabled, compare the full URL + if (preservePageViewIdForUrl === true || preservePageViewIdForUrl == 'full' || !('URL' in window)) { + return state.pageViewUrl != current; + } + const currentUrl = new URL(current); + const previousUrl = new URL(state.pageViewUrl); + // If pathname preserve is enabled, compare the pathname + if (preservePageViewIdForUrl == 'pathname') { + return currentUrl.pathname != previousUrl.pathname; + } + // If pathname and search preserve is enabled, compare the pathname and search + if (preservePageViewIdForUrl == 'pathnameAndSearch') { + return currentUrl.pathname != previousUrl.pathname || currentUrl.search != previousUrl.search; + } + return false; } /** @@ -943,11 +979,11 @@ export function Tracker( function logPageView({ title, context, timestamp, contextCallback }: PageViewEvent & CommonEventProperties) { refreshUrl(); - if (pageViewSent) { - // Do not reset pageViewId if previous events were not page_view + if (lastSentPageViewId && lastSentPageViewId == getPageViewId()) { + // Do not reset pageViewId if a page view was not tracked yet or a different page view ID was used (in order to support multiple trackers with shared state) resetPageView(); } - pageViewSent = true; + lastSentPageViewId = getPageViewId(); // So we know what document.title was at the time of trackPageView lastDocumentTitle = document.title; @@ -1291,6 +1327,10 @@ export function Tracker( preservePageViewId = true; }, + preservePageViewIdForUrl: function (preserve: PreservePageViewIdForUrl) { + preservePageViewIdForUrl = preserve; + }, + disableAnonymousTracking: function (configuration?: DisableAnonymousTrackingConfiguration) { trackerConfiguration.anonymousTracking = false; diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index d6ce73c0f..a93973bd6 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -46,6 +46,9 @@ export type ExtendedCrossDomainLinkerAttributes = { export type ExtendedCrossDomainLinkerOptions = boolean | ExtendedCrossDomainLinkerAttributes; +/* Setting for the `preservePageViewIdForUrl` configuration that decides how to preserve the pageViewId on URL changes. */ +export type PreservePageViewIdForUrl = boolean | 'full' | 'pathname' | 'pathnameAndSearch'; + /** * The configuration object for initialising the tracker * @example @@ -266,6 +269,17 @@ export type TrackerConfiguration = { * @param data - The data associated with the event(s) that failed to send */ onRequestFailure?: (data: RequestFailure) => void; + + /** + * Decide how the `pageViewId` should be preserved based on the URL. + * If set to `false`, the `pageViewId` will be regenerated on the second and each following page view event (first page view doesn't change the page view ID since tracker initialization). + * If set to `true` or `'full'`, the `pageViewId` will be kept the same for all page views with that exact URL (even for events tracked before the page view event). + * If set to `'pathname'`, the `pageViewId` will be kept the same for all page views with the same pathname (search params or fragment may change). + * If set to `'pathnameAndSearch'`, the `pageViewId` will be kept the same for all page views with the same pathname and search params (fragment may change). + * If `preservePageViewId` is enabled, the `preservePageViewIdForUrl` setting is ignored. + * Defaults to `false`. + */ + preservePageViewIdForUrl?: PreservePageViewIdForUrl; }; /** @@ -603,6 +617,17 @@ export interface BrowserTracker { */ preservePageViewId: () => void; + /** + * Decide how the `pageViewId` should be preserved based on the URL. + * If set to `false`, the `pageViewId` will be regenerated on the second and each following page view event (first page view doesn't change the page view ID since tracker initialization). + * If set to `true` or `'full'`, the `pageViewId` will be kept the same for all page views with that exact URL (even for events tracked before the page view event). + * If set to `'pathname'`, the `pageViewId` will be kept the same for all page views with the same pathname (search params or fragment may change). + * If set to `'pathnameAndSearch'`, the `pageViewId` will be kept the same for all page views with the same pathname and search params (fragment may change). + * If `preservePageViewId` is enabled, the `preservePageViewIdForUrl` setting is ignored. + * Defaults to `false`. + */ + preservePageViewIdForUrl: (preserve: PreservePageViewIdForUrl) => void; + /** * Log visit to this page * diff --git a/libraries/browser-tracker-core/test/helpers/index.ts b/libraries/browser-tracker-core/test/helpers/index.ts index b2a617fc3..b2a3acff3 100644 --- a/libraries/browser-tracker-core/test/helpers/index.ts +++ b/libraries/browser-tracker-core/test/helpers/index.ts @@ -75,7 +75,7 @@ export function createTestSessionIdCookie(params?: CreateTestSessionIdCookie) { return `_sp_ses.${domainHash}=*; Expires=; Path=/; SameSite=None; Secure;`; } -export function createTracker(configuration?: TrackerConfiguration) { +export function createTracker(configuration?: TrackerConfiguration, sharedState?: SharedState) { let id = 'sp-' + Math.random(); - return addTracker(id, id, '', '', new SharedState(), configuration); + return addTracker(id, id, '', '', sharedState ?? new SharedState(), configuration); } diff --git a/libraries/browser-tracker-core/test/tracker/page_view_id.test.ts b/libraries/browser-tracker-core/test/tracker/page_view_id.test.ts new file mode 100644 index 000000000..e573a5fd2 --- /dev/null +++ b/libraries/browser-tracker-core/test/tracker/page_view_id.test.ts @@ -0,0 +1,359 @@ +/* + * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import { createTracker } from '../helpers'; + +describe('Tracker API: page view IDs', () => { + it('Keeps the page view ID when URL changes', () => { + const tracker = createTracker(); + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + tracker?.setCustomUrl('http://example.com/2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + + describe('preservePageViewIdForUrl: false', () => { + it('Generates new page view ID on second page view', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl(false); + + const pageView1 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView2 = tracker?.getPageViewId(); + const pageView3 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView4 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + expect(pageView2).toEqual(pageView3); + expect(pageView3).not.toEqual(pageView4); + }); + + it("Doesn't generate new page view ID when URL is changed", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl(false); + + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + }); + + describe('preservePageViewIdForUrl: full', () => { + it("Generates new page view ID on second page view on the same URL", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('full'); + + const pageView1 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView2 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView3 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + expect(pageView2).not.toEqual(pageView3); + }); + + it("Doesn't generate new page view ID for the same URL", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('full'); + + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + + it('Generates new page view ID when URL changes', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('full'); + + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + + it('Generates new page view ID when hash param changes', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('full'); + + tracker?.setCustomUrl('http://example.com/#1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/#2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + + it('Generates new page view ID when search param changes', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('full'); + + tracker?.setCustomUrl('http://example.com/?test=1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/?test=2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + + it('Works the same way if set to true', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl(true); + + tracker?.setCustomUrl('http://example.com/#1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/#2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + + it('Works the same way if configured through createTracker', () => { + const tracker = createTracker({ preservePageViewIdForUrl: 'full' }); + + tracker?.setCustomUrl('http://example.com/?test=1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/?test=2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + }); + + describe('preservePageViewIdForUrl: pathname', () => { + it("Generates new page view ID on second page view on the same URL", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathname'); + + const pageView1 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView2 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView3 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + expect(pageView2).not.toEqual(pageView3); + }); + + it("Doesn't generate new page view ID for the same URL", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathname'); + + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + + it("Doesn't generate new page view ID when hash param changes", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathname'); + + tracker?.setCustomUrl('http://example.com/#1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/#2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + + it("Doesn't generate new page view ID when search param changes", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathname'); + + tracker?.setCustomUrl('http://example.com/?test=1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/?test=2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + + it('Generates a new page view ID when the path changes', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathname'); + + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + }); + + describe('preservePageViewIdForUrl: pathnameAndSearch', () => { + it("Generates new page view ID on second page view on the same URL", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathnameAndSearch'); + + const pageView1 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView2 = tracker?.getPageViewId(); + + tracker?.trackPageView(); + const pageView3 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + expect(pageView2).not.toEqual(pageView3); + }); + + it("Doesn't generate new page view ID for the same URL", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathnameAndSearch'); + + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + + it("Doesn't generate new page view ID when hash param changes", () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathnameAndSearch'); + + tracker?.setCustomUrl('http://example.com/#1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/#2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + }); + + it('Generates new page view ID when search param changes', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathnameAndSearch'); + + tracker?.setCustomUrl('http://example.com/?test=1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/?test=2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + + it('Generates a new page view ID when the path changes', () => { + const tracker = createTracker(); + tracker?.preservePageViewIdForUrl('pathnameAndSearch'); + + tracker?.setCustomUrl('http://example.com/1'); + const pageView1 = tracker?.getPageViewId(); + + tracker?.setCustomUrl('http://example.com/2'); + const pageView2 = tracker?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + }); + }); + + describe('Multiple trackers with a shared state', () => { + it('Keeps the page view ID for each page view pairs', () => { + const tracker1 = createTracker(); + const tracker2 = createTracker(undefined, tracker1?.sharedState); + + tracker1?.setCustomUrl('http://example.com/1'); + tracker1?.trackPageView(); + const pageView1 = tracker1?.getPageViewId(); + + tracker2?.trackPageView(); + const pageView2 = tracker2?.getPageViewId(); + + expect(pageView1).toEqual(pageView2); + + tracker1?.trackPageView(); + const pageView3 = tracker1?.getPageViewId(); + + tracker2?.trackPageView(); + const pageView4 = tracker2?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView3); + expect(pageView3).toEqual(pageView4); + }); + + it("Doesn't keep the page view ID for multiple calls to one tracker", () => { + const tracker1 = createTracker(); + const tracker2 = createTracker(undefined, tracker1?.sharedState); + + tracker1?.setCustomUrl('http://example.com/1'); + tracker1?.trackPageView(); + const pageView1 = tracker1?.getPageViewId(); + tracker1?.trackPageView(); + const pageView2 = tracker1?.getPageViewId(); + + tracker2?.trackPageView(); + const pageView3 = tracker2?.getPageViewId(); + + expect(pageView1).not.toEqual(pageView2); + expect(pageView2).toEqual(pageView3); + + tracker1?.trackPageView(); + const pageView4 = tracker1?.getPageViewId(); + + tracker2?.trackPageView(); + const pageView5 = tracker2?.getPageViewId(); + + expect(pageView3).not.toEqual(pageView4); + expect(pageView4).toEqual(pageView5); + }); + }); +}); diff --git a/trackers/browser-tracker/src/index.ts b/trackers/browser-tracker/src/index.ts index 874cb58d5..dfe3701b9 100644 --- a/trackers/browser-tracker/src/index.ts +++ b/trackers/browser-tracker/src/index.ts @@ -43,6 +43,7 @@ import { GetBatch, PostBatch, ParsedIdCookie, + PreservePageViewIdForUrl, } from '@snowplow/browser-tracker-core'; import { version } from '@snowplow/tracker-core'; @@ -91,6 +92,7 @@ export { GetBatch, PostBatch, ParsedIdCookie, + PreservePageViewIdForUrl, }; export { version }; export * from './api'; From 4def104ca82bcbaf436412cd00937da173ffecd2 Mon Sep 17 00:00:00 2001 From: Jack Keene Date: Thu, 13 Jun 2024 14:30:29 +0100 Subject: [PATCH 024/277] Export MediaEventType from media plugin (Close #1315) PR #1316 * Expose MediaEventType from media plugin api --- ...port-media-event-type_2024-06-06-05-59.json | 10 ++++++++++ ...port-media-event-type_2024-06-06-05-59.json | 10 ++++++++++ plugins/browser-plugin-media/src/api.ts | 18 +++++++++++++----- 3 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json diff --git a/common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json b/common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json new file mode 100644 index 000000000..232694363 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media", + "comment": "Expose MediaEventType", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json b/common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json new file mode 100644 index 000000000..adcc4e624 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Expose MediaEventType", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-media/src/api.ts b/plugins/browser-plugin-media/src/api.ts index 8ef0bbf91..7ac81e8c1 100644 --- a/plugins/browser-plugin-media/src/api.ts +++ b/plugins/browser-plugin-media/src/api.ts @@ -23,7 +23,7 @@ import { EventWithContext, } from './types'; -export { MediaAdBreakType as MediaPlayerAdBreakType }; +export { MediaAdBreakType as MediaPlayerAdBreakType, MediaEventType }; const _trackers: Record = {}; const _context: Record = {}; @@ -396,7 +396,9 @@ export function trackMediaAdSkip( trackers: Array = Object.keys(_trackers) ) { let { percentProgress } = args; - if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + if (percentProgress !== undefined) { + percentProgress = Math.floor(percentProgress); + } track( { mediaEvent: { @@ -506,7 +508,9 @@ export function trackMediaAdClick( trackers: Array = Object.keys(_trackers) ) { let { percentProgress } = args; - if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + if (percentProgress !== undefined) { + percentProgress = Math.floor(percentProgress); + } track( { mediaEvent: { @@ -534,7 +538,9 @@ export function trackMediaAdPause( trackers: Array = Object.keys(_trackers) ) { let { percentProgress } = args; - if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + if (percentProgress !== undefined) { + percentProgress = Math.floor(percentProgress); + } track( { mediaEvent: { @@ -563,7 +569,9 @@ export function trackMediaAdResume( trackers: Array = Object.keys(_trackers) ) { let { percentProgress } = args; - if (percentProgress !== undefined) { percentProgress = Math.floor(percentProgress); } + if (percentProgress !== undefined) { + percentProgress = Math.floor(percentProgress); + } track( { mediaEvent: { From 9b7e4f6cc7c5089b706413cf79d4846e5e7bb0e4 Mon Sep 17 00:00:00 2001 From: Marcin Juraszek <10106352+marcin-j@users.noreply.github.com> Date: Tue, 18 Jun 2024 08:51:59 +0200 Subject: [PATCH 025/277] Fix custom document title override using setDocumentTitle (close #1317) PR #1318 --- .../marcin-j-master_2024-06-18-05-25.json | 10 ++++++++++ libraries/browser-tracker-core/src/tracker/index.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json diff --git a/common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json b/common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json new file mode 100644 index 000000000..e88cb3be9 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Fix custom document title override using setDocumentTitle (#1317)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" + } diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index c5e7d01de..1b478fc32 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -987,7 +987,7 @@ export function Tracker( // So we know what document.title was at the time of trackPageView lastDocumentTitle = document.title; - lastConfigTitle = title; + lastConfigTitle = title ?? lastConfigTitle; // Fixup page title const pageTitle = fixupTitle(lastConfigTitle || lastDocumentTitle); From f1dba87a92e1aa57084b185e59a3712c7ccf697a Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Mon, 17 Jun 2024 12:53:50 +0100 Subject: [PATCH 026/277] Handle Infinity and NaN durations in Html Media Tracking (close #1319) --- ...-html-media-tracking_2024-06-17-11-53.json | 10 +++ .../src/buildMediaEvent.ts | 3 +- .../src/helperFunctions.ts | 10 +++ .../test/media.test.ts | 67 +++++++++++++++++++ 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json new file mode 100644 index 000000000..4364a0735 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media-tracking", + "comment": "Handle Infinity/NaN durations in Media Tracking", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts b/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts index 1223ed88c..8223da616 100644 --- a/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts +++ b/plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts @@ -2,6 +2,7 @@ import { eventNames, NETWORK_STATE, READY_STATE } from './constants'; import { MediaElement, MediaPlayer, MediaPlayerEvent, VideoElement } from './contexts'; import { dataUrlHandler, + getDuration, getUriFileExtension, isElementFullScreen, textTrackListToJson, @@ -29,7 +30,7 @@ export function buildMediaEvent( function getMediaPlayerEntities(el: HTMLAudioElement | HTMLVideoElement, detail?: EventDetail): MediaEntities { const data: MediaPlayer = { currentTime: el.currentTime || 0, - duration: el.duration || 0, + duration: getDuration(el), ended: el.ended, loop: el.loop, muted: el.muted, diff --git a/plugins/browser-plugin-media-tracking/src/helperFunctions.ts b/plugins/browser-plugin-media-tracking/src/helperFunctions.ts index 1d0653c4f..1a3a2a915 100644 --- a/plugins/browser-plugin-media-tracking/src/helperFunctions.ts +++ b/plugins/browser-plugin-media-tracking/src/helperFunctions.ts @@ -113,3 +113,13 @@ export function dataUrlHandler(url: string): string { } return url; } + +export function getDuration(el: HTMLAudioElement | HTMLVideoElement): number | null { + const duration = el.duration; + // A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. + if (isNaN(duration) || duration === Infinity) { + return null; + } + + return duration; +} diff --git a/plugins/browser-plugin-media-tracking/test/media.test.ts b/plugins/browser-plugin-media-tracking/test/media.test.ts index 7bc7eb26a..884773bca 100644 --- a/plugins/browser-plugin-media-tracking/test/media.test.ts +++ b/plugins/browser-plugin-media-tracking/test/media.test.ts @@ -33,6 +33,7 @@ import { findMediaElem } from '../src/findMediaElement'; import { boundaryErrorHandling, dataUrlHandler, + getDuration, getUriFileExtension, trackingOptionsParser, } from '../src/helperFunctions'; @@ -239,3 +240,69 @@ describe('getUriFileExtension', () => { expect(output).toBe(null); }); }); + +describe('getDuration of a ', () => { + describe('video element', () => { + it('returns the duration if valid', () => { + const video = { duration: 10 } as HTMLVideoElement; + const output = getDuration(video); + expect(output).toBe(10); + }); + + it('returns null if the duration is Infinity', () => { + const video = { duration: Infinity } as HTMLVideoElement; + const output = getDuration(video); + expect(output).toBe(null); + }); + + it('returns null if the duration is +Infinity', () => { + const video = { duration: +Infinity } as HTMLVideoElement; + const output = getDuration(video); + expect(output).toBe(null); + }); + + it('returns null if the duration is NaN', () => { + const video = { duration: NaN } as HTMLVideoElement; + const output = getDuration(video); + expect(output).toBe(null); + }); + + it('returns null if the duration is not available', () => { + const video = {} as HTMLVideoElement; + const output = getDuration(video); + expect(output).toBe(null); + }); + }); + + describe('audio element', () => { + it('returns the duration if valid', () => { + const audio = { duration: 10 } as HTMLAudioElement; + const output = getDuration(audio); + expect(output).toBe(10); + }); + + it('returns null if the duration is Infinity', () => { + const audio = { duration: Infinity } as HTMLAudioElement; + const output = getDuration(audio); + expect(output).toBe(null); + }); + + it('returns null if the duration is +Infinity', () => { + const audio = { duration: +Infinity } as HTMLAudioElement; + const output = getDuration(audio); + expect(output).toBe(null); + }); + + it('returns null if the duration is NaN', () => { + const audio = { duration: NaN } as HTMLAudioElement; + const output = getDuration(audio); + expect(output).toBe(null); + }); + + it('returns null if the duration is not available', () => { + const audio = {} as HTMLAudioElement; + const output = getDuration(audio); + expect(output).toBe(null); + }); + }); +}); From 6e4c96b382dff4fa456d3f31a6e0919ea062293b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Thu, 20 Jun 2024 07:19:53 +0200 Subject: [PATCH 027/277] Prepare for release 3.24.0 --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index e53e1151b..a61f0176c 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -42,6 +42,6 @@ * * Valid values are: "prerelease", "release", "minor", "patch", "major" */ - "nextBump": "patch" + "nextBump": "minor" } ] From 398c2e43863a5ffb9eb905dc819b9b8a9f1e415d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 08:31:05 +0000 Subject: [PATCH 028/277] Update changelogs [skip ci] --- ...ling-html-media-tracking_2024-06-17-11-53.json | 10 ---------- ...-export-media-event-type_2024-06-06-05-59.json | 10 ---------- .../issue-1307-page_view_id_2024-05-02-13-51.json | 10 ---------- .../marcin-j-master_2024-06-18-05-25.json | 10 ---------- .../issue-1307-page_view_id_2024-05-02-14-18.json | 10 ---------- ...-export-media-event-type_2024-06-06-05-59.json | 10 ---------- .../issue-1307-page_view_id_2024-05-15-06-21.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 15 +++++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 10 +++++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ .../browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- .../browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-media-tracking/CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-media-tracking/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-media/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-media/CHANGELOG.md | 9 ++++++++- .../browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ .../browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- .../browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- .../browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ .../browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 15 +++++++++++++++ trackers/browser-tracker/CHANGELOG.md | 10 +++++++++- trackers/javascript-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 9 ++++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 75 files changed, 456 insertions(+), 104 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json delete mode 100644 common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json b/common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json deleted file mode 100644 index 4364a0735..000000000 --- a/common/changes/@snowplow/browser-plugin-media-tracking/issue-1319-duration-handling-html-media-tracking_2024-06-17-11-53.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media-tracking", - "comment": "Handle Infinity/NaN durations in Media Tracking", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json b/common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json deleted file mode 100644 index 232694363..000000000 --- a/common/changes/@snowplow/browser-plugin-media/issue-export-media-event-type_2024-06-06-05-59.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media", - "comment": "Expose MediaEventType", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json b/common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json deleted file mode 100644 index 56d2a4010..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1307-page_view_id_2024-05-02-13-51.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json b/common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json deleted file mode 100644 index e88cb3be9..000000000 --- a/common/changes/@snowplow/browser-tracker-core/marcin-j-master_2024-06-18-05-25.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Fix custom document title override using setDocumentTitle (#1317)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" - } diff --git a/common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json b/common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json deleted file mode 100644 index a1acbb772..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-1307-page_view_id_2024-05-02-14-18.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json b/common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json deleted file mode 100644 index adcc4e624..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-export-media-event-type_2024-06-06-05-59.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Expose MediaEventType", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json b/common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json deleted file mode 100644 index 985490b5a..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-1307-page_view_id_2024-05-15-06-21.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Fix running integration tests due to a problem with Micro", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index fbb529fe2..e25290531 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-tracker-core_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": { + "none": [ + { + "comment": "Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125)" + }, + { + "comment": "Fix custom document title override using setDocumentTitle (#1317)" + } + ] + } + }, { "version": "3.23.1", "tag": "@snowplow/browser-tracker-core_v3.23.1", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index a9a845079..e2e655d3f 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +### Updates + +- Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125) +- Fix custom document title override using setDocumentTitle (#1317) ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index c05f11869..e30dc0c2b 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/tracker-core_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/tracker-core_v3.23.1", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index af419f6b2..8c71681b0 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 0ca7ae4db..2c1ff1649 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-ad-tracking_v3.23.1", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 6df51235b..1183d3e9a 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 78b0af2a3..243ac6f66 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-browser-features_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-browser-features_v3.23.1", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index b28aaa7be..4277b0c2b 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 454525c92..633fb311d 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.23.1", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index ed75c9896..5e1ec646d 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index f4407538c..6c36893e2 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-client-hints_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-client-hints_v3.23.1", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 4d696742e..9e91ab3de 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 5a08dde04..f5c16e204 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-consent_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-consent_v3.23.1", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index eb4905ac6..74993df2b 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index dad1d6801..df9ee7016 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-debugger_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-debugger_v3.23.1", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index a2ee8a94b..57d5bb8d1 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 5cd7c2de5..58a52db37 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-ecommerce_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-ecommerce_v3.23.1", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index b37bc3f4c..a70afd488 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index b552aeadd..e60898e89 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.23.1", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 7e16dc2f4..bc72c4f59 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 5f21dc1ef..26dfb6794 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.23.1", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index f553af4bc..24b405d52 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 3cc9841f6..e407ca775 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-error-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-error-tracking_v3.23.1", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 49499e5a8..579a01ab1 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index 0fad7ecde..2b12d837e 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-event-specifications_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-event-specifications_v3.23.1", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index 4189d8315..ddb79c961 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index 825e4df8b..e540aca45 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-focalmeter_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-focalmeter_v3.23.1", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 0162fe4fe..50a81b106 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 8716e5c0c..7bb1b51ce 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-form-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-form-tracking_v3.23.1", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 9f0375e1a..506efd350 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index e0f9e6468..7095b009b 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-ga-cookies_v3.23.1", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index f63505b08..f8af2bde3 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 7734e67b5..c52628862 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-geolocation_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-geolocation_v3.23.1", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 6a6d05578..e8308ec6c 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index b42855edd..d5b798bab 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.23.1", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 5c43a1251..5bf8eb810 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 32bc95657..28231f160 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-media-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": { + "none": [ + { + "comment": "Handle Infinity/NaN durations in Media Tracking" + } + ] + } + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-media-tracking_v3.23.1", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 53b4f0725..5c1ba9445 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +### Updates + +- Handle Infinity/NaN durations in Media Tracking ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index cae8094ef..790918a1f 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-media_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": { + "none": [ + { + "comment": "Expose MediaEventType" + } + ] + } + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-media_v3.23.1", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index fa5330442..3612758e2 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +### Updates + +- Expose MediaEventType ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index f9d61a14f..2f1be0fc5 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-optimizely-x_v3.23.1", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 0e7b9fade..245e4aeef 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 42274b00a..70643a7c1 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-optimizely_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-optimizely_v3.23.1", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 89dc0062d..707459ae7 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index ed52ca0d5..266f034a2 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.23.1", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index d1b71630e..494388d6f 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 25fc1632d..8cb29c931 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-performance-timing_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-performance-timing_v3.23.1", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index f7e8dd5e3..f6da34f10 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index cd66ee224..30469802c 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.23.1", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index bb41fc63f..07a7a7c20 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index b333a4d5d..1c67ba1c0 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-site-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-site-tracking_v3.23.1", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 304c3ff95..9a9d32d8f 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 7fb8f9150..48d4596d8 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.23.1", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index cff4b2de4..ed10559da 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index dfc88a3f0..c36ed86bc 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-timezone_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-timezone_v3.23.1", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index af9811bd0..9097d6615 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 5abd9c040..af6b89f04 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.23.1", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index ef6e4c8ae..a03e2fcf5 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 38b7a877a..f969e553f 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-web-vitals_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-web-vitals_v3.23.1", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 7864283a6..abaf106fc 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index d2d111577..8660a0a2a 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.23.1", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index b7034ccf6..843ff566b 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 62bd96f59..0c52f951c 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/browser-tracker_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": { + "none": [ + { + "comment": "Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125)" + }, + { + "comment": "Expose MediaEventType" + } + ] + } + }, { "version": "3.23.1", "tag": "@snowplow/browser-tracker_v3.23.1", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index fdd11bb7e..66549763d 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +### Updates + +- Add an option to generate the page view ID according to changes in the page URL to account for events tracked before page views in SPAs (#1307 and #1125) +- Expose MediaEventType ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 27df26b6b..08a1177ce 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/javascript-tracker_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": { + "none": [ + { + "comment": "Fix running integration tests due to a problem with Micro" + } + ] + } + }, { "version": "3.23.1", "tag": "@snowplow/javascript-tracker_v3.23.1", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index b145a8a06..c891a4936 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +### Updates + +- Fix running integration tests due to a problem with Micro ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 6c1ad1e35..7e02f304e 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.24.0", + "tag": "@snowplow/node-tracker_v3.24.0", + "date": "Tue, 25 Jun 2024 08:31:05 GMT", + "comments": {} + }, { "version": "3.23.1", "tag": "@snowplow/node-tracker_v3.23.1", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 2217cf487..3188eec48 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Tue, 04 Jun 2024 13:34:45 GMT and should not be manually modified. +This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. + +## 3.24.0 +Tue, 25 Jun 2024 08:31:05 GMT + +_Version update only_ ## 3.23.1 Tue, 04 Jun 2024 13:34:45 GMT From 4dfbd7e5494ced908c759cc68fa874223542820d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 08:31:05 +0000 Subject: [PATCH 029/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index a61f0176c..0ca9edc41 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.23.1", + "version": "3.24.0", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 7d900f06b..0b4f1aedf 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.23.1", + "version": "3.24.0", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 372fbddd3..71881aded 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.23.1", + "version": "3.24.0", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index fc05217d8..a95d05ff6 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 725d17034..1f526bc47 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index c78d02afe..cd904f560 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index b2edec369..bce873d33 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index aadf3ef01..00f9eac9b 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.23.1", + "version": "3.24.0", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 16963fd77..114480629 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.23.1", + "version": "3.24.0", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 3258d60ee..8fc529ec5 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.23.1", + "version": "3.24.0", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index e3594d97f..e57c062d5 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.23.1", + "version": "3.24.0", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 278aadf86..d2000a627 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.23.1", + "version": "3.24.0", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index f3bae84f0..e16e0a985 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index a5831bca3..3a5496f56 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.23.1", + "version": "3.24.0", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index ae7f597dd..d189d3bf4 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.23.1", + "version": "3.24.0", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index a4694878f..d295fd256 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 6b67e4345..3e19ba970 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 3e2fa669a..f63b84d2d 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 387121577..0b04f9a4c 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 87f471b62..d6e64a90b 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 2f463173d..45d9dc1cf 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.23.1", + "version": "3.24.0", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index b4bc86639..29a536968 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index fba139b7a..074c116d8 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 5e441d923..0aea0aa69 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index d8259942d..167ce1482 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index ef29f186b..44546ed85 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.23.1", + "version": "3.24.0", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 37f26bb46..49cbedf05 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 6c2c90743..d9cac1974 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.23.1", + "version": "3.24.0", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 909cda529..35e627067 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.23.1", + "version": "3.24.0", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index f2077ffc7..d5ca1d2f5 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 812679d35..092715f33 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.23.1", + "version": "3.24.0", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 647022756..ec0c6323d 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.23.1", + "version": "3.24.0", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.23.1" + "@snowplow/browser-tracker": "~3.24.0" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 590077568..d1fb48bce 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.23.1", + "version": "3.24.0", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index b6035fedf..3ffe36205 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.23.1", + "version": "3.24.0", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index fd9943afe..6b7166730 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.23.1", + "version": "3.24.0", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From bea8358b2b16819155cdf95ae8d9ea0328f9210b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 08:34:31 +0000 Subject: [PATCH 030/277] Applying documentation updates. --- .../markdown/browser-tracker.browsertracker.md | 1 + ...acker.browsertracker.preservepageviewidforurl.md | 13 +++++++++++++ .../browser-tracker/markdown/browser-tracker.md | 1 + .../browser-tracker.preservepageviewidforurl.md | 11 +++++++++++ .../browser-tracker.trackerconfiguration.md | 1 + 5 files changed, 27 insertions(+) create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.preservepageviewidforurl.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.preservepageviewidforurl.md diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md index 84a94454c..151168e3b 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.md @@ -40,6 +40,7 @@ interface BrowserTracker | [namespace](./browser-tracker.browsertracker.namespace.md) | string | The tracker namespace | | [newSession](./browser-tracker.browsertracker.newsession.md) | () => void | Expires current session and starts a new session. | | [preservePageViewId](./browser-tracker.browsertracker.preservepageviewid.md) | () => void | Stop regenerating pageViewId (available from web_page context) | +| [preservePageViewIdForUrl](./browser-tracker.browsertracker.preservepageviewidforurl.md) | (preserve: PreservePageViewIdForUrl) => void | Decide how the pageViewId should be preserved based on the URL. If set to false, the pageViewId will be regenerated on the second and each following page view event (first page view doesn't change the page view ID since tracker initialization). If set to true or 'full', the pageViewId will be kept the same for all page views with that exact URL (even for events tracked before the page view event). If set to 'pathname', the pageViewId will be kept the same for all page views with the same pathname (search params or fragment may change). If set to 'pathnameAndSearch', the pageViewId will be kept the same for all page views with the same pathname and search params (fragment may change). If preservePageViewId is enabled, the preservePageViewIdForUrl setting is ignored. Defaults to false. | | [setBufferSize](./browser-tracker.browsertracker.setbuffersize.md) | (newBufferSize: number) => void | Alter buffer size Can be useful if you want to stop batching requests to ensure events start sending closer to event creation | | [setCollectorUrl](./browser-tracker.browsertracker.setcollectorurl.md) | (collectorUrl: string) => void | Specify the Snowplow collector URL. Specific http or https to force it or leave it off to match the website protocol. | | [setCookiePath](./browser-tracker.browsertracker.setcookiepath.md) | (path: string) => void | Set first-party cookie path | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.preservepageviewidforurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.preservepageviewidforurl.md new file mode 100644 index 000000000..701b238b7 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.browsertracker.preservepageviewidforurl.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [BrowserTracker](./browser-tracker.browsertracker.md) > [preservePageViewIdForUrl](./browser-tracker.browsertracker.preservepageviewidforurl.md) + +## BrowserTracker.preservePageViewIdForUrl property + +Decide how the `pageViewId` should be preserved based on the URL. If set to `false`, the `pageViewId` will be regenerated on the second and each following page view event (first page view doesn't change the page view ID since tracker initialization). If set to `true` or `'full'`, the `pageViewId` will be kept the same for all page views with that exact URL (even for events tracked before the page view event). If set to `'pathname'`, the `pageViewId` will be kept the same for all page views with the same pathname (search params or fragment may change). If set to `'pathnameAndSearch'`, the `pageViewId` will be kept the same for all page views with the same pathname and search params (fragment may change). If `preservePageViewId` is enabled, the `preservePageViewIdForUrl` setting is ignored. Defaults to `false`. + +Signature: + +```typescript +preservePageViewIdForUrl: (preserve: PreservePageViewIdForUrl) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index ef4d923a7..df73342ea 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -93,6 +93,7 @@ | [ParsedIdCookie](./browser-tracker.parsedidcookie.md) | The format of state elements stored in the id cookie. | | [Platform](./browser-tracker.platform.md) | | | [PostBatch](./browser-tracker.postbatch.md) | A collection of POST events which are sent to the collector. This will be a collection of JSON objects. | +| [PreservePageViewIdForUrl](./browser-tracker.preservepageviewidforurl.md) | | | [RequestFailure](./browser-tracker.requestfailure.md) | The data that will be available to the onRequestFailure callback | | [RuleSetProvider](./browser-tracker.rulesetprovider.md) | A ruleset provider is aa tuple that has two parts: a ruleset and the context primitive(s) If the ruleset allows the current event schema URI, the tracker will attach the context primitive(s) | | [SelfDescribingJson](./browser-tracker.selfdescribingjson.md) | Export interface for any Self-Describing JSON such as context or Self Describing events | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.preservepageviewidforurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.preservepageviewidforurl.md new file mode 100644 index 000000000..d9acb5f32 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.preservepageviewidforurl.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PreservePageViewIdForUrl](./browser-tracker.preservepageviewidforurl.md) + +## PreservePageViewIdForUrl type + +Signature: + +```typescript +type PreservePageViewIdForUrl = boolean | "full" | "pathname" | "pathnameAndSearch"; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md index 657c856aa..dbd899188 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md @@ -45,6 +45,7 @@ type TrackerConfiguration = { retryFailedRequests?: boolean; onRequestSuccess?: (data: EventBatch) => void; onRequestFailure?: (data: RequestFailure) => void; + preservePageViewIdForUrl?: PreservePageViewIdForUrl; }; ``` From ddbf17aefb8169a225cefd691d519f218bcf217f Mon Sep 17 00:00:00 2001 From: EricHeitmuller-Gusto <153567695+EricHeitmuller-Gusto@users.noreply.github.com> Date: Thu, 27 Jun 2024 23:10:39 -0700 Subject: [PATCH 031/277] Fix ResizeObserver initialization if document.body does not exist yet (close #1311) PR #1322 --- ...ore-document-body-ready_2024-06-27-05-58.json | 10 ++++++++++ .../src/helpers/browser_props.ts | 3 +++ .../test/browser_props.test.ts | 16 +++++++++++++++- 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json b/common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json new file mode 100644 index 000000000..af201dff9 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Fix ResizeObserver initialization if document.body does not exist yet (#1311)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/helpers/browser_props.ts b/libraries/browser-tracker-core/src/helpers/browser_props.ts index 41250364a..4a247550d 100644 --- a/libraries/browser-tracker-core/src/helpers/browser_props.ts +++ b/libraries/browser-tracker-core/src/helpers/browser_props.ts @@ -22,6 +22,9 @@ function initializeResizeObserver() { if (resizeObserverInitialized) { return; } + if(!document || !document.body || !document.documentElement) { + return; + } resizeObserverInitialized = true; const resizeObserver = new ResizeObserver((entries) => { diff --git a/libraries/browser-tracker-core/test/browser_props.test.ts b/libraries/browser-tracker-core/test/browser_props.test.ts index 73a456e51..238c99ecb 100644 --- a/libraries/browser-tracker-core/test/browser_props.test.ts +++ b/libraries/browser-tracker-core/test/browser_props.test.ts @@ -1,4 +1,4 @@ -import { floorDimensionFields } from '../src/helpers/browser_props'; +import { floorDimensionFields, getBrowserProperties } from '../src/helpers/browser_props'; describe('Browser props', () => { it('floorDimensionFields correctly floors dimension type values', () => { @@ -10,4 +10,18 @@ describe('Browser props', () => { const testFractionalDimensions = '100.2x100.1'; expect(floorDimensionFields(testFractionalDimensions)).toEqual('100x100'); }); + + describe('#getBrowserProperties', () => { + describe('with undefined document', () => { + beforeAll(() => { + // @ts-expect-error + document = undefined; + }); + + it('does not invoke the resize observer if the document is null', () => { + const browserProperties = getBrowserProperties(); + expect(browserProperties).not.toEqual(null); + }); + }); + }); }); From 910306c646d3dd0187db83f1239c7ebb2213636f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Mon, 1 Jul 2024 19:45:37 +0200 Subject: [PATCH 032/277] Prepare for 3.24.1 release --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 0ca9edc41..17aa6e2e4 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -42,6 +42,6 @@ * * Valid values are: "prerelease", "release", "minor", "patch", "major" */ - "nextBump": "minor" + "nextBump": "patch" } ] From cb9b6ad1dcce25276dc3a4e01f7db089a3c92fd2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 07:08:17 +0000 Subject: [PATCH 033/277] Update changelogs [skip ci] --- ...-before-document-body-ready_2024-06-27-05-58.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 9 ++++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-event-specifications/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 6 ++++++ trackers/javascript-tracker/CHANGELOG.md | 7 ++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 69 files changed, 416 insertions(+), 44 deletions(-) delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json b/common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json deleted file mode 100644 index af201dff9..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1311-reszieobserver-invoked-before-document-body-ready_2024-06-27-05-58.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Fix ResizeObserver initialization if document.body does not exist yet (#1311)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index e25290531..da70c9a34 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-tracker-core_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": { + "none": [ + { + "comment": "Fix ResizeObserver initialization if document.body does not exist yet (#1311)" + } + ] + } + }, { "version": "3.24.0", "tag": "@snowplow/browser-tracker-core_v3.24.0", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index e2e655d3f..9d2742dd4 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +### Updates + +- Fix ResizeObserver initialization if document.body does not exist yet (#1311) ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index e30dc0c2b..462ebdceb 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/tracker-core_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/tracker-core_v3.24.0", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 8c71681b0..6c1a0bb0d 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 2c1ff1649..ca833c42b 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.0", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 1183d3e9a..1570f1cd1 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 243ac6f66..d75b54e50 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-browser-features_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-browser-features_v3.24.0", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 4277b0c2b..6d24e69ef 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 633fb311d..4fb1f0b2d 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.0", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 5e1ec646d..8137117c9 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 6c36893e2..2009ef8d9 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-client-hints_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-client-hints_v3.24.0", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 9e91ab3de..40741e72e 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index f5c16e204..b0c756f5b 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-consent_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-consent_v3.24.0", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 74993df2b..f6dbe4ef5 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index df9ee7016..acfab3579 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-debugger_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-debugger_v3.24.0", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 57d5bb8d1..e5d41be6e 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 58a52db37..b8971d314 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-ecommerce_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-ecommerce_v3.24.0", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index a70afd488..2e0d25c6a 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index e60898e89..b032da0d9 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.0", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index bc72c4f59..e6d8d5309 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 26dfb6794..e7e3b520d 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.0", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 24b405d52..ff7ae392d 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index e407ca775..e38f5b8c2 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-error-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-error-tracking_v3.24.0", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 579a01ab1..9fba3c14c 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index 2b12d837e..0cdec4565 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-event-specifications_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-event-specifications_v3.24.0", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index ddb79c961..5349b9472 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index e540aca45..503c677ba 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-focalmeter_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-focalmeter_v3.24.0", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 50a81b106..535a00b9d 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 7bb1b51ce..632c0feca 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-form-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-form-tracking_v3.24.0", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 506efd350..89a61abfc 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 7095b009b..269990334 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.0", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index f8af2bde3..e6f34e133 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index c52628862..bd75d2f83 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-geolocation_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-geolocation_v3.24.0", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index e8308ec6c..a9a269032 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index d5b798bab..4b438fd1b 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.0", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 5bf8eb810..f5c60882e 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 28231f160..8a6a87058 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-media-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-media-tracking_v3.24.0", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 5c1ba9445..3b557f6dd 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 790918a1f..73e3dba07 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-media_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-media_v3.24.0", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 3612758e2..508684977 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 2f1be0fc5..cb5b87d22 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.0", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 245e4aeef..c1eef99a1 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 70643a7c1..0ed4f2823 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-optimizely_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-optimizely_v3.24.0", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 707459ae7..07be4351f 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 266f034a2..935ad6d74 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 494388d6f..8ab019aff 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 8cb29c931..348d209eb 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-performance-timing_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-performance-timing_v3.24.0", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index f6da34f10..61e320eb3 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 30469802c..788db51ab 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.0", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 07a7a7c20..3ae263dbe 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 1c67ba1c0..0ecb083ce 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-site-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-site-tracking_v3.24.0", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 9a9d32d8f..552fb29d8 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 48d4596d8..5a04eab61 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.0", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index ed10559da..1d229ef7c 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index c36ed86bc..6eb8b9b08 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-timezone_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-timezone_v3.24.0", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 9097d6615..b7cba1d88 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index af6b89f04..581ce6a47 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.0", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index a03e2fcf5..77b297172 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index f969e553f..af667a1a7 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-web-vitals_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-web-vitals_v3.24.0", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index abaf106fc..31e59e284 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 8660a0a2a..8ed5e1e28 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.0", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 843ff566b..76fe7795b 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 0c52f951c..f5f0eb269 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/browser-tracker_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/browser-tracker_v3.24.0", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 66549763d..8609aef0c 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 08a1177ce..3d788e6f3 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/javascript-tracker_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/javascript-tracker_v3.24.0", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index c891a4936..62279ec5a 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 7e02f304e..2b54a4ecf 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.24.1", + "tag": "@snowplow/node-tracker_v3.24.1", + "date": "Tue, 02 Jul 2024 07:08:17 GMT", + "comments": {} + }, { "version": "3.24.0", "tag": "@snowplow/node-tracker_v3.24.0", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 3188eec48..1b6398f7f 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Tue, 25 Jun 2024 08:31:05 GMT and should not be manually modified. +This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. + +## 3.24.1 +Tue, 02 Jul 2024 07:08:17 GMT + +_Version update only_ ## 3.24.0 Tue, 25 Jun 2024 08:31:05 GMT From c6d6d5c04d0344d6f76be54cb4f2089c06c380d0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 07:08:17 +0000 Subject: [PATCH 034/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 17aa6e2e4..5bb893486 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.24.0", + "version": "3.24.1", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 0b4f1aedf..c6356d0d7 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.24.0", + "version": "3.24.1", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 71881aded..37472af78 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.24.0", + "version": "3.24.1", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index a95d05ff6..c3a3ed952 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 1f526bc47..db96d5b54 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index cd904f560..47d957e9a 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index bce873d33..cffe21007 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 00f9eac9b..94219577e 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.24.0", + "version": "3.24.1", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 114480629..a4cdf4b41 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.24.0", + "version": "3.24.1", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 8fc529ec5..e15c040e7 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.24.0", + "version": "3.24.1", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index e57c062d5..dbd8d1e2c 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.24.0", + "version": "3.24.1", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index d2000a627..c571e53ea 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.24.0", + "version": "3.24.1", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index e16e0a985..b213430e4 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index 3a5496f56..5dbedce68 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.24.0", + "version": "3.24.1", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index d189d3bf4..0ec893187 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.24.0", + "version": "3.24.1", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index d295fd256..684281e55 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 3e19ba970..f294a4109 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index f63b84d2d..b08776a52 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 0b04f9a4c..5d10ad8bb 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index d6e64a90b..af85ff3df 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 45d9dc1cf..9a0364d8b 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.24.0", + "version": "3.24.1", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 29a536968..2d15ad8e8 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 074c116d8..899842b85 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 0aea0aa69..bb7136048 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 167ce1482..21bdb58c2 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 44546ed85..e36fbf708 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.24.0", + "version": "3.24.1", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 49cbedf05..733f2d803 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index d9cac1974..a905b2809 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.24.0", + "version": "3.24.1", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 35e627067..14847bae1 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.24.0", + "version": "3.24.1", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index d5ca1d2f5..d2a8be501 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 092715f33..0ccddb841 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.24.0", + "version": "3.24.1", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index ec0c6323d..a5ddb830b 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.24.0", + "version": "3.24.1", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.0" + "@snowplow/browser-tracker": "~3.24.1" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index d1fb48bce..dd1dc9e23 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.24.0", + "version": "3.24.1", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 3ffe36205..ae2b3405c 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.24.0", + "version": "3.24.1", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 6b7166730..c3a70d3ca 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.24.0", + "version": "3.24.1", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 36e1d634a20e25beb9361af24ced656bea62081d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 07:11:42 +0000 Subject: [PATCH 035/277] Applying documentation updates. From 5bc47c27e5299a8773b712cdd2d4bf40f0351553 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Fri, 12 Jul 2024 11:01:06 +0200 Subject: [PATCH 036/277] Fix API docs CI action and update it's dependencies (#1324) --- .../browser-tracker/browser-tracker.api.md | 7 + ...-tracker.eventpayloadandcontext.context.md | 13 + ...er-tracker.eventpayloadandcontext.event.md | 13 + .../browser-tracker.eventpayloadandcontext.md | 21 + .../markdown/browser-tracker.md | 1 + .../node-tracker.buildconsentgranted.md | 10 +- .../node-tracker.buildconsentwithdrawn.md | 10 +- ...-tracker.eventpayloadandcontext.context.md | 13 + ...de-tracker.eventpayloadandcontext.event.md | 13 + .../node-tracker.eventpayloadandcontext.md | 21 + .../node-tracker/markdown/node-tracker.md | 1 + .../docs/node-tracker/node-tracker.api.md | 22 +- api-docs/package-lock.json | 2543 ++++++++--------- api-docs/package.json | 16 +- ...e-update_docs_action_2024-07-04-13-18.json | 10 + ...e-update_docs_action_2024-07-04-13-18.json | 10 + ...e-update_docs_action_2024-07-04-13-18.json | 10 + libraries/tracker-core/src/core.ts | 14 +- trackers/browser-tracker/src/api.ts | 2 + trackers/node-tracker/src/index.ts | 1 + 20 files changed, 1293 insertions(+), 1458 deletions(-) create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md create mode 100644 common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json create mode 100644 common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json create mode 100644 common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index 5660e9f38..8818fcbe5 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -222,6 +222,13 @@ export type EventBatch = GetBatch | PostBatch; // @public (undocumented) export type EventMethod = "post" | "get" | "beacon"; +// @public +export interface EventPayloadAndContext { + context: Array; + // Warning: (ae-forgotten-export) The symbol "PayloadBuilder" needs to be exported by the entry point index.module.d.ts + event: PayloadBuilder; +} + // @public (undocumented) export type ExtendedCrossDomainLinkerAttributes = { userId?: boolean; diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md new file mode 100644 index 000000000..977152701 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) > [context](./browser-tracker.eventpayloadandcontext.context.md) + +## EventPayloadAndContext.context property + +List of context entities to track along with the event + +Signature: + +```typescript +context: Array; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md new file mode 100644 index 000000000..6954679dd --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) > [event](./browser-tracker.eventpayloadandcontext.event.md) + +## EventPayloadAndContext.event property + +Tracker payload for the event data + +Signature: + +```typescript +event: PayloadBuilder; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md new file mode 100644 index 000000000..f1f51ca19 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) + +## EventPayloadAndContext interface + +Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). + +Signature: + +```typescript +interface EventPayloadAndContext +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [context](./browser-tracker.eventpayloadandcontext.context.md) | Array<SelfDescribingJson> | List of context entities to track along with the event | +| [event](./browser-tracker.eventpayloadandcontext.event.md) | PayloadBuilder | Tracker payload for the event data | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index df73342ea..58669c275 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -59,6 +59,7 @@ | [ContextEvent](./browser-tracker.contextevent.md) | Argument for [ContextGenerator](./browser-tracker.contextgenerator.md) and [ContextFilter](./browser-tracker.contextfilter.md) callback | | [DisableAnonymousTrackingConfiguration](./browser-tracker.disableanonymoustrackingconfiguration.md) | The configuration that can be changed when disabling anonymous tracking | | [EnableAnonymousTrackingConfiguration](./browser-tracker.enableanonymoustrackingconfiguration.md) | The configuration that can be changed when enabling anonymous tracking | +| [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) | Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). | | [FlushBufferConfiguration](./browser-tracker.flushbufferconfiguration.md) | The configuration that can be changed when flushing the buffer | | [PageViewEvent](./browser-tracker.pageviewevent.md) | A Page View event Used for tracking a page view | | [RuleSet](./browser-tracker.ruleset.md) | A ruleset has accept or reject properties that contain rules for matching Iglu schema URIs | diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md index da5d9a077..8ed40e118 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentgranted.md @@ -9,13 +9,7 @@ Build a Consent Granted Event Used for tracking when a user grants their consent Signature: ```typescript -declare function buildConsentGranted(event: ConsentGrantedEvent): { - event: PayloadBuilder; - context: { - schema: string; - data: Record; - }[]; -}; +declare function buildConsentGranted(event: ConsentGrantedEvent): EventPayloadAndContext; ``` ## Parameters @@ -26,7 +20,7 @@ declare function buildConsentGranted(event: ConsentGrantedEvent): { Returns: -{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; } +EventPayloadAndContext An object containing the PayloadBuilder to be sent to and a 'consent\_document' context diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md index dc59cff79..1c1daff46 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.buildconsentwithdrawn.md @@ -9,13 +9,7 @@ Build a Consent Withdrawn Event Used for tracking when a user withdraws their co Signature: ```typescript -declare function buildConsentWithdrawn(event: ConsentWithdrawnEvent): { - event: PayloadBuilder; - context: { - schema: string; - data: Record; - }[]; -}; +declare function buildConsentWithdrawn(event: ConsentWithdrawnEvent): EventPayloadAndContext; ``` ## Parameters @@ -26,7 +20,7 @@ declare function buildConsentWithdrawn(event: ConsentWithdrawnEvent): { Returns: -{ event: PayloadBuilder; context: { schema: string; data: Record<string, unknown>; }\[\]; } +EventPayloadAndContext An object containing the PayloadBuilder to be sent to and a 'consent\_document' context diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md new file mode 100644 index 000000000..92840df88 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) > [context](./node-tracker.eventpayloadandcontext.context.md) + +## EventPayloadAndContext.context property + +List of context entities to track along with the event + +Signature: + +```typescript +context: Array; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md new file mode 100644 index 000000000..4d9da8eb3 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) > [event](./node-tracker.eventpayloadandcontext.event.md) + +## EventPayloadAndContext.event property + +Tracker payload for the event data + +Signature: + +```typescript +event: PayloadBuilder; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md new file mode 100644 index 000000000..6e2172552 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) + +## EventPayloadAndContext interface + +Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). + +Signature: + +```typescript +interface EventPayloadAndContext +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [context](./node-tracker.eventpayloadandcontext.context.md) | Array<SelfDescribingJson> | List of context entities to track along with the event | +| [event](./node-tracker.eventpayloadandcontext.event.md) | PayloadBuilder | Tracker payload for the event data | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.md index bd0153965..774b85a63 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.md @@ -53,6 +53,7 @@ | [EcommerceTransactionEvent](./node-tracker.ecommercetransactionevent.md) | An Ecommerce Transaction Event Allows for tracking common ecommerce events, this event is usually used when a customer completes a transaction. | | [EcommerceTransactionItemEvent](./node-tracker.ecommercetransactionitemevent.md) | An Ecommerce Transaction Item Related to the [EcommerceTransactionEvent](./node-tracker.ecommercetransactionevent.md) Each Ecommerce Transaction may contain one or more EcommerceTransactionItem events | | [Emitter](./node-tracker.emitter.md) | | +| [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) | Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). | | [FormFocusOrChangeEvent](./node-tracker.formfocusorchangeevent.md) | Represents either a Form Focus or Form Change event When a user focuses on a form element or when a user makes a change to a form element. | | [FormSubmissionEvent](./node-tracker.formsubmissionevent.md) | A Form Submission Event Used to track when a user submits a form | | [LinkClickEvent](./node-tracker.linkclickevent.md) | A Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag <a> | diff --git a/api-docs/docs/node-tracker/node-tracker.api.md b/api-docs/docs/node-tracker/node-tracker.api.md index 83af9c3ba..8d75db93e 100644 --- a/api-docs/docs/node-tracker/node-tracker.api.md +++ b/api-docs/docs/node-tracker/node-tracker.api.md @@ -72,22 +72,10 @@ export function buildAddToCart(event: AddToCartEvent): PayloadBuilder; export function buildAdImpression(event: AdImpressionEvent): PayloadBuilder; // @public -export function buildConsentGranted(event: ConsentGrantedEvent): { - event: PayloadBuilder; - context: { - schema: string; - data: Record; - }[]; -}; +export function buildConsentGranted(event: ConsentGrantedEvent): EventPayloadAndContext; // @public -export function buildConsentWithdrawn(event: ConsentWithdrawnEvent): { - event: PayloadBuilder; - context: { - schema: string; - data: Record; - }[]; -}; +export function buildConsentWithdrawn(event: ConsentWithdrawnEvent): EventPayloadAndContext; // @public export function buildEcommerceTransaction(event: EcommerceTransactionEvent): PayloadBuilder; @@ -216,6 +204,12 @@ export interface Emitter { setAnonymization?: (shouldAnonymize: boolean) => void; } +// @public +export interface EventPayloadAndContext { + context: Array; + event: PayloadBuilder; +} + // @public export interface FormFocusOrChangeEvent { elementClasses?: Array | null; diff --git a/api-docs/package-lock.json b/api-docs/package-lock.json index 6654c9def..90f710db5 100644 --- a/api-docs/package-lock.json +++ b/api-docs/package-lock.json @@ -9,17 +9,17 @@ "version": "0.0.0", "license": "ISC", "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/preset-classic": "3.0.0", - "@mdx-js/react": "^3.0.0", + "@docusaurus/core": "3.4.0", + "@docusaurus/preset-classic": "3.4.0", + "@mdx-js/react": "^3.0.1", "clsx": "^1.2.1", - "prism-react-renderer": "^2.1.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "prism-react-renderer": "^2.3.1", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.0.0", - "@docusaurus/types": "3.0.0" + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/types": "3.4.0" }, "engines": { "node": ">=18.0" @@ -67,74 +67,74 @@ } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", - "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", + "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", "dependencies": { - "@algolia/cache-common": "4.20.0" + "@algolia/cache-common": "4.24.0" } }, "node_modules/@algolia/cache-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", - "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==" }, "node_modules/@algolia/cache-in-memory": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", - "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", + "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", "dependencies": { - "@algolia/cache-common": "4.20.0" + "@algolia/cache-common": "4.24.0" } }, "node_modules/@algolia/client-account": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", - "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", + "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-analytics": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", - "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", + "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", - "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", "dependencies": { - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-personalization": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", - "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", + "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/client-search": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", - "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/events": { @@ -143,47 +143,65 @@ "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" }, "node_modules/@algolia/logger-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", - "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==" }, "node_modules/@algolia/logger-console": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", - "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", + "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", + "dependencies": { + "@algolia/logger-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", + "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", "dependencies": { - "@algolia/logger-common": "4.20.0" + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", - "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", "dependencies": { - "@algolia/requester-common": "4.20.0" + "@algolia/requester-common": "4.24.0" } }, "node_modules/@algolia/requester-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", - "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==" }, "node_modules/@algolia/requester-node-http": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", - "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", "dependencies": { - "@algolia/requester-common": "4.20.0" + "@algolia/requester-common": "4.24.0" } }, "node_modules/@algolia/transporter": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", - "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", + "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", "dependencies": { - "@algolia/cache-common": "4.20.0", - "@algolia/logger-common": "4.20.0", - "@algolia/requester-common": "4.20.0" + "@algolia/cache-common": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/requester-common": "4.24.0" } }, "node_modules/@ampproject/remapping": { @@ -530,9 +548,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", "engines": { "node": ">=6.9.0" } @@ -1607,11 +1625,11 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", - "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.7.tgz", + "integrity": "sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2127,18 +2145,18 @@ } }, "node_modules/@docsearch/css": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", - "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==" }, "node_modules/@docsearch/react": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", - "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", "dependencies": { "@algolia/autocomplete-core": "1.9.3", "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.5.2", + "@docsearch/css": "3.6.0", "algoliasearch": "^4.19.1" }, "peerDependencies": { @@ -2163,12 +2181,12 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.0.0.tgz", - "integrity": "sha512-bHWtY55tJTkd6pZhHrWz1MpWuwN4edZe0/UWgFF7PW/oJeDZvLSXKqwny3L91X1/LGGoypBGkeZn8EOuKeL4yQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", + "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", "dependencies": { - "@babel/core": "^7.22.9", - "@babel/generator": "^7.22.9", + "@babel/core": "^7.23.3", + "@babel/generator": "^7.23.3", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-transform-runtime": "^7.22.9", "@babel/preset-env": "^7.22.9", @@ -2177,15 +2195,12 @@ "@babel/runtime": "^7.22.6", "@babel/runtime-corejs3": "^7.22.6", "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.0.0", - "@docusaurus/logger": "3.0.0", - "@docusaurus/mdx-loader": "3.0.0", - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-common": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", - "@slorber/static-site-generator-webpack-plugin": "^4.0.7", - "@svgr/webpack": "^6.5.1", + "@docusaurus/cssnano-preset": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "autoprefixer": "^10.4.14", "babel-loader": "^9.1.3", "babel-plugin-dynamic-import-node": "^2.3.3", @@ -2199,12 +2214,13 @@ "copy-webpack-plugin": "^11.0.0", "core-js": "^3.31.1", "css-loader": "^6.8.1", - "css-minimizer-webpack-plugin": "^4.2.2", - "cssnano": "^5.1.15", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", "del": "^6.1.1", "detect-port": "^1.5.1", "escape-html": "^1.0.3", "eta": "^2.2.0", + "eval": "^0.1.8", "file-loader": "^6.2.0", "fs-extra": "^11.1.1", "html-minifier-terser": "^7.2.0", @@ -2213,12 +2229,13 @@ "leven": "^3.1.0", "lodash": "^4.17.21", "mini-css-extract-plugin": "^2.7.6", + "p-map": "^4.0.0", "postcss": "^8.4.26", "postcss-loader": "^7.3.3", "prompts": "^2.4.2", "react-dev-utils": "^12.0.1", "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", "react-loadable-ssr-addon-v5-slorber": "^1.0.1", "react-router": "^5.3.4", "react-router-config": "^5.1.1", @@ -2231,7 +2248,6 @@ "tslib": "^2.6.0", "update-notifier": "^6.0.2", "url-loader": "^4.1.1", - "wait-on": "^7.0.1", "webpack": "^5.88.1", "webpack-bundle-analyzer": "^4.9.0", "webpack-dev-server": "^4.15.1", @@ -2250,13 +2266,13 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.0.0.tgz", - "integrity": "sha512-FHiRfwmVvIVdIGsHcijUOaX7hMn0mugVYB7m4GkpYI6Mi56zwQV4lH5p7DxcW5CUYNWMVxz2loWSCiWEm5ikwA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", + "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", "dependencies": { - "cssnano-preset-advanced": "^5.3.10", - "postcss": "^8.4.26", - "postcss-sort-media-queries": "^4.4.1", + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.4.38", + "postcss-sort-media-queries": "^5.2.0", "tslib": "^2.6.0" }, "engines": { @@ -2264,9 +2280,9 @@ } }, "node_modules/@docusaurus/logger": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.0.0.tgz", - "integrity": "sha512-6eX0eOfioMQCk+qgCnHvbLLuyIAA+r2lSID6d6JusiLtDKmYMfNp3F4yyE8bnb0Abmzt2w68XwptEFYyALSAXw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", + "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.6.0" @@ -2276,15 +2292,13 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.0.0.tgz", - "integrity": "sha512-JkGge6WYDrwjNgMxwkb6kNQHnpISt5L1tMaBWFDBKeDToFr5Kj29IL35MIQm0RfrnoOfr/29RjSH4aRtvlAR0A==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", + "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", "dependencies": { - "@babel/parser": "^7.22.7", - "@babel/traverse": "^7.22.8", - "@docusaurus/logger": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2316,18 +2330,17 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.0.0.tgz", - "integrity": "sha512-CfC6CgN4u/ce+2+L1JdsHNyBd8yYjl4De2B2CBj2a9F7WuJ5RjV1ciuU7KDg8uyju+NRVllRgvJvxVUjCdkPiw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", + "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", "dependencies": { - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "3.0.0", + "@docusaurus/types": "3.4.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", "@types/react-router-dom": "*", "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" }, "peerDependencies": { "react": "*", @@ -2335,17 +2348,17 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.0.0.tgz", - "integrity": "sha512-iA8Wc3tIzVnROJxrbIsU/iSfixHW16YeW9RWsBw7hgEk4dyGsip9AsvEDXobnRq3lVv4mfdgoS545iGWf1Ip9w==", - "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/logger": "3.0.0", - "@docusaurus/mdx-loader": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-common": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", + "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", @@ -2366,17 +2379,18 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.0.0.tgz", - "integrity": "sha512-MFZsOSwmeJ6rvoZMLieXxPuJsA9M9vn7/mUZmfUzSUTeHAeq+fEqvLltFOxcj4DVVDTYlQhgWYd+PISIWgamKw==", - "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/logger": "3.0.0", - "@docusaurus/mdx-loader": "3.0.0", - "@docusaurus/module-type-aliases": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", + "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2395,15 +2409,15 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.0.0.tgz", - "integrity": "sha512-EXYHXK2Ea1B5BUmM0DgSwaOYt8EMSzWtYUToNo62Q/EoWxYOQFdWglYnw3n7ZEGyw5Kog4LHaRwlazAdmDomvQ==", - "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/mdx-loader": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", + "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2417,15 +2431,15 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.0.0.tgz", - "integrity": "sha512-gSV07HfQgnUboVEb3lucuVyv5pEoy33E7QXzzn++3kSc/NLEimkjXh3sSnTGOishkxCqlFV9BHfY/VMm5Lko5g==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", + "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@microlink/react-json-view": "^1.22.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", "fs-extra": "^11.1.1", + "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" }, "engines": { @@ -2437,13 +2451,13 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.0.0.tgz", - "integrity": "sha512-0zcLK8w+ohmSm1fjUQCqeRsjmQc0gflvXnaVA/QVVCtm2yCiBtkrSGQXqt4MdpD7Xq8mwo3qVd5nhIcvrcebqw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", + "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "tslib": "^2.6.0" }, "engines": { @@ -2455,13 +2469,13 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.0.0.tgz", - "integrity": "sha512-asEKavw8fczUqvXu/s9kG2m1epLnHJ19W6CCCRZEmpnkZUZKiM8rlkDiEmxApwIc2JDDbIMk+Y2TMkJI8mInbQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", + "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2474,13 +2488,13 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.0.0.tgz", - "integrity": "sha512-lytgu2eyn+7p4WklJkpMGRhwC29ezj4IjPPmVJ8vGzcSl6JkR1sADTHLG5xWOMuci420xZl9dGEiLTQ8FjCRyA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", + "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "tslib": "^2.6.0" }, "engines": { @@ -2492,16 +2506,16 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.0.0.tgz", - "integrity": "sha512-cfcONdWku56Oi7Hdus2uvUw/RKRRlIGMViiHLjvQ21CEsEqnQ297MRoIgjU28kL7/CXD/+OiANSq3T1ezAiMhA==", - "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/logger": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-common": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", + "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2515,23 +2529,23 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.0.0.tgz", - "integrity": "sha512-90aOKZGZdi0+GVQV+wt8xx4M4GiDrBRke8NO8nWwytMEXNrxrBxsQYFRD1YlISLJSCiHikKf3Z/MovMnQpnZyg==", - "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/plugin-content-blog": "3.0.0", - "@docusaurus/plugin-content-docs": "3.0.0", - "@docusaurus/plugin-content-pages": "3.0.0", - "@docusaurus/plugin-debug": "3.0.0", - "@docusaurus/plugin-google-analytics": "3.0.0", - "@docusaurus/plugin-google-gtag": "3.0.0", - "@docusaurus/plugin-google-tag-manager": "3.0.0", - "@docusaurus/plugin-sitemap": "3.0.0", - "@docusaurus/theme-classic": "3.0.0", - "@docusaurus/theme-common": "3.0.0", - "@docusaurus/theme-search-algolia": "3.0.0", - "@docusaurus/types": "3.0.0" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", + "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/plugin-debug": "3.4.0", + "@docusaurus/plugin-google-analytics": "3.4.0", + "@docusaurus/plugin-google-gtag": "3.4.0", + "@docusaurus/plugin-google-tag-manager": "3.4.0", + "@docusaurus/plugin-sitemap": "3.4.0", + "@docusaurus/theme-classic": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-search-algolia": "3.4.0", + "@docusaurus/types": "3.4.0" }, "engines": { "node": ">=18.0" @@ -2541,43 +2555,31 @@ "react-dom": "^18.0.0" } }, - "node_modules/@docusaurus/react-loadable": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "dependencies": { - "@types/react": "*", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": "*" - } - }, "node_modules/@docusaurus/theme-classic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.0.0.tgz", - "integrity": "sha512-wWOHSrKMn7L4jTtXBsb5iEJ3xvTddBye5PjYBnWiCkTAlhle2yMdc4/qRXW35Ot+OV/VXu6YFG8XVUJEl99z0A==", - "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/mdx-loader": "3.0.0", - "@docusaurus/module-type-aliases": "3.0.0", - "@docusaurus/plugin-content-blog": "3.0.0", - "@docusaurus/plugin-content-docs": "3.0.0", - "@docusaurus/plugin-content-pages": "3.0.0", - "@docusaurus/theme-common": "3.0.0", - "@docusaurus/theme-translations": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-common": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", + "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@mdx-js/react": "^3.0.0", - "clsx": "^1.2.1", + "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", "infima": "0.2.0-alpha.43", "lodash": "^4.17.21", "nprogress": "^0.2.0", "postcss": "^8.4.26", - "prism-react-renderer": "^2.1.0", + "prism-react-renderer": "^2.3.0", "prismjs": "^1.29.0", "react-router-dom": "^5.3.4", "rtlcss": "^4.1.0", @@ -2592,24 +2594,32 @@ "react-dom": "^18.0.0" } }, + "node_modules/@docusaurus/theme-classic/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, "node_modules/@docusaurus/theme-common": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.0.0.tgz", - "integrity": "sha512-PahRpCLRK5owCMEqcNtUeTMOkTUCzrJlKA+HLu7f+8osYOni617YurXvHASCsSTxurjXaLz/RqZMnASnqATxIA==", - "dependencies": { - "@docusaurus/mdx-loader": "3.0.0", - "@docusaurus/module-type-aliases": "3.0.0", - "@docusaurus/plugin-content-blog": "3.0.0", - "@docusaurus/plugin-content-docs": "3.0.0", - "@docusaurus/plugin-content-pages": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-common": "3.0.0", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", + "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", + "dependencies": { + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", - "clsx": "^1.2.1", + "clsx": "^2.0.0", "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.1.0", + "prism-react-renderer": "^2.3.0", "tslib": "^2.6.0", "utility-types": "^3.10.0" }, @@ -2621,22 +2631,30 @@ "react-dom": "^18.0.0" } }, + "node_modules/@docusaurus/theme-common/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.0.0.tgz", - "integrity": "sha512-PyMUNIS9yu0dx7XffB13ti4TG47pJq3G2KE/INvOFb6M0kWh+wwCnucPg4WAOysHOPh+SD9fjlXILoLQstgEIA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", + "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.0.0", - "@docusaurus/logger": "3.0.0", - "@docusaurus/plugin-content-docs": "3.0.0", - "@docusaurus/theme-common": "3.0.0", - "@docusaurus/theme-translations": "3.0.0", - "@docusaurus/utils": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", - "clsx": "^1.2.1", + "clsx": "^2.0.0", "eta": "^2.2.0", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -2651,10 +2669,18 @@ "react-dom": "^18.0.0" } }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, "node_modules/@docusaurus/theme-translations": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.0.0.tgz", - "integrity": "sha512-p/H3+5LdnDtbMU+csYukA6601U1ld2v9knqxGEEV96qV27HsHfP63J9Ta2RBZUrNhQAgrwFzIc9GdDO8P1Baag==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", + "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -2664,10 +2690,11 @@ } }, "node_modules/@docusaurus/types": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.0.0.tgz", - "integrity": "sha512-Qb+l/hmCOVemReuzvvcFdk84bUmUFyD0Zi81y651ie3VwMrXqC7C0E7yZLKMOsLj/vkqsxHbtkAuYMI89YzNzg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", + "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", "dependencies": { + "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", "@types/react": "*", "commander": "^5.1.0", @@ -2683,12 +2710,13 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.0.0.tgz", - "integrity": "sha512-JwGjh5mtjG9XIAESyPxObL6CZ6LO/yU4OSTpq7Q0x+jN25zi/AMbvLjpSyZzWy+qm5uQiFiIhqFaOxvy+82Ekg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", + "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", "dependencies": { - "@docusaurus/logger": "3.0.0", - "@svgr/webpack": "^6.5.1", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", "fs-extra": "^11.1.1", @@ -2699,10 +2727,12 @@ "js-yaml": "^4.1.0", "lodash": "^4.17.21", "micromatch": "^4.0.5", + "prompts": "^2.4.2", "resolve-pathname": "^3.0.0", "shelljs": "^0.8.5", "tslib": "^2.6.0", "url-loader": "^4.1.1", + "utility-types": "^3.10.0", "webpack": "^5.88.1" }, "engines": { @@ -2718,9 +2748,9 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.0.0.tgz", - "integrity": "sha512-7iJWAtt4AHf4PFEPlEPXko9LZD/dbYnhLe0q8e3GRK1EXZyRASah2lznpMwB3lLmVjq/FR6ZAKF+E0wlmL5j0g==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", + "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", "dependencies": { "tslib": "^2.6.0" }, @@ -2737,14 +2767,17 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.0.0.tgz", - "integrity": "sha512-MlIGUspB/HBW5CYgHvRhmkZbeMiUWKbyVoCQYvbGN8S19SSzVgzyy97KRpcjCOYYeEdkhmRCUwFBJBlLg3IoNQ==", - "dependencies": { - "@docusaurus/logger": "3.0.0", - "@docusaurus/utils": "3.0.0", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", + "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", + "dependencies": { + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", + "lodash": "^4.17.21", "tslib": "^2.6.0" }, "engines": { @@ -2849,9 +2882,9 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, "node_modules/@mdx-js/mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.0.tgz", - "integrity": "sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", @@ -2883,9 +2916,9 @@ } }, "node_modules/@mdx-js/react": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.0.tgz", - "integrity": "sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", + "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", "dependencies": { "@types/mdx": "^2.0.0" }, @@ -2898,33 +2931,6 @@ "react": ">=16" } }, - "node_modules/@microlink/react-json-view": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@microlink/react-json-view/-/react-json-view-1.23.0.tgz", - "integrity": "sha512-HYJ1nsfO4/qn8afnAMhuk7+5a1vcjEaS8Gm5Vpr1SqdHDY0yLBJGpA+9DvKyxyVKaUkXzKXt3Mif9RcmFSdtYg==", - "dependencies": { - "flux": "~4.0.1", - "react-base16-styling": "~0.6.0", - "react-lifecycles-compat": "~3.0.4", - "react-textarea-autosize": "~8.3.2" - }, - "peerDependencies": { - "react": ">= 15", - "react-dom": ">= 15" - } - }, - "node_modules/@microlink/react-json-view/node_modules/flux": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", - "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", - "dependencies": { - "fbemitter": "^3.0.0", - "fbjs": "^3.0.1" - }, - "peerDependencies": { - "react": "^15.0.2 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3000,9 +3006,9 @@ "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" }, "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -3043,25 +3049,12 @@ "micromark-util-symbol": "^1.0.1" } }, - "node_modules/@slorber/static-site-generator-webpack-plugin": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", - "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", - "dependencies": { - "eval": "^0.1.8", - "p-map": "^4.0.0", - "webpack-sources": "^3.2.2" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3102,11 +3095,11 @@ } }, "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3117,11 +3110,11 @@ } }, "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3132,11 +3125,11 @@ } }, "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3147,11 +3140,11 @@ } }, "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3162,9 +3155,9 @@ } }, "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "engines": { "node": ">=12" }, @@ -3177,21 +3170,21 @@ } }, "node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3202,18 +3195,18 @@ } }, "node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3221,15 +3214,15 @@ } }, "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.21.3", "entities": "^4.4.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3237,37 +3230,37 @@ } }, "node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", "svg-parser": "^2.0.4" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "@svgr/core": "^6.0.0" + "@svgr/core": "*" } }, "node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3278,21 +3271,21 @@ } }, "node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { "type": "github", @@ -3392,9 +3385,9 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/estree-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz", - "integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", "dependencies": { "@types/estree": "*" } @@ -3427,9 +3420,9 @@ "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" }, "node_modules/@types/hast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", - "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dependencies": { "@types/unist": "*" } @@ -3489,17 +3482,17 @@ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/mdast": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", - "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", "dependencies": { "@types/unist": "*" } }, "node_modules/@types/mdx": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz", - "integrity": "sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" }, "node_modules/@types/mime": { "version": "1.3.5", @@ -3533,9 +3526,9 @@ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "node_modules/@types/prismjs": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", - "integrity": "sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==" + "version": "1.26.4", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.4.tgz", + "integrity": "sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==" }, "node_modules/@types/prop-types": { "version": "15.7.11", @@ -3945,30 +3938,31 @@ } }, "node_modules/algoliasearch": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", - "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.20.0", - "@algolia/cache-common": "4.20.0", - "@algolia/cache-in-memory": "4.20.0", - "@algolia/client-account": "4.20.0", - "@algolia/client-analytics": "4.20.0", - "@algolia/client-common": "4.20.0", - "@algolia/client-personalization": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/logger-common": "4.20.0", - "@algolia/logger-console": "4.20.0", - "@algolia/requester-browser-xhr": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/requester-node-http": "4.20.0", - "@algolia/transporter": "4.20.0" + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", + "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-account": "4.24.0", + "@algolia/client-analytics": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-personalization": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/recommend": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" } }, "node_modules/algoliasearch-helper": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", - "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", + "version": "3.22.2", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.2.tgz", + "integrity": "sha512-3YQ6eo7uYOCHeQ2ZpD+OoT3aJJwMNKEnwtu8WMzm81XmBOSCwRjQditH9CeSOQ38qhHkuGw23pbq+kULkIJLcw==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -4070,11 +4064,6 @@ "node": ">=8" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, "node_modules/astring": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", @@ -4083,11 +4072,6 @@ "astring": "bin/astring" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -4097,9 +4081,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "funding": [ { "type": "opencollective", @@ -4115,9 +4099,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -4132,16 +4116,6 @@ "postcss": "^8.1.0" } }, - "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/babel-loader": { "version": "9.1.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", @@ -4224,11 +4198,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -4251,12 +4220,12 @@ } }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -4264,7 +4233,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -4341,20 +4310,20 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", "funding": [ { "type": "opencollective", @@ -4370,10 +4339,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" }, "bin": { "browserslist": "cli.js" @@ -4432,13 +4401,18 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4484,9 +4458,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001564", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", - "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", + "version": "1.0.30001640", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", "funding": [ { "type": "opencollective", @@ -4799,17 +4773,6 @@ "node": ">=10" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/comma-separated-tokens": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", @@ -4953,9 +4916,9 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -5077,26 +5040,28 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/cross-spawn": { @@ -5138,11 +5103,11 @@ } }, "node_modules/css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", "engines": { - "node": "^10 || ^12 || >=14" + "node": "^14 || ^16 || >=18" }, "peerDependencies": { "postcss": "^8.0.9" @@ -5174,16 +5139,16 @@ } }, "node_modules/css-minimizer-webpack-plugin": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", - "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", "dependencies": { - "cssnano": "^5.1.8", - "jest-worker": "^29.1.2", - "postcss": "^8.4.17", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" }, "engines": { "node": ">= 14.15.0" @@ -5216,14 +5181,6 @@ } } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", @@ -5240,23 +5197,15 @@ } }, "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, "node_modules/css-what": { @@ -5282,108 +5231,128 @@ } }, "node_modules/cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", "dependencies": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/cssnano-preset-advanced": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", - "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", "dependencies": { - "autoprefixer": "^10.4.12", - "cssnano-preset-default": "^5.2.14", - "postcss-discard-unused": "^5.1.0", - "postcss-merge-idents": "^5.1.1", - "postcss-reduce-idents": "^5.2.0", - "postcss-zindex": "^5.1.0" + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dependencies": { - "css-tree": "^1.1.2" + "css-tree": "~2.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + }, "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", @@ -5483,16 +5452,19 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -5540,14 +5512,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -5765,9 +5729,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.593", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.593.tgz", - "integrity": "sha512-c7+Hhj87zWmdpmjDONbvNKNo24tvmD4mjal1+qqTYTrlF0/sNpAcDlU0Ki84ftA/5yj3BF2QhSGEC0Rky6larg==" + "version": "1.4.816", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz", + "integrity": "sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -5835,15 +5799,34 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -5977,15 +5960,11 @@ } }, "node_modules/estree-util-value-to-estree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", - "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.2.tgz", + "integrity": "sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag==", "dependencies": { - "@types/estree": "^1.0.0", - "is-plain-obj": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" + "@types/estree": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/remcohaszing" @@ -6087,16 +6066,16 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -6249,33 +6228,6 @@ "node": ">=0.8.0" } }, - "node_modules/fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "dependencies": { - "fbjs": "^3.0.0" - } - }, - "node_modules/fbjs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", - "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^1.0.35" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, "node_modules/feed": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", @@ -6360,9 +6312,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6439,9 +6391,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -6577,19 +6529,6 @@ "node": ">=6" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/form-data-encoder": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", @@ -6635,9 +6574,9 @@ } }, "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6687,15 +6626,19 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6953,11 +6896,11 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7039,9 +6982,9 @@ } }, "node_modules/hast-util-raw": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", - "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.4.tgz", + "integrity": "sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -7090,17 +7033,23 @@ } }, "node_modules/hast-util-to-jsx-runtime": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz", - "integrity": "sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", "dependencies": { + "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", + "style-to-object": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" }, @@ -7109,6 +7058,19 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "dependencies": { + "inline-style-parser": "0.2.3" + } + }, "node_modules/hast-util-to-parse5": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", @@ -7491,9 +7453,9 @@ } }, "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "dependencies": { "queue": "6.0.2" }, @@ -7501,7 +7463,7 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.x" } }, "node_modules/immer": { @@ -7942,13 +7904,13 @@ } }, "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -8073,11 +8035,14 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -8125,21 +8090,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, - "node_modules/lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -8263,9 +8218,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -8363,9 +8318,9 @@ } }, "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -8491,9 +8446,9 @@ } }, "node_modules/mdast-util-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -8532,9 +8487,9 @@ } }, "node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" @@ -8545,9 +8500,9 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -8556,7 +8511,8 @@ "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", @@ -8595,9 +8551,9 @@ } }, "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" }, "node_modules/media-typer": { "version": "0.3.0", @@ -8679,9 +8635,9 @@ } }, "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", "funding": [ { "type": "GitHub Sponsors", @@ -8731,9 +8687,9 @@ } }, "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -8802,9 +8758,9 @@ } }, "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -8851,9 +8807,9 @@ } }, "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -8919,9 +8875,9 @@ } }, "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -8991,9 +8947,9 @@ } }, "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9092,9 +9048,9 @@ } }, "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9173,9 +9129,9 @@ } }, "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9251,9 +9207,9 @@ } }, "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9325,9 +9281,9 @@ } }, "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9410,9 +9366,9 @@ } }, "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9464,9 +9420,9 @@ } }, "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9519,9 +9475,9 @@ } }, "node_modules/micromark-factory-label/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9578,9 +9534,9 @@ } }, "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9686,9 +9642,9 @@ } }, "node_modules/micromark-factory-title/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9760,9 +9716,9 @@ } }, "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9881,9 +9837,9 @@ } }, "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -9988,9 +9944,9 @@ } }, "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10163,9 +10119,9 @@ } }, "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10197,9 +10153,9 @@ ] }, "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", "funding": [ { "type": "GitHub Sponsors", @@ -10282,9 +10238,9 @@ } }, "node_modules/micromark/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10496,25 +10452,6 @@ "node": ">=18" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -10524,9 +10461,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -10544,17 +10481,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -10591,9 +10517,12 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10947,9 +10876,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -11044,9 +10973,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "funding": [ { "type": "opencollective", @@ -11062,114 +10991,117 @@ } ], "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", "dependencies": { - "postcss-selector-parser": "^6.0.9", + "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0" }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, "peerDependencies": { "postcss": "^8.2.2" } }, "node_modules/postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", "dependencies": { - "browserslist": "^4.21.4", + "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", - "colord": "^2.9.1", + "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", "dependencies": { - "browserslist": "^4.21.4", + "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-discard-unused": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", - "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", "dependencies": { - "postcss-selector-parser": "^6.0.5" + "postcss-selector-parser": "^6.0.16" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-loader": { @@ -11193,136 +11125,111 @@ "webpack": "^5.0.0" } }, - "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/postcss-merge-idents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", - "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", "dependencies": { - "cssnano-utils": "^3.1.0", + "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", "dependencies": { "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "stylehacks": "^6.1.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", "dependencies": { - "browserslist": "^4.21.4", + "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", "dependencies": { - "postcss-selector-parser": "^6.0.5" + "postcss-selector-parser": "^6.0.16" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-modules-extract-imports": { @@ -11381,192 +11288,191 @@ } }, "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", "dependencies": { - "browserslist": "^4.21.4", + "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", "dependencies": { - "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", "dependencies": { - "cssnano-utils": "^3.1.0", + "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-reduce-idents": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", - "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", "dependencies": { - "browserslist": "^4.21.4", + "browserslist": "^4.23.0", "caniuse-api": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -11576,46 +11482,46 @@ } }, "node_modules/postcss-sort-media-queries": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", - "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", "dependencies": { - "sort-css-media-queries": "2.1.0" + "sort-css-media-queries": "2.2.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" }, "peerDependencies": { - "postcss": "^8.4.16" + "postcss": "^8.4.23" } }, "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", "dependencies": { "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" + "svgo": "^3.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >= 18" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", "dependencies": { - "postcss-selector-parser": "^6.0.5" + "postcss-selector-parser": "^6.0.16" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/postcss-value-parser": { @@ -11624,14 +11530,14 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/postcss-zindex": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", - "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/pretty-error": { @@ -11652,9 +11558,9 @@ } }, "node_modules/prism-react-renderer": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.0.tgz", - "integrity": "sha512-UYRg2TkVIaI6tRVHC5OJ4/BxqPUxJkJvq/odLT/ykpt1zGYXooNperUxQcCvi87LyRnR4nCh81ceOA+e7nrydg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", + "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", "dependencies": { "@types/prismjs": "^1.26.0", "clsx": "^2.0.0" @@ -11664,9 +11570,9 @@ } }, "node_modules/prism-react-renderer/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "engines": { "node": ">=6" } @@ -11684,14 +11590,6 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" - } - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -11715,9 +11613,9 @@ } }, "node_modules/property-information": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", - "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -11748,11 +11646,6 @@ "node": ">= 0.10" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -11772,11 +11665,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" - }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -11846,9 +11734,9 @@ } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -11890,9 +11778,9 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dependencies": { "loose-envify": "^1.1.0" }, @@ -11900,17 +11788,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", - "dependencies": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" - } - }, "node_modules/react-dev-utils": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", @@ -12030,15 +11907,15 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-error-overlay": { @@ -12072,19 +11949,24 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "node_modules/react-json-view-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz", + "integrity": "sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } }, "node_modules/react-loadable": { "name": "@docusaurus/react-loadable", - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", "dependencies": { - "@types/react": "*", - "prop-types": "^15.6.2" + "@types/react": "*" }, "peerDependencies": { "react": "*" @@ -12153,22 +12035,6 @@ "react": ">=15" } }, - "node_modules/react-textarea-autosize": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", - "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", - "dependencies": { - "@babel/runtime": "^7.10.2", - "use-composed-ref": "^1.3.0", - "use-latest": "^1.2.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -12394,9 +12260,9 @@ } }, "node_modules/remark-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.0.tgz", - "integrity": "sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" @@ -12422,9 +12288,9 @@ } }, "node_modules/remark-rehype": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", - "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -12688,14 +12554,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -12721,14 +12579,14 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dependencies": { "loose-envify": "^1.1.0" } @@ -12752,9 +12610,9 @@ } }, "node_modules/search-insights": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", - "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", + "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", "peer": true }, "node_modules/section-matter": { @@ -12992,24 +12850,21 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -13075,13 +12930,17 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13111,9 +12970,9 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", @@ -13152,6 +13011,15 @@ "node": ">=8" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -13163,9 +13031,9 @@ } }, "node_modules/sort-css-media-queries": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", - "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", + "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", "engines": { "node": ">= 6.3.0" } @@ -13179,9 +13047,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -13256,12 +13124,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -13325,9 +13187,9 @@ } }, "node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" @@ -13397,18 +13259,18 @@ } }, "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/supports-color": { @@ -13439,23 +13301,27 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" }, "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" }, "bin": { "svgo": "bin/svgo" }, "engines": { - "node": ">=10.13.0" + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, "node_modules/svgo/node_modules/commander": { @@ -13466,69 +13332,6 @@ "node": ">= 10" } }, - "node_modules/svgo/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/svgo/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/svgo/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -13719,11 +13522,6 @@ "node": ">=6" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", @@ -13734,9 +13532,9 @@ } }, "node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -13810,28 +13608,6 @@ "node": ">=14.17" } }, - "node_modules/ua-parser-js": { - "version": "1.0.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", - "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "engines": { - "node": "*" - } - }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -13882,9 +13658,9 @@ } }, "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -14018,9 +13794,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -14036,8 +13812,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -14222,43 +13998,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", - "dependencies": { - "use-isomorphic-layout-effect": "^1.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -14270,9 +14009,9 @@ "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" }, "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "engines": { "node": ">= 4" } @@ -14346,24 +14085,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dependencies": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -14393,11 +14114,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, "node_modules/webpack": { "version": "5.89.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", @@ -14479,9 +14195,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -14586,9 +14302,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "engines": { "node": ">=10.0.0" }, @@ -14728,15 +14444,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -14839,9 +14546,9 @@ } }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "engines": { "node": ">=8.3.0" }, diff --git a/api-docs/package.json b/api-docs/package.json index 84e54759f..82c13afab 100644 --- a/api-docs/package.json +++ b/api-docs/package.json @@ -14,17 +14,17 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/preset-classic": "3.0.0", - "@mdx-js/react": "^3.0.0", + "@docusaurus/core": "3.4.0", + "@docusaurus/preset-classic": "3.4.0", + "@mdx-js/react": "^3.0.1", "clsx": "^1.2.1", - "prism-react-renderer": "^2.1.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "prism-react-renderer": "^2.3.1", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { - "@docusaurus/module-type-aliases": "3.0.0", - "@docusaurus/types": "3.0.0" + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/types": "3.4.0" }, "browserslist": { "production": [ diff --git a/common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json b/common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json new file mode 100644 index 000000000..e9f276ff9 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Fix API docs CI action and update it's dependencies", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json b/common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json new file mode 100644 index 000000000..d5e500cab --- /dev/null +++ b/common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Fix API docs CI action and update it's dependencies", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json b/common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json new file mode 100644 index 000000000..0d84f2745 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Fix API docs CI action and update it's dependencies", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/libraries/tracker-core/src/core.ts b/libraries/tracker-core/src/core.ts index 1cb617117..b4072e29f 100644 --- a/libraries/tracker-core/src/core.ts +++ b/libraries/tracker-core/src/core.ts @@ -1288,6 +1288,16 @@ export interface ConsentWithdrawnEvent { description?: string; } +/** + * Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). + */ +export interface EventPayloadAndContext { + /** Tracker payload for the event data */ + event: PayloadBuilder; + /** List of context entities to track along with the event */ + context: Array; +} + /** * Build a Consent Withdrawn Event * Used for tracking when a user withdraws their consent @@ -1295,7 +1305,7 @@ export interface ConsentWithdrawnEvent { * @param event - Contains the properties for the Consent Withdrawn event * @returns An object containing the PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track} and a 'consent_document' context */ -export function buildConsentWithdrawn(event: ConsentWithdrawnEvent) { +export function buildConsentWithdrawn(event: ConsentWithdrawnEvent): EventPayloadAndContext { const { all, id, version, name, description } = event; const documentJson = { schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', @@ -1339,7 +1349,7 @@ export interface ConsentGrantedEvent { * @param event - Contains the properties for the Consent Granted event * @returns An object containing the PayloadBuilder to be sent to {@link @snowplow/tracker-core#TrackerCore.track} and a 'consent_document' context */ -export function buildConsentGranted(event: ConsentGrantedEvent) { +export function buildConsentGranted(event: ConsentGrantedEvent): EventPayloadAndContext { const { expiry, id, version, name, description } = event; const documentJson = { schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', diff --git a/trackers/browser-tracker/src/api.ts b/trackers/browser-tracker/src/api.ts index 1367ed841..ffd04f350 100644 --- a/trackers/browser-tracker/src/api.ts +++ b/trackers/browser-tracker/src/api.ts @@ -61,6 +61,7 @@ import { ContextEvent, ContextFilter, RuleSet, + EventPayloadAndContext, } from '@snowplow/tracker-core'; export { @@ -91,6 +92,7 @@ export { RuleSet, ExtendedCrossDomainLinkerOptions, ExtendedCrossDomainLinkerAttributes, + EventPayloadAndContext, }; /** diff --git a/trackers/node-tracker/src/index.ts b/trackers/node-tracker/src/index.ts index fca21070e..5e25a8f9a 100644 --- a/trackers/node-tracker/src/index.ts +++ b/trackers/node-tracker/src/index.ts @@ -81,4 +81,5 @@ export { CoreConfiguration, ContextGenerator, ContextFilter, + EventPayloadAndContext, } from '@snowplow/tracker-core'; From 57c68a7bda410316be2affe14e5461b283656414 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Fri, 19 Jul 2024 09:07:34 +0200 Subject: [PATCH 037/277] Fix integration tests (#1333) --- ...ntegration_tests_fix_2024-07-18-14-20.json | 10 + common/config/rush/pnpm-lock.yaml | 301 ++++++++++-------- common/config/rush/repo-state.json | 2 +- trackers/javascript-tracker/package.json | 22 +- .../test/functional/cookies.test.ts | 5 +- .../test/integration/integration.test.ts | 3 +- .../test/{integration => media}/media.test.ts | 9 +- .../test/{integration => media}/vimeo.test.ts | 2 +- .../{integration => media}/youtube.test.ts | 2 +- .../test/pages/session-integration.html | 51 +-- .../test/wdio.default.conf.ts | 7 +- 11 files changed, 236 insertions(+), 178 deletions(-) create mode 100644 common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json rename trackers/javascript-tracker/test/{integration => media}/media.test.ts (98%) rename trackers/javascript-tracker/test/{integration => media}/vimeo.test.ts (99%) rename trackers/javascript-tracker/test/{integration => media}/youtube.test.ts (99%) diff --git a/common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json b/common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json new file mode 100644 index 000000000..e15417e70 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Fix integration tests (#826)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index cb25b1977..e55c68248 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1688,17 +1688,17 @@ importers: '@types/node': ~14.6.0 '@types/node-fetch': '2' '@types/youtube': ~0.0.46 - '@wdio/cli': ~8.36.1 - '@wdio/globals': ~8.36.1 - '@wdio/jasmine-framework': ~8.36.1 - '@wdio/local-runner': ~8.36.1 - '@wdio/sauce-service': ~8.36.1 - '@wdio/shared-store-service': ~8.36.1 - '@wdio/spec-reporter': ~8.36.1 - '@wdio/static-server-service': ~8.36.1 - '@wdio/types': ~8.36.1 + '@wdio/cli': ~8.39.1 + '@wdio/globals': ~8.39.1 + '@wdio/jasmine-framework': ~8.39.1 + '@wdio/local-runner': ~8.39.1 + '@wdio/sauce-service': ~8.39.1 + '@wdio/shared-store-service': ~8.39.1 + '@wdio/spec-reporter': ~8.39.0 + '@wdio/static-server-service': ~8.39.0 + '@wdio/types': ~8.39.0 chalk: 4.1.2 - chromedriver: ~124.0.3 + chromedriver: ~126.0.4 dockerode: ~3.3.1 jest: ~27.5.1 jest-environment-jsdom: ~27.5.1 @@ -1722,7 +1722,7 @@ importers: wdio-chromedriver-service: ~8.1.1 wdio-edgedriver-service: ~3.0.3 wdio-safaridriver-service: ~2.1.1 - webdriverio: ~8.36.1 + webdriverio: ~8.39.1 dependencies: '@snowplow/browser-plugin-ad-tracking': link:../../plugins/browser-plugin-ad-tracking '@snowplow/browser-plugin-browser-features': link:../../plugins/browser-plugin-browser-features @@ -1767,17 +1767,17 @@ importers: '@types/node': 14.6.4 '@types/node-fetch': 2.6.4 '@types/youtube': 0.0.46 - '@wdio/cli': 8.36.1_typescript@4.6.2 - '@wdio/globals': 8.36.1_typescript@4.6.2 - '@wdio/jasmine-framework': 8.36.1_typescript@4.6.2 - '@wdio/local-runner': 8.36.1_typescript@4.6.2 - '@wdio/sauce-service': 8.36.1_typescript@4.6.2 - '@wdio/shared-store-service': 8.36.1_typescript@4.6.2 - '@wdio/spec-reporter': 8.36.1 - '@wdio/static-server-service': 8.36.1 - '@wdio/types': 8.36.1 + '@wdio/cli': 8.39.1_typescript@4.6.2 + '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/jasmine-framework': 8.39.1_typescript@4.6.2 + '@wdio/local-runner': 8.39.1_typescript@4.6.2 + '@wdio/sauce-service': 8.39.1_typescript@4.6.2 + '@wdio/shared-store-service': 8.39.1_typescript@4.6.2 + '@wdio/spec-reporter': 8.39.0 + '@wdio/static-server-service': 8.39.0 + '@wdio/types': 8.39.0 chalk: 4.1.2 - chromedriver: 124.0.3 + chromedriver: 126.0.5 dockerode: 3.3.1 jest: 27.5.1_ts-node@10.9.1 jest-environment-jsdom: 27.5.1 @@ -1797,10 +1797,10 @@ importers: ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 typescript: 4.6.2 - wdio-chromedriver-service: 8.1.1_13d5c9a187d81a3040fb94df4a1e31ad - wdio-edgedriver-service: 3.0.3_@wdio+types@8.36.1 - wdio-safaridriver-service: 2.1.1_e44f7dae2e7ecd391a74ad83b25c9493 - webdriverio: 8.36.1_typescript@4.6.2 + wdio-chromedriver-service: 8.1.1_c7bce63581aea0b27bc74a6bea04d05f + wdio-edgedriver-service: 3.0.3_@wdio+types@8.39.0 + wdio-safaridriver-service: 2.1.1_11917679ce69388bd88480f7734310d5 + webdriverio: 8.39.1_typescript@4.6.2 ../../trackers/node-tracker: specifiers: @@ -3356,19 +3356,19 @@ packages: pretty-format: 29.7.0 dev: true - /@wdio/cli/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-LZBZiwcvvv5P0HuRXt8IV09UiFT5dnDr1Ag5u2roJL2D7l8wDHHa70PXw9MmlbrnyFCUN3hO7FQVUi9MAsDbDQ==} + /@wdio/cli/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-CUze/nbOMzgSEp+Qo27dnM5IhlOPAiBJCPX3xO85/kjweqqxmAB1QBKww1Mz9YlNIXineaHrkgqlUQIvEqOJdQ==} engines: {node: ^16.13 || >=18} hasBin: true dependencies: '@types/node': 20.11.30 '@vitest/snapshot': 1.4.0 - '@wdio/config': 8.36.1 - '@wdio/globals': 8.36.1_typescript@4.6.2 - '@wdio/logger': 8.28.0 - '@wdio/protocols': 8.32.0 - '@wdio/types': 8.36.1 - '@wdio/utils': 8.36.1 + '@wdio/config': 8.39.0 + '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/logger': 8.38.0 + '@wdio/protocols': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 async-exit-hook: 2.0.1 chalk: 5.3.0 chokidar: 3.5.3 @@ -3383,7 +3383,7 @@ packages: lodash.union: 4.6.0 read-pkg-up: 10.0.0 recursive-readdir: 2.2.3 - webdriverio: 8.36.1_typescript@4.6.2 + webdriverio: 8.39.1_typescript@4.6.2 yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -3394,13 +3394,13 @@ packages: - utf-8-validate dev: true - /@wdio/config/8.36.1: - resolution: {integrity: sha512-yCENnym0CrYuLKMJ3fv00WkjCR8QpPqVohGBkq5FvZOZpVJEpoG86Q8l4HtyRnd6ggMTKCA1vTQ/myhbPmZmaQ==} + /@wdio/config/8.39.0: + resolution: {integrity: sha512-yNuGPMPibY91s936gnJCHWlStvIyDrwLwGfLC/NCdTin4F7HL4Gp5iJnHWkJFty1/DfFi8jjoIUBNLM8HEez+A==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 - '@wdio/utils': 8.36.1 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 decamelize: 6.0.0 deepmerge-ts: 5.1.0 glob: 10.3.1 @@ -3409,12 +3409,12 @@ packages: - supports-color dev: true - /@wdio/globals/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-Qpj6gZCRNxqdVkTwYyi4JdeYO4tLSUj3Ti6yxO0v9A4IRaKW1tS29KUcGgjL9CFSBKAOi2zRY8vvFz1u6ewxtQ==} + /@wdio/globals/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-kNb1TlxI8Le/tsOiw7CMQcG0+ZGyxk9ZDO/PQLxkJvjo/q2QmiBcgaNMPuf+j1ABETcQK4bI7QtiT5uZ+f2AGA==} engines: {node: ^16.13 || >=18} optionalDependencies: expect-webdriverio: 4.12.2_typescript@4.6.2 - webdriverio: 8.36.1_typescript@4.6.2 + webdriverio: 8.39.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3424,15 +3424,15 @@ packages: - utf-8-validate dev: true - /@wdio/jasmine-framework/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-MI6ojRPlVVxvkb8AzJmBXgjHBRxeasVy6vtiXwtnxO0z1LWkcUnemms0yH6jLykTIgzprx1ixRd72+knd6mamw==} + /@wdio/jasmine-framework/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-WnoNvdVyj1HzBv8KpftNWsj7aCy5/v2NQt66lTewxG6KfxEFGgjCRVtnH46dK/HlOFGrh0J8qCTRZDYerUqR9w==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 - '@wdio/globals': 8.36.1_typescript@4.6.2 - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 - '@wdio/utils': 8.36.1 + '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 expect-webdriverio: 4.12.2_typescript@4.6.2 jasmine: 5.1.0 transitivePeerDependencies: @@ -3444,15 +3444,15 @@ packages: - utf-8-validate dev: true - /@wdio/local-runner/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-FYsTzbNGRnrniOsLWrZO7+DLecAS9W75AIzFZQVQxruiDFkGmKY5OV6gsuvMlasaqAQXW1s+w29bqrLY4DxdEw==} + /@wdio/local-runner/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-VYRD7pSkl5JTsYXroM65yb+vJVn9pFJf0XZMB7Xj+WVUqGXuVkZ+XybsQetUlhruXvHIsPdiFj12V1tMyaUHrQ==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 - '@wdio/logger': 8.28.0 + '@wdio/logger': 8.38.0 '@wdio/repl': 8.24.12 - '@wdio/runner': 8.36.1_typescript@4.6.2 - '@wdio/types': 8.36.1 + '@wdio/runner': 8.39.1_typescript@4.6.2 + '@wdio/types': 8.39.0 async-exit-hook: 2.0.1 split2: 4.2.0 stream-buffers: 3.0.2 @@ -3475,8 +3475,8 @@ packages: strip-ansi: 7.1.0 dev: true - /@wdio/logger/8.28.0: - resolution: {integrity: sha512-/s6zNCqwy1hoc+K4SJypis0Ud0dlJ+urOelJFO1x0G0rwDRWyFiUP6ijTaCcFxAm29jYEcEPWijl2xkVIHwOyA==} + /@wdio/logger/8.38.0: + resolution: {integrity: sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==} engines: {node: ^16.13 || >=18} dependencies: chalk: 5.3.0 @@ -3485,8 +3485,8 @@ packages: strip-ansi: 7.1.0 dev: true - /@wdio/protocols/8.32.0: - resolution: {integrity: sha512-inLJRrtIGdTz/YPbcsvpSvPlYQFTVtF3OYBwAXhG2FiP1ZwE1CQNLP/xgRGye1ymdGCypGkexRqIx3KBGm801Q==} + /@wdio/protocols/8.38.0: + resolution: {integrity: sha512-7BPi7aXwUtnXZPeWJRmnCNFjyDvGrXlBmN9D4Pi58nILkyjVRQKEY9/qv/pcdyB0cvmIvw++Kl/1Lg+RxG++UA==} dev: true /@wdio/repl/8.24.12: @@ -3496,32 +3496,32 @@ packages: '@types/node': 20.11.30 dev: true - /@wdio/reporter/8.36.1: - resolution: {integrity: sha512-HcXr9XKq/6kPC9nexMRXIc/ft3Lvp0yCaW5tps01Axus9wbi5ysLHi2z5sB84F2YdpM+aRf7Lac56xkc4Jldeg==} + /@wdio/reporter/8.39.0: + resolution: {integrity: sha512-XahXhmaA1okdwg4/ThHFSqy/41KywxhbtszPcTzyXB+9INaqFNHA1b1vvWs0mrD5+tTtKbg4caTcEHVJU4iv0w==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 diff: 5.0.0 object-inspect: 1.12.0 dev: true - /@wdio/runner/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-bLkxQ46MLEbzIf30adl2nyz8kxED/V0IjcQASm0VKfNmsG8LOf7iOIz+udOF4GkMoF++5JuONA5abUsyLvwatg==} + /@wdio/runner/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-hCGI+TSAyb14UtdDjswI5AAdW1CZMi6di+rDZ6ml43hQyHc6sw+74CXI8dwoJ29dcTzbg7QCJZZXV1qMn0kh2w==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 - '@wdio/config': 8.36.1 - '@wdio/globals': 8.36.1_typescript@4.6.2 - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 - '@wdio/utils': 8.36.1 + '@wdio/config': 8.39.0 + '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 deepmerge-ts: 5.1.0 expect-webdriverio: 4.12.2_typescript@4.6.2 gaze: 1.1.3 - webdriver: 8.36.1 - webdriverio: 8.36.1_typescript@4.6.2 + webdriver: 8.39.0 + webdriverio: 8.39.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3531,16 +3531,16 @@ packages: - utf-8-validate dev: true - /@wdio/sauce-service/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-yyUy27bG4iHtbWYkmTzCBtvi1Xh+Nwb2UNZJmvNegAu3XnzeuOsr5aIDrrpAtk3onCzK5plWaCrwvkGMIdzHRg==} + /@wdio/sauce-service/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-tt0oNqh2FxnR4JaMTwc7LRRLO03ERZxbZjeNf5IzK8PsjQ/JFUefeRBWmqoa93FVi3YGO8gUPCVElaS7OEqkRg==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 - '@wdio/utils': 8.36.1 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 ip: 2.0.1 saucelabs: 7.5.0 - webdriverio: 8.36.1_typescript@4.6.2 + webdriverio: 8.39.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3550,16 +3550,16 @@ packages: - utf-8-validate dev: true - /@wdio/shared-store-service/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-VJEkU5mDXVdWGdVLU7Z9W3RzEKFags2UZBWssfOnBhacI2yNZy3jCX6nTyiY5eAdSWtysucZGsOXMZjO/Hu/IQ==} + /@wdio/shared-store-service/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-o6Hcd2BzMy8bjrNccb4Fw8hAqbd6wJ9fh24hdsp7KbRBymOMuYJajpCHzU5bFDFGr3rPL/wL0Ji671pY8gcS1g==} engines: {node: ^16.13 || >=18} dependencies: '@polka/parse': 1.0.0-next.0 - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 got: 12.6.1 polka: 0.5.2 - webdriverio: 8.36.1_typescript@4.6.2 + webdriverio: 8.39.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -3569,44 +3569,44 @@ packages: - utf-8-validate dev: true - /@wdio/spec-reporter/8.36.1: - resolution: {integrity: sha512-VgAd8VQCfwKYz4A3BPDUYNIQxXhRSTaVNbmDzSlYfo5Jekygk7fz0LRFYBpJ69l7eQH0P5nzEyF92oW/rvE3VA==} + /@wdio/spec-reporter/8.39.0: + resolution: {integrity: sha512-2DX0+xvP+PyeVTBd6iGCH/RU66WXaa8HL+HpsJXZu5rSkZ4+6B2Tv8JB3ZE/pOWGNpI+B4ac/NfDs1DrX9sB7A==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/reporter': 8.36.1 - '@wdio/types': 8.36.1 + '@wdio/reporter': 8.39.0 + '@wdio/types': 8.39.0 chalk: 5.3.0 easy-table: 1.2.0 pretty-ms: 7.0.1 dev: true - /@wdio/static-server-service/8.36.1: - resolution: {integrity: sha512-ExOLTXQj7EvRO47t+oOrIiBIzQJSYeIrc3EEmCF9TkcOqCl/JyVlGyf35/wPXMSP29BGYHSRYngoe48ERA+JtA==} + /@wdio/static-server-service/8.39.0: + resolution: {integrity: sha512-blP4dLlPcNmVqu1YtCPOQVENePVpbZNSPAGixLRAe+db9gGLVZDD1c8TcUSabJ0yRUICpKlQ2otH/AHAib/+4w==} engines: {node: ^16.13 || >=18} dependencies: - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 express: 4.17.1 morgan: 1.10.0 dev: true - /@wdio/types/8.36.1: - resolution: {integrity: sha512-kKtyJbypasKo/VQuJ6dTQQwFtHE9qoygjoCZjrQCLGraRSjOEiqZHPR0497wbeCvcgHIYyImbmcylqZNGUE0CQ==} + /@wdio/types/8.39.0: + resolution: {integrity: sha512-86lcYROTapOJuFd9ouomFDfzDnv3Kn+jE0RmqfvN9frZAeLVJ5IKjX9M6HjplsyTZhjGO1uCaehmzx+HJus33Q==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 dev: true - /@wdio/utils/8.36.1: - resolution: {integrity: sha512-xmgPHU11/o9n2FeRmDFkPRC0okiwA1i2xOcR2c3aSpuk99XkAm9RaMn/6u9LFaqsCpgaVxazcYEGSceO7U4hZA==} + /@wdio/utils/8.39.0: + resolution: {integrity: sha512-jY+n6jlGeK+9Tx8T659PKLwMQTGpLW5H78CSEWgZLbjbVSr2LfGR8Lx0CRktNXxAtqEVZPj16Pi74OtAhvhE6Q==} engines: {node: ^16.13 || >=18} dependencies: '@puppeteer/browsers': 1.7.1 - '@wdio/logger': 8.28.0 - '@wdio/types': 8.36.1 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 decamelize: 6.0.0 deepmerge-ts: 5.1.0 - edgedriver: 5.3.8 + edgedriver: 5.6.0 geckodriver: 4.3.3 get-port: 7.0.0 import-meta-resolve: 4.0.0 @@ -3623,6 +3623,11 @@ packages: engines: {node: '>=8.0.0'} dev: true + /@zip.js/zip.js/2.7.47: + resolution: {integrity: sha512-jmtJMA3/Jl4rMzo/DZ79s6g0CJ1AZcNAO6emTy/vHfIKAB/iiFY7PLs6KmbRTJ+F8GnK2eCLnjQfCCneRxXgzg==} + engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} + dev: true + /abab/2.0.5: resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} dev: true @@ -4575,8 +4580,8 @@ packages: engines: {node: '>=10'} dev: true - /chromedriver/124.0.3: - resolution: {integrity: sha512-k6Xu9fwDMgi//bGHB944QMmDHF0BBWGk4PAyVZBEuP6wnZMfQP4V6Sv+l/nuAPA006RllS6X07ZpjPwRPS4BaA==} + /chromedriver/126.0.5: + resolution: {integrity: sha512-xXVxwxd8CJ6yg2KEvFqLQi7V0RvF78xFnLB+xo9g9MoJNHMQccD7b4OWaxtKDy5RXrMgQ6Jb6vUN3SjTYXHLEQ==} engines: {node: '>=18'} hasBin: true requiresBuild: true @@ -5225,8 +5230,8 @@ packages: resolution: {integrity: sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==} dev: true - /devtools-protocol/0.0.1282316: - resolution: {integrity: sha512-i7eIqWdVxeXBY/M+v83yRkOV1sTHnr3XYiC0YNBivLIE6hBfE2H0c2o8VC5ynT44yjy+Ei0kLrBQFK/RUKaAHQ==} + /devtools-protocol/0.0.1302984: + resolution: {integrity: sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==} dev: true /diff-sequences/27.5.1: @@ -5362,6 +5367,19 @@ packages: which: 4.0.0 dev: true + /edgedriver/5.6.0: + resolution: {integrity: sha512-IeJXEczG+DNYBIa9gFgVYTqrawlxmc9SUqUsWU2E98jOsO/amA7wzabKOS8Bwgr/3xWoyXCJ6yGFrbFKrilyyQ==} + hasBin: true + requiresBuild: true + dependencies: + '@wdio/logger': 8.38.0 + '@zip.js/zip.js': 2.7.47 + decamelize: 6.0.0 + edge-paths: 3.0.5 + node-fetch: 3.3.2 + which: 4.0.0 + dev: true + /ee-first/1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true @@ -5772,9 +5790,9 @@ packages: jest-matcher-utils: 29.7.0 lodash.isequal: 4.5.0 optionalDependencies: - '@wdio/globals': 8.36.1_typescript@4.6.2 - '@wdio/logger': 8.28.0 - webdriverio: 8.36.1_typescript@4.6.2 + '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/logger': 8.38.0 + webdriverio: 8.39.1_typescript@4.6.2 transitivePeerDependencies: - bufferutil - devtools @@ -6226,7 +6244,7 @@ packages: hasBin: true requiresBuild: true dependencies: - '@wdio/logger': 8.28.0 + '@wdio/logger': 8.38.0 decamelize: 6.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 @@ -6341,6 +6359,7 @@ packages: /glob/7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6795,6 +6814,10 @@ packages: engines: {node: '>= 4'} dev: true + /immediate/3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + dev: true + /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -8128,6 +8151,15 @@ packages: resolution: {integrity: sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ==} dev: false + /jszip/3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.7 + setimmediate: 1.0.5 + dev: true + /just-extend/4.1.1: resolution: {integrity: sha512-aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==} dev: true @@ -8175,6 +8207,12 @@ packages: type-check: 0.4.0 dev: true + /lie/3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + dependencies: + immediate: 3.0.6 + dev: true + /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true @@ -9219,6 +9257,10 @@ packages: - supports-color dev: true + /pako/1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: true + /param-case/3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: @@ -11303,7 +11345,7 @@ packages: defaults: 1.0.3 dev: true - /wdio-chromedriver-service/8.1.1_13d5c9a187d81a3040fb94df4a1e31ad: + /wdio-chromedriver-service/8.1.1_c7bce63581aea0b27bc74a6bea04d05f: resolution: {integrity: sha512-pN3GiOkTIMnalfq4PJAHdX95pDp1orHnTY8W1fIbd6ok81ba97UjerTgS7lUDRUh1p0MAm35Ww0uc0/9wzB7SA==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11317,17 +11359,17 @@ packages: optional: true dependencies: '@wdio/logger': 8.16.17 - '@wdio/types': 8.36.1 - chromedriver: 124.0.3 + '@wdio/types': 8.39.0 + chromedriver: 126.0.5 fs-extra: 11.1.0 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.36.1_typescript@4.6.2 + webdriverio: 8.39.1_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true - /wdio-edgedriver-service/3.0.3_@wdio+types@8.36.1: + /wdio-edgedriver-service/3.0.3_@wdio+types@8.39.0: resolution: {integrity: sha512-oHKUFnh9Nn4s749Yl8hp20xvfF8GnK4jNV84qoy52/a0ETgWh0FG5qlRVXBIqIulqhGlfrCgL5/pIizMnEix1w==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11337,7 +11379,7 @@ packages: optional: true dependencies: '@wdio/logger': 8.16.17 - '@wdio/types': 8.36.1 + '@wdio/types': 8.39.0 edgedriver: 5.3.8 get-port: 7.0.0 split2: 4.2.0 @@ -11346,7 +11388,7 @@ packages: - supports-color dev: true - /wdio-safaridriver-service/2.1.1_e44f7dae2e7ecd391a74ad83b25c9493: + /wdio-safaridriver-service/2.1.1_11917679ce69388bd88480f7734310d5: resolution: {integrity: sha512-Rz8uls7EY0bHOZJpykmAMIQzT0gNe6lg32XdCjO/ppSvscWKP57lePGWD80RCU4kKnwX1TbrTivqfjl6vK/1rQ==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -11359,12 +11401,12 @@ packages: '@types/split2': 4.2.1 '@types/tcp-port-used': 1.0.1 '@wdio/logger': 8.16.17 - '@wdio/types': 8.36.1 + '@wdio/types': 8.39.0 fs-extra: 11.1.1 safaridriver: 0.0.6 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.36.1_typescript@4.6.2 + webdriverio: 8.39.1_typescript@4.6.2 transitivePeerDependencies: - supports-color dev: true @@ -11383,17 +11425,17 @@ packages: resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} dev: false - /webdriver/8.36.1: - resolution: {integrity: sha512-547RivYCHStVqtiGQBBcABAkzJbPnAWsxpXGzmj5KL+TOM2JF41N2iQRtUxXqr0jme1Nzzye7WS7Y7iSnK6i1g==} + /webdriver/8.39.0: + resolution: {integrity: sha512-Kc3+SfiH4ufyrIht683VT2vnJocx0pfH8rYdyPvEh1b2OYewtFTHK36k9rBDHZiBmk6jcSXs4M2xeFgOuon9Lg==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.11.30 '@types/ws': 8.5.4 - '@wdio/config': 8.36.1 - '@wdio/logger': 8.28.0 - '@wdio/protocols': 8.32.0 - '@wdio/types': 8.36.1 - '@wdio/utils': 8.36.1 + '@wdio/config': 8.39.0 + '@wdio/logger': 8.38.0 + '@wdio/protocols': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 deepmerge-ts: 5.1.0 got: 12.6.1 ky: 0.33.2 @@ -11404,8 +11446,8 @@ packages: - utf-8-validate dev: true - /webdriverio/8.36.1_typescript@4.6.2: - resolution: {integrity: sha512-vzE09oFQeMbOYJ/75jZ13sDIljzC3HH7uoUJKAMAEtyrn/bu1F9Sg/4IDEsvQaRD3pz3ae6SkRld33lcQk6HJA==} + /webdriverio/8.39.1_typescript@4.6.2: + resolution: {integrity: sha512-dPwLgLNtP+l4vnybz+YFxxH8nBKOP7j6VVzKtfDyTLDQg9rz3U8OA4xMMQCBucnrVXy3KcKxGqlnMa+c4IfWCQ==} engines: {node: ^16.13 || >=18} peerDependencies: devtools: ^8.14.0 @@ -11414,20 +11456,21 @@ packages: optional: true dependencies: '@types/node': 20.11.30 - '@wdio/config': 8.36.1 - '@wdio/logger': 8.28.0 - '@wdio/protocols': 8.32.0 + '@wdio/config': 8.39.0 + '@wdio/logger': 8.38.0 + '@wdio/protocols': 8.38.0 '@wdio/repl': 8.24.12 - '@wdio/types': 8.36.1 - '@wdio/utils': 8.36.1 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 archiver: 7.0.1 aria-query: 5.1.3 css-shorthand-properties: 1.1.1 css-value: 0.0.1 - devtools-protocol: 0.0.1282316 + devtools-protocol: 0.0.1302984 grapheme-splitter: 1.0.4 import-meta-resolve: 4.0.0 is-plain-obj: 4.1.0 + jszip: 3.10.1 lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 minimatch: 9.0.2 @@ -11436,7 +11479,7 @@ packages: resq: 1.10.0 rgb2hex: 0.2.5 serialize-error: 11.0.2 - webdriver: 8.36.1 + webdriver: 8.39.0 transitivePeerDependencies: - bufferutil - encoding diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index df20f8a86..c3dffe9dd 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "aa85b084664cf43bf75397520c673b475e43e055", + "pnpmShrinkwrapHash": "e9413fa93ea2c0ffe9295c8b78cb00150183502c", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index ae2b3405c..5731ce2da 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -81,15 +81,15 @@ "@types/jsdom": "~16.2.14", "@types/lodash": "~4.14.180", "@types/node": "~14.6.0", - "@wdio/cli": "~8.36.1", - "@wdio/jasmine-framework": "~8.36.1", - "@wdio/local-runner": "~8.36.1", - "@wdio/sauce-service": "~8.36.1", - "@wdio/spec-reporter": "~8.36.1", - "@wdio/static-server-service": "~8.36.1", - "@wdio/types": "~8.36.1", + "@wdio/cli": "~8.39.1", + "@wdio/jasmine-framework": "~8.39.1", + "@wdio/local-runner": "~8.39.1", + "@wdio/sauce-service": "~8.39.1", + "@wdio/spec-reporter": "~8.39.0", + "@wdio/static-server-service": "~8.39.0", + "@wdio/types": "~8.39.0", "chalk": "4.1.2", - "chromedriver": "~124.0.3", + "chromedriver": "~126.0.4", "dockerode": "~3.3.1", "jest": "~27.5.1", "jest-environment-jsdom": "~27.5.1", @@ -109,11 +109,11 @@ "ts-node": "~10.9.1", "typescript": "~4.6.2", "wdio-chromedriver-service": "~8.1.1", - "webdriverio": "~8.36.1", - "@wdio/shared-store-service": "~8.36.1", + "webdriverio": "~8.39.1", + "@wdio/shared-store-service": "~8.39.1", "node-fetch": "2", "@types/node-fetch": "2", - "@wdio/globals": "~8.36.1", + "@wdio/globals": "~8.39.1", "wdio-safaridriver-service": "~2.1.1", "wdio-edgedriver-service": "~3.0.3", "@types/youtube": "~0.0.46" diff --git a/trackers/javascript-tracker/test/functional/cookies.test.ts b/trackers/javascript-tracker/test/functional/cookies.test.ts index a4a0005f1..9bb562b1e 100644 --- a/trackers/javascript-tracker/test/functional/cookies.test.ts +++ b/trackers/javascript-tracker/test/functional/cookies.test.ts @@ -17,8 +17,9 @@ describe('Tracker created domain cookies', () => { expect(cookies).not.toContain('_sp_0ses.'); // Missing as tests are not HTTPS and `cookieSecure: true` by default expect(cookies).not.toContain('_sp_0id.'); - expect(cookies).not.toContain('_sp_3ses.'); // Missing as cookie lifetime is too short (1) - expect(cookies).not.toContain('_sp_3id.'); + // skipping the test for the sp_3 cookies being dropped since it is very flaky on Chrome + // expect(cookies).not.toContain('_sp_3ses.'); // Missing as cookie lifetime is too short (1) + // expect(cookies).not.toContain('_sp_3id.'); expect(cookies).not.toContain('_sp_4ses.'); // Missing as anonymous tracking enabled expect(cookies).not.toContain('_sp_4id.'); expect(cookies).not.toContain('_sp_5ses.'); // Missing as only using local storage diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index 28ba0966c..ead945d3b 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -89,7 +89,8 @@ describe('Snowplow Micro integration', () => { platform: 'mob', app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', - page_title: 'Integration test page', + // The title is not correctly set due to #1332 + // page_title: 'Integration test page', }, }) ).toBe(true); diff --git a/trackers/javascript-tracker/test/integration/media.test.ts b/trackers/javascript-tracker/test/media/media.test.ts similarity index 98% rename from trackers/javascript-tracker/test/integration/media.test.ts rename to trackers/javascript-tracker/test/media/media.test.ts index ab85750e9..a890669d9 100644 --- a/trackers/javascript-tracker/test/integration/media.test.ts +++ b/trackers/javascript-tracker/test/media/media.test.ts @@ -1,6 +1,6 @@ import _ from 'lodash'; import { fetchResults } from '../micro'; -import { pageSetup, waitUntil } from './helpers'; +import { pageSetup, waitUntil } from '../integration/helpers'; const playVideoElement1Callback = () => { return (done: (_: void) => void) => { @@ -72,7 +72,6 @@ const makeExpectedEvent = ( schema: 'iglu:com.snowplowanalytics.snowplow/media_player/jsonschema/1-0-0', data: { currentTime: jasmine.any(Number), - duration: 20, ended: false, loop: false, muted: true, @@ -224,10 +223,10 @@ describe('Media Tracking', () => { const expected = { ready: { - mediaPlayer: { paused: true, duration: jasmine.any(Number) }, + mediaPlayer: { paused: true }, videoElement: { videoHeight: jasmine.any(Number), videoWidth: jasmine.any(Number) }, }, - play: {}, + play: { mediaPlayer: { duration: 20 } }, pause: { mediaPlayer: { paused: true } }, volumechange: { mediaPlayer: { paused: true, volume: 50 } }, ratechange: { mediaPlayer: { paused: true, volume: 50, playbackRate: 0.9 } }, @@ -481,7 +480,6 @@ describe('Media Tracking', () => { error: jasmine.any(Object), }, mediaPlayer: { - duration: 0, paused: true, }, videoElement: { @@ -496,7 +494,6 @@ describe('Media Tracking', () => { mediaPlayer: { currentTime: 0, paused: true, - duration: 0, }, videoElement: { videoHeight: 0, diff --git a/trackers/javascript-tracker/test/integration/vimeo.test.ts b/trackers/javascript-tracker/test/media/vimeo.test.ts similarity index 99% rename from trackers/javascript-tracker/test/integration/vimeo.test.ts rename to trackers/javascript-tracker/test/media/vimeo.test.ts index ef2ef1102..d028fb3ea 100644 --- a/trackers/javascript-tracker/test/integration/vimeo.test.ts +++ b/trackers/javascript-tracker/test/media/vimeo.test.ts @@ -1,5 +1,5 @@ import { VimeoEvent } from '@snowplow/browser-plugin-vimeo-tracking'; -import { pageSetup } from './helpers'; +import { pageSetup } from '../integration/helpers'; import { fetchResults } from '../micro'; function compareContextObjects(expected: any, received: any) { diff --git a/trackers/javascript-tracker/test/integration/youtube.test.ts b/trackers/javascript-tracker/test/media/youtube.test.ts similarity index 99% rename from trackers/javascript-tracker/test/integration/youtube.test.ts rename to trackers/javascript-tracker/test/media/youtube.test.ts index 3ecd68f98..9647e7b78 100644 --- a/trackers/javascript-tracker/test/integration/youtube.test.ts +++ b/trackers/javascript-tracker/test/media/youtube.test.ts @@ -1,5 +1,5 @@ import { fetchResults } from '../micro'; -import { pageSetup, waitUntil } from './helpers'; +import { pageSetup, waitUntil } from '../integration/helpers'; declare var player: YT.Player; diff --git a/trackers/javascript-tracker/test/pages/session-integration.html b/trackers/javascript-tracker/test/pages/session-integration.html index be3f72365..c63d738ea 100644 --- a/trackers/javascript-tracker/test/pages/session-integration.html +++ b/trackers/javascript-tracker/test/pages/session-integration.html @@ -43,15 +43,6 @@ }, }); - setTimeout(function () { - window.snowplow('trackPageView:cookieSessionTracker'); - window.snowplow('trackPageView:cookieSessionTracker'); - }, 0); - - setTimeout(function () { - window.snowplow('trackPageView:cookieSessionTracker'); - }, 3000); - window.snowplow('newTracker', 'localStorageSessionTracker', collector_endpoint, { appId: 'session-integration-' + testIdentifier, cookieName: testIdentifier, @@ -59,15 +50,6 @@ stateStorageStrategy: 'localStorage', }); - setTimeout(function () { - window.snowplow('trackPageView:localStorageSessionTracker'); - window.snowplow('trackPageView:localStorageSessionTracker'); - }, 0); - - setTimeout(function () { - window.snowplow('trackPageView:localStorageSessionTracker'); - }, 3000); - window.snowplow('newTracker', 'anonymousSessionTracker', collector_endpoint, { appId: 'session-integration-' + testIdentifier, cookieName: testIdentifier, @@ -76,14 +58,33 @@ anonymousTracking: { withSessionTracking: true }, }); - setTimeout(function () { - window.snowplow('trackPageView:anonymousSessionTracker'); - window.snowplow('trackPageView:anonymousSessionTracker'); - }, 0); + const currentUrl = window.location.href; + const url = new URL(currentUrl); + if (url.searchParams.has("delayed")) { + setTimeout(function () { + window.snowplow('trackPageView:cookieSessionTracker'); + + window.snowplow('trackPageView:localStorageSessionTracker'); + + window.snowplow('trackPageView:anonymousSessionTracker'); + }, 0); + } else { + setTimeout(function () { + window.snowplow('trackPageView:cookieSessionTracker'); + window.snowplow('trackPageView:cookieSessionTracker'); + + window.snowplow('trackPageView:localStorageSessionTracker'); + window.snowplow('trackPageView:localStorageSessionTracker'); + + window.snowplow('trackPageView:anonymousSessionTracker'); + window.snowplow('trackPageView:anonymousSessionTracker'); + }, 0); - setTimeout(function () { - window.snowplow('trackPageView:anonymousSessionTracker'); - }, 3000); + setTimeout(function () { + url.searchParams.set("delayed", "1"); + window.location.href = url.toString(); + }, 3000); + } diff --git a/trackers/javascript-tracker/test/wdio.default.conf.ts b/trackers/javascript-tracker/test/wdio.default.conf.ts index 99f3ed1a1..13b53718a 100644 --- a/trackers/javascript-tracker/test/wdio.default.conf.ts +++ b/trackers/javascript-tracker/test/wdio.default.conf.ts @@ -9,7 +9,12 @@ function getFullPath(path: string): string { type CustomTestRunnerConfig = Options.Testrunner & { dockerInstance?: DockerWrapper }; export const config: Omit = { - specs: [[getFullPath('test/functional/*.test.ts'), getFullPath('test/integration/*.test.ts')]], + specs: [[ + getFullPath('test/functional/*.test.ts'), + getFullPath('test/integration/*.test.ts'), + getFullPath('test/media/media.test.ts'), + getFullPath('test/media/youtube.test.ts'), + ]], logLevel: 'warn', baseUrl: 'http://snowplow-js-tracker.local:8080', waitforTimeout: 30000, From 9fe9ee9f98ba70901ec71bad3c083acc85b363ad Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Tue, 23 Jul 2024 12:10:05 +0200 Subject: [PATCH 038/277] Fix tracking a page view with a custom title sets the title for future page views as well (close #1332) PR #1334 --- ...-1332-page_title_fix_2024-07-19-13-02.json | 10 ++ .../browser-tracker-core/src/tracker/index.ts | 12 +- .../test/tracker/page_view.test.ts | 103 ++++++++++++++++++ .../test/integration/integration.test.ts | 3 +- 4 files changed, 125 insertions(+), 3 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json create mode 100644 libraries/browser-tracker-core/test/tracker/page_view.test.ts diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json b/common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json new file mode 100644 index 000000000..04775f17d --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Fix tracking a page view with a custom title sets the title for future page views as well (#1332)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 1b478fc32..a29950758 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -210,6 +210,10 @@ export function Tracker( lastDocumentTitle = document.title, // Custom title lastConfigTitle: string | null | undefined, + // Indicates that the lastConfigTitle was set from a trackPageView call + // Custom title configured this way has a shorter lifespan than when set using setDocumentTitle. + // It only lasts until the next trackPageView call. + lastConfigTitleFromTrackPageView: boolean = false, // Controls whether activity tracking page ping event timers are reset on page view events resetActivityTrackingOnPageView = trackerConfiguration.resetActivityTrackingOnPageView ?? true, // Disallow hash tags in URL. TODO: Should this be set to true by default? @@ -987,7 +991,12 @@ export function Tracker( // So we know what document.title was at the time of trackPageView lastDocumentTitle = document.title; - lastConfigTitle = title ?? lastConfigTitle; + if (title) { + lastConfigTitle = title; + lastConfigTitleFromTrackPageView = true; + } else if (lastConfigTitleFromTrackPageView) { + lastConfigTitle = null; + } // Fixup page title const pageTitle = fixupTitle(lastConfigTitle || lastDocumentTitle); @@ -1227,6 +1236,7 @@ export function Tracker( // So we know what document.title was at the time of trackPageView lastDocumentTitle = document.title; lastConfigTitle = title; + lastConfigTitleFromTrackPageView = false; }, discardHashTag: function (enableFilter: boolean) { diff --git a/libraries/browser-tracker-core/test/tracker/page_view.test.ts b/libraries/browser-tracker-core/test/tracker/page_view.test.ts new file mode 100644 index 000000000..42d752d2d --- /dev/null +++ b/libraries/browser-tracker-core/test/tracker/page_view.test.ts @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import { createTracker } from '../helpers'; + +describe('Tracker API: page views', () => { + beforeEach(() => { + jest.spyOn(document, 'title', 'get').mockReturnValue('Page title 1'); + }); + + it('Uses custom page title for only a single page view', () => { + let titles: string[] = []; + const tracker = createTracker({ + plugins: [ + { + afterTrack: (payload) => { + titles.push(payload.page as string); + }, + }, + ], + }); + + tracker?.trackPageView({ + title: 'Title override', + }); + tracker?.trackPageView(); + + expect(titles).toEqual(['Title override', 'Page title 1']); + }); + + it('Uses custom page title set using setDocumentTitle until overriden again', () => { + let titles: string[] = []; + const tracker = createTracker({ + plugins: [ + { + afterTrack: (payload) => { + titles.push(payload.page as string); + }, + }, + ], + }); + + tracker?.setDocumentTitle('Title override'); + tracker?.trackPageView(); + tracker?.trackPageView(); + + jest.spyOn(document, 'title', 'get').mockReturnValue('Page title 2'); + tracker?.trackPageView(); + + tracker?.setDocumentTitle('Title override 2'); + tracker?.trackPageView(); + + expect(titles).toEqual(['Title override', 'Title override', 'Title override', 'Title override 2']); + }); + + it('Explicit title in trackPageView overrides setDocumentTitle', () => { + let titles: string[] = []; + const tracker = createTracker({ + plugins: [ + { + afterTrack: (payload) => { + titles.push(payload.page as string); + }, + }, + ], + }); + + tracker?.setDocumentTitle('Title override'); + tracker?.trackPageView({ + title: 'Explicit title', + }); + tracker?.trackPageView(); + + expect(titles).toEqual(['Explicit title', 'Page title 1']); + }); +}); diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index ead945d3b..28ba0966c 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -89,8 +89,7 @@ describe('Snowplow Micro integration', () => { platform: 'mob', app_id: `sp-${method}-${testIdentifier}`, user_id: 'Malcolm', - // The title is not correctly set due to #1332 - // page_title: 'Integration test page', + page_title: 'Integration test page', }, }) ).toBe(true); From 97aa82b39e89225c353c5ec209c2a2be339d780c Mon Sep 17 00:00:00 2001 From: Jack Keene Date: Tue, 23 Jul 2024 11:12:14 +0100 Subject: [PATCH 039/277] Truncate stack when application_error stack trace exceeds 8kb (close #1327) PR #1328 * add truncate function to application error event --- ...truncate-stack-trace_2024-07-16-10-59.json | 10 +++++++ .../src/index.ts | 6 ++-- .../browser-plugin-error-tracking/src/util.ts | 15 ++++++++++ .../test/events.test.ts | 28 +++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json create mode 100644 plugins/browser-plugin-error-tracking/src/util.ts diff --git a/common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json b/common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json new file mode 100644 index 000000000..67734f37a --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-error-tracking", + "comment": "Truncate error stack trace if it's size is greater than 8kb", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-error-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-error-tracking/src/index.ts b/plugins/browser-plugin-error-tracking/src/index.ts index cabe49942..bf7fe0617 100644 --- a/plugins/browser-plugin-error-tracking/src/index.ts +++ b/plugins/browser-plugin-error-tracking/src/index.ts @@ -36,6 +36,7 @@ import { dispatchToTrackersInCollection, } from '@snowplow/browser-tracker-core'; import { buildSelfDescribingEvent, CommonEventProperties, SelfDescribingJson } from '@snowplow/tracker-core'; +import { truncateString } from './util'; let _trackers: Record = {}; @@ -74,7 +75,8 @@ export function trackError( trackers: Array = Object.keys(_trackers) ) { const { message, filename, lineno, colno, error, context, timestamp } = event, - stack = error && error.stack ? error.stack : null; + stack = error && truncateString(error.stack, 8192), + truncatedMessage = message && truncateString(message, 2048); dispatchToTrackersInCollection(trackers, _trackers, (t) => { t.core.track( @@ -83,7 +85,7 @@ export function trackError( schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', data: { programmingLanguage: 'JAVASCRIPT', - message: message ?? "JS Exception. Browser doesn't support ErrorEvent API", + message: truncatedMessage ?? "JS Exception. Browser doesn't support ErrorEvent API", stackTrace: stack, lineNumber: lineno, lineColumn: colno, diff --git a/plugins/browser-plugin-error-tracking/src/util.ts b/plugins/browser-plugin-error-tracking/src/util.ts new file mode 100644 index 000000000..714f5c246 --- /dev/null +++ b/plugins/browser-plugin-error-tracking/src/util.ts @@ -0,0 +1,15 @@ +/** + * Truncate string if it's longer than 8192 chars + * + * @param string - The stack trace to truncate + * @param maxLength - The maximum length of the truncated string. Default = 8192 + * @returns The truncated string + */ +export function truncateString(string?: string, maxLength: number = 8192): string | undefined { + if (string && string.length > maxLength) { + const truncatedString = string.substring(0, maxLength); + return truncatedString; + } + + return string; +} diff --git a/plugins/browser-plugin-error-tracking/test/events.test.ts b/plugins/browser-plugin-error-tracking/test/events.test.ts index 602213abb..0378b76f9 100644 --- a/plugins/browser-plugin-error-tracking/test/events.test.ts +++ b/plugins/browser-plugin-error-tracking/test/events.test.ts @@ -60,10 +60,18 @@ describe('AdTrackingPlugin', () => { encodeBase64: false, plugins: [ErrorTrackingPlugin()], }); + addTracker('sp4', 'sp4', 'js-3.0.0', '', state, { + encodeBase64: false, + plugins: [ErrorTrackingPlugin()], + }); const error = new Error('this is an error'); error.stack = 'stacktrace-1'; + const oversizedError = new Error('this is a longer error'); + oversizedError.stack = 'x'.repeat(10000); + const oversizedMessage = 'y'.repeat(10000); + trackError( { message: 'message-1', @@ -89,6 +97,14 @@ describe('AdTrackingPlugin', () => { ['sp3'] ); + trackError( + { + message: oversizedMessage, + error: oversizedError, + }, + ['sp4'] + ); + it('trackError adds the expected application error event to the queue', () => { expect( extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from(state.outQueues[0]) @@ -126,4 +142,16 @@ describe('AdTrackingPlugin', () => { }, }); }); + + it('trackError replaces undefined messages with placeholder', () => { + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from(state.outQueues[3]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', + data: { + message: 'y'.repeat(2048), + stackTrace: 'x'.repeat(8192), + }, + }); + }); }); From 316bb435a45e37434c2cba040942c1cabc4dcb7b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 08:59:00 +0000 Subject: [PATCH 040/277] Update changelogs [skip ci] --- ...e-1327_truncate-stack-trace_2024-07-16-10-59.json | 10 ---------- .../issue-1332-page_title_fix_2024-07-19-13-02.json | 10 ---------- .../issue-update_docs_action_2024-07-04-13-18.json | 10 ---------- ...issue-integration_tests_fix_2024-07-18-14-20.json | 10 ---------- .../issue-update_docs_action_2024-07-04-13-18.json | 10 ---------- .../issue-update_docs_action_2024-07-04-13-18.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 9 ++++++++- libraries/tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/tracker-core/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-event-specifications/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/browser-tracker/CHANGELOG.md | 9 ++++++++- trackers/javascript-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 9 ++++++++- trackers/node-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/node-tracker/CHANGELOG.md | 9 ++++++++- 74 files changed, 456 insertions(+), 94 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json delete mode 100644 common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json delete mode 100644 common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json delete mode 100644 common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json delete mode 100644 common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json diff --git a/common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json b/common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json deleted file mode 100644 index 67734f37a..000000000 --- a/common/changes/@snowplow/browser-plugin-error-tracking/issue-1327_truncate-stack-trace_2024-07-16-10-59.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-error-tracking", - "comment": "Truncate error stack trace if it's size is greater than 8kb", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-error-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json b/common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json deleted file mode 100644 index 04775f17d..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-1332-page_title_fix_2024-07-19-13-02.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Fix tracking a page view with a custom title sets the title for future page views as well (#1332)", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json b/common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json deleted file mode 100644 index e9f276ff9..000000000 --- a/common/changes/@snowplow/browser-tracker/issue-update_docs_action_2024-07-04-13-18.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Fix API docs CI action and update it's dependencies", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json b/common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json deleted file mode 100644 index e15417e70..000000000 --- a/common/changes/@snowplow/javascript-tracker/issue-integration_tests_fix_2024-07-18-14-20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Fix integration tests (#826)", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json b/common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json deleted file mode 100644 index d5e500cab..000000000 --- a/common/changes/@snowplow/node-tracker/issue-update_docs_action_2024-07-04-13-18.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/node-tracker", - "comment": "Fix API docs CI action and update it's dependencies", - "type": "none" - } - ], - "packageName": "@snowplow/node-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json b/common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json deleted file mode 100644 index 0d84f2745..000000000 --- a/common/changes/@snowplow/tracker-core/issue-update_docs_action_2024-07-04-13-18.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Fix API docs CI action and update it's dependencies", - "type": "none" - } - ], - "packageName": "@snowplow/tracker-core" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index da70c9a34..71e6d689f 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-tracker-core_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": { + "none": [ + { + "comment": "Fix tracking a page view with a custom title sets the title for future page views as well (#1332)" + } + ] + } + }, { "version": "3.24.1", "tag": "@snowplow/browser-tracker-core_v3.24.1", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 9d2742dd4..aee0bca96 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +### Updates + +- Fix tracking a page view with a custom title sets the title for future page views as well (#1332) ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 462ebdceb..491d70565 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/tracker-core_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": { + "none": [ + { + "comment": "Fix API docs CI action and update it's dependencies" + } + ] + } + }, { "version": "3.24.1", "tag": "@snowplow/tracker-core_v3.24.1", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 6c1a0bb0d..c7ee56703 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +### Updates + +- Fix API docs CI action and update it's dependencies ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index ca833c42b..9904a246b 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.1", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 1570f1cd1..18ae88162 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index d75b54e50..b3e9a675d 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-browser-features_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-browser-features_v3.24.1", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 6d24e69ef..2220692a1 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 4fb1f0b2d..0c393b9cf 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.1", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 8137117c9..ad4abef26 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 2009ef8d9..00836663b 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-client-hints_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-client-hints_v3.24.1", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 40741e72e..773dbb73f 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index b0c756f5b..249ff6e68 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-consent_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-consent_v3.24.1", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index f6dbe4ef5..769901edb 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index acfab3579..68ed015f4 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-debugger_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-debugger_v3.24.1", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index e5d41be6e..36f8447e7 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index b8971d314..eac96ec62 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-ecommerce_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-ecommerce_v3.24.1", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 2e0d25c6a..4e10673f6 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index b032da0d9..ffacea3fd 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.1", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index e6d8d5309..cbdcffd94 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index e7e3b520d..01b804d21 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.1", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index ff7ae392d..109c8d145 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index e38f5b8c2..b0770a22f 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-error-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": { + "none": [ + { + "comment": "Truncate error stack trace if it's size is greater than 8kb" + } + ] + } + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-error-tracking_v3.24.1", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 9fba3c14c..1e8be4d20 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +### Updates + +- Truncate error stack trace if it's size is greater than 8kb ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index 0cdec4565..cea72f5c8 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-event-specifications_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-event-specifications_v3.24.1", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index 5349b9472..d69fc1000 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index 503c677ba..19c440e8b 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-focalmeter_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-focalmeter_v3.24.1", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 535a00b9d..208b0f2ab 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 632c0feca..aed548a04 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-form-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-form-tracking_v3.24.1", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 89a61abfc..82e4fb48d 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 269990334..2db9701fd 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.1", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index e6f34e133..53c7d1908 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index bd75d2f83..db6777605 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-geolocation_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-geolocation_v3.24.1", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index a9a269032..499b14337 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 4b438fd1b..cc4d60ac5 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.1", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index f5c60882e..e7c9a41f9 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 8a6a87058..efe3783c8 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-media-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-media-tracking_v3.24.1", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 3b557f6dd..c9e06e475 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index 73e3dba07..ac26731e6 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-media_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-media_v3.24.1", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 508684977..484a1f4bf 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index cb5b87d22..0557284f6 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.1", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index c1eef99a1..7d595a117 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 0ed4f2823..d2ff68380 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-optimizely_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-optimizely_v3.24.1", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 07be4351f..441697132 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 935ad6d74..1f027f62b 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.1", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 8ab019aff..0f05f4ad1 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 348d209eb..368c63d69 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-performance-timing_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-performance-timing_v3.24.1", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 61e320eb3..a1885cd9e 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 788db51ab..b4093f6a2 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.1", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 3ae263dbe..a1a009fba 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 0ecb083ce..19fe26dc8 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-site-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-site-tracking_v3.24.1", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 552fb29d8..e2c358371 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 5a04eab61..2adadefa0 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.1", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 1d229ef7c..d7e28532e 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 6eb8b9b08..43effe683 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-timezone_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-timezone_v3.24.1", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index b7cba1d88..5c2bb1ac3 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 581ce6a47..d4d351013 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.1", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 77b297172..af028c297 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index af667a1a7..66b95bd77 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-web-vitals_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-web-vitals_v3.24.1", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 31e59e284..4c5fea9a0 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index 8ed5e1e28..bf2f45764 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": {} + }, { "version": "3.24.1", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.1", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 76fe7795b..be1af8692 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +_Version update only_ ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index f5f0eb269..ff4499442 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/browser-tracker_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": { + "none": [ + { + "comment": "Fix API docs CI action and update it's dependencies" + } + ] + } + }, { "version": "3.24.1", "tag": "@snowplow/browser-tracker_v3.24.1", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 8609aef0c..c9a8137bc 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +### Updates + +- Fix API docs CI action and update it's dependencies ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 3d788e6f3..1ec2e8f1b 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/javascript-tracker_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": { + "none": [ + { + "comment": "Fix integration tests (#826)" + } + ] + } + }, { "version": "3.24.1", "tag": "@snowplow/javascript-tracker_v3.24.1", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 62279ec5a..168b35636 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +### Updates + +- Fix integration tests (#826) ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 2b54a4ecf..d856d3719 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.24.2", + "tag": "@snowplow/node-tracker_v3.24.2", + "date": "Wed, 24 Jul 2024 08:59:00 GMT", + "comments": { + "none": [ + { + "comment": "Fix API docs CI action and update it's dependencies" + } + ] + } + }, { "version": "3.24.1", "tag": "@snowplow/node-tracker_v3.24.1", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 1b6398f7f..fe8589e97 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Tue, 02 Jul 2024 07:08:17 GMT and should not be manually modified. +This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. + +## 3.24.2 +Wed, 24 Jul 2024 08:59:00 GMT + +### Updates + +- Fix API docs CI action and update it's dependencies ## 3.24.1 Tue, 02 Jul 2024 07:08:17 GMT From 9f4b67bd44a1495caab9c28c1765f9a079779971 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 08:59:00 +0000 Subject: [PATCH 041/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 5bb893486..f88611984 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.24.1", + "version": "3.24.2", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index c6356d0d7..ce5c06fb8 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.24.1", + "version": "3.24.2", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 37472af78..24c0342f4 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.24.1", + "version": "3.24.2", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index c3a3ed952..0cc8bb0d6 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index db96d5b54..29b6bd203 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 47d957e9a..db6d9e500 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index cffe21007..579cadbf6 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 94219577e..a7dce7dd0 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.24.1", + "version": "3.24.2", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index a4cdf4b41..6041cd4c4 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.24.1", + "version": "3.24.2", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index e15c040e7..f2720869d 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.24.1", + "version": "3.24.2", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index dbd8d1e2c..f177ab310 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.24.1", + "version": "3.24.2", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index c571e53ea..69fc44bd1 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.24.1", + "version": "3.24.2", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index b213430e4..bd4dd1958 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index 5dbedce68..27cf78a59 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.24.1", + "version": "3.24.2", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 0ec893187..8fa965def 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.24.1", + "version": "3.24.2", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 684281e55..ff45b8ea9 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index f294a4109..ce4b853d0 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index b08776a52..f4ea30cc3 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 5d10ad8bb..b6a5b3049 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index af85ff3df..f710925c1 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 9a0364d8b..6d5cadab8 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.24.1", + "version": "3.24.2", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 2d15ad8e8..3d7ba6942 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 899842b85..e5a954c88 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index bb7136048..3da848999 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 21bdb58c2..774575450 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index e36fbf708..b4d4edd28 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.24.1", + "version": "3.24.2", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 733f2d803..5a7f55bc2 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index a905b2809..f53375f7f 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.24.1", + "version": "3.24.2", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 14847bae1..3fa1989a6 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.24.1", + "version": "3.24.2", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index d2a8be501..0650d65b0 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 0ccddb841..efc01217e 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.24.1", + "version": "3.24.2", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index a5ddb830b..9222d4a58 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.24.1", + "version": "3.24.2", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.1" + "@snowplow/browser-tracker": "~3.24.2" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index dd1dc9e23..959b54aa6 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.24.1", + "version": "3.24.2", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 5731ce2da..ae4d9fc2b 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.24.1", + "version": "3.24.2", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index c3a70d3ca..281891e10 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.24.1", + "version": "3.24.2", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 781cadb9a4ffc3dd60c8f7dfd506680a6f7205e5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:02:38 +0000 Subject: [PATCH 042/277] Applying documentation updates. --- ...-tracker.eventpayloadandcontext.context.md | 26 ++++++------ ...er-tracker.eventpayloadandcontext.event.md | 26 ++++++------ .../browser-tracker.eventpayloadandcontext.md | 42 +++++++++---------- ...-tracker.eventpayloadandcontext.context.md | 26 ++++++------ ...de-tracker.eventpayloadandcontext.event.md | 26 ++++++------ .../node-tracker.eventpayloadandcontext.md | 42 +++++++++---------- 6 files changed, 94 insertions(+), 94 deletions(-) diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md index 977152701..9f950fa9f 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.context.md @@ -1,13 +1,13 @@ - - -[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) > [context](./browser-tracker.eventpayloadandcontext.context.md) - -## EventPayloadAndContext.context property - -List of context entities to track along with the event - -Signature: - -```typescript -context: Array; -``` + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) > [context](./browser-tracker.eventpayloadandcontext.context.md) + +## EventPayloadAndContext.context property + +List of context entities to track along with the event + +Signature: + +```typescript +context: Array; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md index 6954679dd..3a977651c 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.event.md @@ -1,13 +1,13 @@ - - -[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) > [event](./browser-tracker.eventpayloadandcontext.event.md) - -## EventPayloadAndContext.event property - -Tracker payload for the event data - -Signature: - -```typescript -event: PayloadBuilder; -``` + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) > [event](./browser-tracker.eventpayloadandcontext.event.md) + +## EventPayloadAndContext.event property + +Tracker payload for the event data + +Signature: + +```typescript +event: PayloadBuilder; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md index f1f51ca19..7b13345a5 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventpayloadandcontext.md @@ -1,21 +1,21 @@ - - -[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) - -## EventPayloadAndContext interface - -Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). - -Signature: - -```typescript -interface EventPayloadAndContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [context](./browser-tracker.eventpayloadandcontext.context.md) | Array<SelfDescribingJson> | List of context entities to track along with the event | -| [event](./browser-tracker.eventpayloadandcontext.event.md) | PayloadBuilder | Tracker payload for the event data | - + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) + +## EventPayloadAndContext interface + +Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). + +Signature: + +```typescript +interface EventPayloadAndContext +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [context](./browser-tracker.eventpayloadandcontext.context.md) | Array<SelfDescribingJson> | List of context entities to track along with the event | +| [event](./browser-tracker.eventpayloadandcontext.event.md) | PayloadBuilder | Tracker payload for the event data | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md index 92840df88..450dac748 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.context.md @@ -1,13 +1,13 @@ - - -[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) > [context](./node-tracker.eventpayloadandcontext.context.md) - -## EventPayloadAndContext.context property - -List of context entities to track along with the event - -Signature: - -```typescript -context: Array; -``` + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) > [context](./node-tracker.eventpayloadandcontext.context.md) + +## EventPayloadAndContext.context property + +List of context entities to track along with the event + +Signature: + +```typescript +context: Array; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md index 4d9da8eb3..75e3aad07 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.event.md @@ -1,13 +1,13 @@ - - -[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) > [event](./node-tracker.eventpayloadandcontext.event.md) - -## EventPayloadAndContext.event property - -Tracker payload for the event data - -Signature: - -```typescript -event: PayloadBuilder; -``` + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) > [event](./node-tracker.eventpayloadandcontext.event.md) + +## EventPayloadAndContext.event property + +Tracker payload for the event data + +Signature: + +```typescript +event: PayloadBuilder; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md index 6e2172552..3f94b70a3 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventpayloadandcontext.md @@ -1,21 +1,21 @@ - - -[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) - -## EventPayloadAndContext interface - -Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). - -Signature: - -```typescript -interface EventPayloadAndContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [context](./node-tracker.eventpayloadandcontext.context.md) | Array<SelfDescribingJson> | List of context entities to track along with the event | -| [event](./node-tracker.eventpayloadandcontext.event.md) | PayloadBuilder | Tracker payload for the event data | - + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) + +## EventPayloadAndContext interface + +Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). + +Signature: + +```typescript +interface EventPayloadAndContext +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [context](./node-tracker.eventpayloadandcontext.context.md) | Array<SelfDescribingJson> | List of context entities to track along with the event | +| [event](./node-tracker.eventpayloadandcontext.event.md) | PayloadBuilder | Tracker payload for the event data | + From a0e0e3652be7f2617542b6ed82808f0353f643c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Tue, 3 Sep 2024 07:39:01 +0200 Subject: [PATCH 043/277] Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush --- .github/workflows/build.yml | 4 +- .github/workflows/change_check.yml | 4 +- .github/workflows/publish.yml | 4 +- .github/workflows/publish_branch.yml | 4 +- .github/workflows/publish_prerelease.yml | 4 +- .github/workflows/snyk.yml | 4 +- .nvmrc | 2 +- README.md | 2 +- .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + .../release-3.24.3_2024-09-03-05-39.json | 10 + common/git-hooks/pre-commit | 0 common/scripts/install-run-rush-pnpm.js | 31 + common/scripts/install-run-rush.js | 189 ++++-- common/scripts/install-run-rushx.js | 23 +- common/scripts/install-run.js | 596 +++++++++++++----- libraries/browser-tracker-core/README.md | 2 +- libraries/tracker-core/README.md | 2 +- plugins/browser-plugin-ad-tracking/README.md | 2 +- .../browser-plugin-browser-features/README.md | 2 +- .../README.md | 2 +- plugins/browser-plugin-client-hints/README.md | 2 +- plugins/browser-plugin-consent/README.md | 2 +- plugins/browser-plugin-debugger/README.md | 2 +- plugins/browser-plugin-ecommerce/README.md | 2 +- .../browser-plugin-enhanced-consent/README.md | 2 +- .../README.md | 2 +- .../browser-plugin-error-tracking/README.md | 2 +- .../README.md | 2 +- plugins/browser-plugin-focalmeter/README.md | 2 +- .../browser-plugin-form-tracking/README.md | 2 +- plugins/browser-plugin-ga-cookies/README.md | 2 +- plugins/browser-plugin-geolocation/README.md | 2 +- .../README.md | 2 +- .../browser-plugin-media-tracking/README.md | 4 +- plugins/browser-plugin-media/README.md | 2 +- plugins/browser-plugin-optimizely-x/README.md | 2 +- plugins/browser-plugin-optimizely/README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../browser-plugin-privacy-sandbox/README.md | 2 +- .../browser-plugin-site-tracking/README.md | 2 +- .../README.md | 2 +- plugins/browser-plugin-timezone/README.md | 2 +- .../browser-plugin-vimeo-tracking/README.md | 2 +- plugins/browser-plugin-web-vitals/README.md | 2 +- .../browser-plugin-youtube-tracking/README.md | 4 +- rush.json | 4 +- trackers/browser-tracker/README.md | 2 +- trackers/javascript-tracker/README.md | 2 +- trackers/node-tracker/README.md | 2 +- 82 files changed, 1017 insertions(+), 266 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json create mode 100644 common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json mode change 100644 => 100755 common/git-hooks/pre-commit create mode 100644 common/scripts/install-run-rush-pnpm.js diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c25a2c4f..cc062ed48 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,10 +18,10 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Use Node.js 16 + - name: Use Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: pnpm cache uses: actions/cache@v3 diff --git a/.github/workflows/change_check.yml b/.github/workflows/change_check.yml index 6a4709570..30b6acb9d 100644 --- a/.github/workflows/change_check.yml +++ b/.github/workflows/change_check.yml @@ -15,10 +15,10 @@ jobs: with: fetch-depth: 0 - - name: Use Node.js 16 + - name: Use Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: pnpm cache uses: actions/cache@v3 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5329c781e..7cf6259de 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,10 +19,10 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Use Node.js 16 + - name: Use Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: pnpm cache uses: actions/cache@v3 diff --git a/.github/workflows/publish_branch.yml b/.github/workflows/publish_branch.yml index 39a859de6..ef758c568 100644 --- a/.github/workflows/publish_branch.yml +++ b/.github/workflows/publish_branch.yml @@ -14,10 +14,10 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Use Node.js 16 + - name: Use Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Get dist-tag from branch name env: diff --git a/.github/workflows/publish_prerelease.yml b/.github/workflows/publish_prerelease.yml index a4d07c49e..c6b53ec1c 100644 --- a/.github/workflows/publish_prerelease.yml +++ b/.github/workflows/publish_prerelease.yml @@ -19,10 +19,10 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Use Node.js 16 + - name: Use Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: pnpm cache uses: actions/cache@v3 diff --git a/.github/workflows/snyk.yml b/.github/workflows/snyk.yml index a027d309b..e70899ee0 100644 --- a/.github/workflows/snyk.yml +++ b/.github/workflows/snyk.yml @@ -7,10 +7,10 @@ jobs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - - name: Use Node.js 16 + - name: Use Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: pnpm cache uses: actions/cache@v3 diff --git a/.nvmrc b/.nvmrc index 19c7bdba7..3c032078a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16 \ No newline at end of file +18 diff --git a/README.md b/README.md index e63024c0d..b9813e4ee 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ client-side and server-side tiers of your websites and web apps. ### Maintainer quick start -Assuming [git](https://git-scm.com/downloads), [Node.js 14 or 16](https://nodejs.org/en/download/releases/) are installed. +Assuming [git](https://git-scm.com/downloads), [Node.js 18 - 20](https://nodejs.org/en/download/releases/) are installed. #### Clone repository diff --git a/common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..1e9cfb5e7 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ad-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ad-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..16f5ca224 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-browser-features", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-browser-features" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..939dc1d2e --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-button-click-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-button-click-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..795890cd0 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-client-hints", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-client-hints" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..ada8b1908 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-consent", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-consent" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..20218806a --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-debugger", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-debugger" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..382de6f93 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ecommerce", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..7241618fb --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-enhanced-consent", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-enhanced-consent" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..0c80c8ba2 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..96cfa0390 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-error-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-error-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..9ffd460ef --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-event-specifications", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-event-specifications" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..296a22b5b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-focalmeter", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-focalmeter" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..6a6be0543 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-form-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-form-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..14c15d8a7 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ga-cookies", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ga-cookies" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..d74d8fc4b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-geolocation", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-geolocation" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..dbc167bb8 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-link-click-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-link-click-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..216e835fd --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..4382a15ad --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..dce4583ff --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-optimizely-x", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-optimizely-x" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..d83c18cba --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-optimizely", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-optimizely" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..d30764eb6 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-performance-navigation-timing", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-performance-navigation-timing" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..17b11f42c --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-performance-timing", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-performance-timing" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..d3fd190d8 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-privacy-sandbox", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-privacy-sandbox" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..60616413f --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-site-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-site-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..cd81ba31d --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..134af12c8 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-timezone", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-timezone" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..979ca0206 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-vimeo-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-vimeo-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..969299019 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-web-vitals", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-web-vitals" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..fb908384a --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-youtube-tracking", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-youtube-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..984e409a1 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..32795abab --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..9c7acb7e0 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..7e3c852e1 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json new file mode 100644 index 000000000..a825e0bd5 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/common/git-hooks/pre-commit b/common/git-hooks/pre-commit old mode 100644 new mode 100755 diff --git a/common/scripts/install-run-rush-pnpm.js b/common/scripts/install-run-rush-pnpm.js new file mode 100644 index 000000000..2356649f4 --- /dev/null +++ b/common/scripts/install-run-rush-pnpm.js @@ -0,0 +1,31 @@ +// THIS FILE WAS GENERATED BY A TOOL. ANY MANUAL MODIFICATIONS WILL GET OVERWRITTEN WHENEVER RUSH IS UPGRADED. +// +// This script is intended for usage in an automated build environment where the Rush command may not have +// been preinstalled, or may have an unpredictable version. This script will automatically install the version of Rush +// specified in the rush.json configuration file (if not already installed), and then pass a command-line to the +// rush-pnpm command. +// +// An example usage would be: +// +// node common/scripts/install-run-rush-pnpm.js pnpm-command +// +// For more information, see: https://rushjs.io/pages/maintainer/setup_new_repo/ +// +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See the @microsoft/rush package's LICENSE file for details. + +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +var __webpack_exports__ = {}; +/*!*****************************************************!*\ + !*** ./lib-esnext/scripts/install-run-rush-pnpm.js ***! + \*****************************************************/ + +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. +require('./install-run-rush'); +//# sourceMappingURL=install-run-rush-pnpm.js.map +module.exports = __webpack_exports__; +/******/ })() +; +//# sourceMappingURL=install-run-rush-pnpm.js.map \ No newline at end of file diff --git a/common/scripts/install-run-rush.js b/common/scripts/install-run-rush.js index ff569fa92..9676fc718 100644 --- a/common/scripts/install-run-rush.js +++ b/common/scripts/install-run-rush.js @@ -1,30 +1,3 @@ -"use strict"; -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See the @microsoft/rush package's LICENSE file for license information. -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); // THIS FILE WAS GENERATED BY A TOOL. ANY MANUAL MODIFICATIONS WILL GET OVERWRITTEN WHENEVER RUSH IS UPGRADED. // // This script is intended for usage in an automated build environment where the Rush command may not have @@ -35,38 +8,159 @@ Object.defineProperty(exports, "__esModule", { value: true }); // node common/scripts/install-run-rush.js install // // For more information, see: https://rushjs.io/pages/maintainer/setup_new_repo/ -const path = __importStar(require("path")); -const fs = __importStar(require("fs")); -const install_run_1 = require("./install-run"); +// +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See the @microsoft/rush package's LICENSE file for details. + +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ 657147: +/*!*********************!*\ + !*** external "fs" ***! + \*********************/ +/***/ ((module) => { + +module.exports = require("fs"); + +/***/ }), + +/***/ 371017: +/*!***********************!*\ + !*** external "path" ***! + \***********************/ +/***/ ((module) => { + +module.exports = require("path"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +/*!************************************************!*\ + !*** ./lib-esnext/scripts/install-run-rush.js ***! + \************************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path */ 371017); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fs */ 657147); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__); +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. +/* eslint-disable no-console */ + + +const { installAndRun, findRushJsonFolder, RUSH_JSON_FILENAME, runWithErrorAndStatusCode } = require('./install-run'); const PACKAGE_NAME = '@microsoft/rush'; const RUSH_PREVIEW_VERSION = 'RUSH_PREVIEW_VERSION'; +const INSTALL_RUN_RUSH_LOCKFILE_PATH_VARIABLE = 'INSTALL_RUN_RUSH_LOCKFILE_PATH'; function _getRushVersion(logger) { const rushPreviewVersion = process.env[RUSH_PREVIEW_VERSION]; if (rushPreviewVersion !== undefined) { logger.info(`Using Rush version from environment variable ${RUSH_PREVIEW_VERSION}=${rushPreviewVersion}`); return rushPreviewVersion; } - const rushJsonFolder = (0, install_run_1.findRushJsonFolder)(); - const rushJsonPath = path.join(rushJsonFolder, install_run_1.RUSH_JSON_FILENAME); + const rushJsonFolder = findRushJsonFolder(); + const rushJsonPath = path__WEBPACK_IMPORTED_MODULE_0__.join(rushJsonFolder, RUSH_JSON_FILENAME); try { - const rushJsonContents = fs.readFileSync(rushJsonPath, 'utf-8'); + const rushJsonContents = fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(rushJsonPath, 'utf-8'); // Use a regular expression to parse out the rushVersion value because rush.json supports comments, // but JSON.parse does not and we don't want to pull in more dependencies than we need to in this script. const rushJsonMatches = rushJsonContents.match(/\"rushVersion\"\s*\:\s*\"([0-9a-zA-Z.+\-]+)\"/); return rushJsonMatches[1]; } catch (e) { - throw new Error(`Unable to determine the required version of Rush from rush.json (${rushJsonFolder}). ` + - "The 'rushVersion' field is either not assigned in rush.json or was specified " + + throw new Error(`Unable to determine the required version of Rush from ${RUSH_JSON_FILENAME} (${rushJsonFolder}). ` + + `The 'rushVersion' field is either not assigned in ${RUSH_JSON_FILENAME} or was specified ` + 'using an unexpected syntax.'); } } +function _getBin(scriptName) { + switch (scriptName.toLowerCase()) { + case 'install-run-rush-pnpm.js': + return 'rush-pnpm'; + case 'install-run-rushx.js': + return 'rushx'; + default: + return 'rush'; + } +} function _run() { const [nodePath /* Ex: /bin/node */, scriptPath /* /repo/common/scripts/install-run-rush.js */, ...packageBinArgs /* [build, --to, myproject] */] = process.argv; // Detect if this script was directly invoked, or if the install-run-rushx script was invokved to select the // appropriate binary inside the rush package to run - const scriptName = path.basename(scriptPath); - const bin = scriptName.toLowerCase() === 'install-run-rushx.js' ? 'rushx' : 'rush'; + const scriptName = path__WEBPACK_IMPORTED_MODULE_0__.basename(scriptPath); + const bin = _getBin(scriptName); if (!nodePath || !scriptPath) { throw new Error('Unexpected exception: could not detect node path or script path'); } @@ -93,7 +187,10 @@ function _run() { } if (!commandFound) { console.log(`Usage: ${scriptName} [args...]`); - if (scriptName === 'install-run-rush.js') { + if (scriptName === 'install-run-rush-pnpm.js') { + console.log(`Example: ${scriptName} pnpm-command`); + } + else if (scriptName === 'install-run-rush.js') { console.log(`Example: ${scriptName} build --to myproject`); } else { @@ -101,11 +198,21 @@ function _run() { } process.exit(1); } - (0, install_run_1.runWithErrorAndStatusCode)(logger, () => { + runWithErrorAndStatusCode(logger, () => { const version = _getRushVersion(logger); - logger.info(`The rush.json configuration requests Rush version ${version}`); - return (0, install_run_1.installAndRun)(logger, PACKAGE_NAME, version, bin, packageBinArgs); + logger.info(`The ${RUSH_JSON_FILENAME} configuration requests Rush version ${version}`); + const lockFilePath = process.env[INSTALL_RUN_RUSH_LOCKFILE_PATH_VARIABLE]; + if (lockFilePath) { + logger.info(`Found ${INSTALL_RUN_RUSH_LOCKFILE_PATH_VARIABLE}="${lockFilePath}", installing with lockfile.`); + } + return installAndRun(logger, PACKAGE_NAME, version, bin, packageBinArgs, lockFilePath); }); } _run(); +//# sourceMappingURL=install-run-rush.js.map +})(); + +module.exports = __webpack_exports__; +/******/ })() +; //# sourceMappingURL=install-run-rush.js.map \ No newline at end of file diff --git a/common/scripts/install-run-rushx.js b/common/scripts/install-run-rushx.js index bf26eb5e5..6581521f3 100644 --- a/common/scripts/install-run-rushx.js +++ b/common/scripts/install-run-rushx.js @@ -1,7 +1,3 @@ -"use strict"; -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See the @microsoft/rush package's LICENSE file for license information. -Object.defineProperty(exports, "__esModule", { value: true }); // THIS FILE WAS GENERATED BY A TOOL. ANY MANUAL MODIFICATIONS WILL GET OVERWRITTEN WHENEVER RUSH IS UPGRADED. // // This script is intended for usage in an automated build environment where the Rush command may not have @@ -14,5 +10,22 @@ Object.defineProperty(exports, "__esModule", { value: true }); // node common/scripts/install-run-rushx.js custom-command // // For more information, see: https://rushjs.io/pages/maintainer/setup_new_repo/ -require("./install-run-rush"); +// +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See the @microsoft/rush package's LICENSE file for details. + +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +var __webpack_exports__ = {}; +/*!*************************************************!*\ + !*** ./lib-esnext/scripts/install-run-rushx.js ***! + \*************************************************/ + +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. +require('./install-run-rush'); +//# sourceMappingURL=install-run-rushx.js.map +module.exports = __webpack_exports__; +/******/ })() +; //# sourceMappingURL=install-run-rushx.js.map \ No newline at end of file diff --git a/common/scripts/install-run.js b/common/scripts/install-run.js index 208b99c83..9283c4452 100644 --- a/common/scripts/install-run.js +++ b/common/scripts/install-run.js @@ -1,31 +1,3 @@ -"use strict"; -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See the @microsoft/rush package's LICENSE file for license information. -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.runWithErrorAndStatusCode = exports.installAndRun = exports.findRushJsonFolder = exports.getNpmPath = exports.RUSH_JSON_FILENAME = void 0; // THIS FILE WAS GENERATED BY A TOOL. ANY MANUAL MODIFICATIONS WILL GET OVERWRITTEN WHENEVER RUSH IS UPGRADED. // // This script is intended for usage in an automated build environment where a Node tool may not have @@ -36,57 +8,59 @@ exports.runWithErrorAndStatusCode = exports.installAndRun = exports.findRushJson // node common/scripts/install-run.js qrcode@1.2.2 qrcode https://rushjs.io // // For more information, see: https://rushjs.io/pages/maintainer/setup_new_repo/ -const childProcess = __importStar(require("child_process")); -const fs = __importStar(require("fs")); -const os = __importStar(require("os")); -const path = __importStar(require("path")); -exports.RUSH_JSON_FILENAME = 'rush.json'; -const RUSH_TEMP_FOLDER_ENV_VARIABLE_NAME = 'RUSH_TEMP_FOLDER'; -const INSTALLED_FLAG_FILENAME = 'installed.flag'; -const NODE_MODULES_FOLDER_NAME = 'node_modules'; -const PACKAGE_JSON_FILENAME = 'package.json'; +// +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See the @microsoft/rush package's LICENSE file for details. + +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ 679877: +/*!************************************************!*\ + !*** ./lib-esnext/utilities/npmrcUtilities.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "isVariableSetInNpmrcFile": () => (/* binding */ isVariableSetInNpmrcFile), +/* harmony export */ "syncNpmrc": () => (/* binding */ syncNpmrc) +/* harmony export */ }); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fs */ 657147); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ 371017); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. +// IMPORTANT - do not use any non-built-in libraries in this file + + /** - * Parse a package specifier (in the form of name\@version) into name and version parts. + * This function reads the content for given .npmrc file path, and also trims + * unusable lines from the .npmrc file. + * + * @returns + * The text of the the .npmrc. */ -function _parsePackageSpecifier(rawPackageSpecifier) { - rawPackageSpecifier = (rawPackageSpecifier || '').trim(); - const separatorIndex = rawPackageSpecifier.lastIndexOf('@'); - let name; - let version = undefined; - if (separatorIndex === 0) { - // The specifier starts with a scope and doesn't have a version specified - name = rawPackageSpecifier; +// create a global _combinedNpmrc for cache purpose +const _combinedNpmrcMap = new Map(); +function _trimNpmrcFile(options) { + const { sourceNpmrcPath, linesToPrepend, linesToAppend } = options; + const combinedNpmrcFromCache = _combinedNpmrcMap.get(sourceNpmrcPath); + if (combinedNpmrcFromCache !== undefined) { + return combinedNpmrcFromCache; } - else if (separatorIndex === -1) { - // The specifier doesn't have a version - name = rawPackageSpecifier; + let npmrcFileLines = []; + if (linesToPrepend) { + npmrcFileLines.push(...linesToPrepend); } - else { - name = rawPackageSpecifier.substring(0, separatorIndex); - version = rawPackageSpecifier.substring(separatorIndex + 1); + if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath)) { + npmrcFileLines.push(...fs__WEBPACK_IMPORTED_MODULE_0__.readFileSync(sourceNpmrcPath).toString().split('\n')); } - if (!name) { - throw new Error(`Invalid package specifier: ${rawPackageSpecifier}`); + if (linesToAppend) { + npmrcFileLines.push(...linesToAppend); } - return { name, version }; -} -/** - * As a workaround, copyAndTrimNpmrcFile() copies the .npmrc file to the target folder, and also trims - * unusable lines from the .npmrc file. - * - * Why are we trimming the .npmrc lines? NPM allows environment variables to be specified in - * the .npmrc file to provide different authentication tokens for different registry. - * However, if the environment variable is undefined, it expands to an empty string, which - * produces a valid-looking mapping with an invalid URL that causes an error. Instead, - * we'd prefer to skip that line and continue looking in other places such as the user's - * home directory. - * - * IMPORTANT: THIS CODE SHOULD BE KEPT UP TO DATE WITH Utilities.copyAndTrimNpmrcFile() - */ -function _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath) { - logger.info(`Transforming ${sourceNpmrcPath}`); // Verbose - logger.info(` --> "${targetNpmrcPath}"`); - let npmrcFileLines = fs.readFileSync(sourceNpmrcPath).toString().split('\n'); npmrcFileLines = npmrcFileLines.map((line) => (line || '').trim()); const resultLines = []; // This finds environment variable tokens that look like "${VAR_NAME}" @@ -94,8 +68,13 @@ function _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath) { // Comment lines start with "#" or ";" const commentRegExp = /^\s*[#;]/; // Trim out lines that reference environment variables that aren't defined - for (const line of npmrcFileLines) { + for (let line of npmrcFileLines) { let lineShouldBeTrimmed = false; + //remove spaces before or after key and value + line = line + .split('=') + .map((lineToTrim) => lineToTrim.trim()) + .join('='); // Ignore comment lines if (!commentRegExp.test(line)) { const environmentVariables = line.match(expansionRegExp); @@ -121,31 +100,240 @@ function _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath) { resultLines.push(line); } } - fs.writeFileSync(targetNpmrcPath, resultLines.join(os.EOL)); + const combinedNpmrc = resultLines.join('\n'); + //save the cache + _combinedNpmrcMap.set(sourceNpmrcPath, combinedNpmrc); + return combinedNpmrc; } -/** - * syncNpmrc() copies the .npmrc file to the target folder, and also trims unusable lines from the .npmrc file. - * If the source .npmrc file not exist, then syncNpmrc() will delete an .npmrc that is found in the target folder. - * - * IMPORTANT: THIS CODE SHOULD BE KEPT UP TO DATE WITH Utilities._syncNpmrc() - */ -function _syncNpmrc(logger, sourceNpmrcFolder, targetNpmrcFolder, useNpmrcPublish) { - const sourceNpmrcPath = path.join(sourceNpmrcFolder, !useNpmrcPublish ? '.npmrc' : '.npmrc-publish'); - const targetNpmrcPath = path.join(targetNpmrcFolder, '.npmrc'); +function _copyAndTrimNpmrcFile(options) { + const { logger, sourceNpmrcPath, targetNpmrcPath, linesToPrepend, linesToAppend } = options; + logger.info(`Transforming ${sourceNpmrcPath}`); // Verbose + logger.info(` --> "${targetNpmrcPath}"`); + const combinedNpmrc = _trimNpmrcFile({ + sourceNpmrcPath, + linesToPrepend, + linesToAppend + }); + fs__WEBPACK_IMPORTED_MODULE_0__.writeFileSync(targetNpmrcPath, combinedNpmrc); + return combinedNpmrc; +} +function syncNpmrc(options) { + const { sourceNpmrcFolder, targetNpmrcFolder, useNpmrcPublish, logger = { + // eslint-disable-next-line no-console + info: console.log, + // eslint-disable-next-line no-console + error: console.error + }, createIfMissing = false, linesToAppend, linesToPrepend } = options; + const sourceNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(sourceNpmrcFolder, !useNpmrcPublish ? '.npmrc' : '.npmrc-publish'); + const targetNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(targetNpmrcFolder, '.npmrc'); try { - if (fs.existsSync(sourceNpmrcPath)) { - _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath); + if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath) || createIfMissing) { + // Ensure the target folder exists + if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcFolder)) { + fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(targetNpmrcFolder, { recursive: true }); + } + return _copyAndTrimNpmrcFile({ + sourceNpmrcPath, + targetNpmrcPath, + logger, + linesToAppend, + linesToPrepend + }); } - else if (fs.existsSync(targetNpmrcPath)) { + else if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcPath)) { // If the source .npmrc doesn't exist and there is one in the target, delete the one in the target logger.info(`Deleting ${targetNpmrcPath}`); // Verbose - fs.unlinkSync(targetNpmrcPath); + fs__WEBPACK_IMPORTED_MODULE_0__.unlinkSync(targetNpmrcPath); } } catch (e) { throw new Error(`Error syncing .npmrc file: ${e}`); } } +function isVariableSetInNpmrcFile(sourceNpmrcFolder, variableKey) { + const sourceNpmrcPath = `${sourceNpmrcFolder}/.npmrc`; + //if .npmrc file does not exist, return false directly + if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath)) { + return false; + } + const trimmedNpmrcFile = _trimNpmrcFile({ sourceNpmrcPath }); + const variableKeyRegExp = new RegExp(`^${variableKey}=`, 'm'); + return trimmedNpmrcFile.match(variableKeyRegExp) !== null; +} +//# sourceMappingURL=npmrcUtilities.js.map + +/***/ }), + +/***/ 532081: +/*!********************************!*\ + !*** external "child_process" ***! + \********************************/ +/***/ ((module) => { + +module.exports = require("child_process"); + +/***/ }), + +/***/ 657147: +/*!*********************!*\ + !*** external "fs" ***! + \*********************/ +/***/ ((module) => { + +module.exports = require("fs"); + +/***/ }), + +/***/ 822037: +/*!*********************!*\ + !*** external "os" ***! + \*********************/ +/***/ ((module) => { + +module.exports = require("os"); + +/***/ }), + +/***/ 371017: +/*!***********************!*\ + !*** external "path" ***! + \***********************/ +/***/ ((module) => { + +module.exports = require("path"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +/*!*******************************************!*\ + !*** ./lib-esnext/scripts/install-run.js ***! + \*******************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "RUSH_JSON_FILENAME": () => (/* binding */ RUSH_JSON_FILENAME), +/* harmony export */ "findRushJsonFolder": () => (/* binding */ findRushJsonFolder), +/* harmony export */ "getNpmPath": () => (/* binding */ getNpmPath), +/* harmony export */ "installAndRun": () => (/* binding */ installAndRun), +/* harmony export */ "runWithErrorAndStatusCode": () => (/* binding */ runWithErrorAndStatusCode) +/* harmony export */ }); +/* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! child_process */ 532081); +/* harmony import */ var child_process__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(child_process__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fs */ 657147); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var os__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! os */ 822037); +/* harmony import */ var os__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(os__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! path */ 371017); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utilities/npmrcUtilities */ 679877); +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. +/* eslint-disable no-console */ + + + + + +const RUSH_JSON_FILENAME = 'rush.json'; +const RUSH_TEMP_FOLDER_ENV_VARIABLE_NAME = 'RUSH_TEMP_FOLDER'; +const INSTALL_RUN_LOCKFILE_PATH_VARIABLE = 'INSTALL_RUN_LOCKFILE_PATH'; +const INSTALLED_FLAG_FILENAME = 'installed.flag'; +const NODE_MODULES_FOLDER_NAME = 'node_modules'; +const PACKAGE_JSON_FILENAME = 'package.json'; +/** + * Parse a package specifier (in the form of name\@version) into name and version parts. + */ +function _parsePackageSpecifier(rawPackageSpecifier) { + rawPackageSpecifier = (rawPackageSpecifier || '').trim(); + const separatorIndex = rawPackageSpecifier.lastIndexOf('@'); + let name; + let version = undefined; + if (separatorIndex === 0) { + // The specifier starts with a scope and doesn't have a version specified + name = rawPackageSpecifier; + } + else if (separatorIndex === -1) { + // The specifier doesn't have a version + name = rawPackageSpecifier; + } + else { + name = rawPackageSpecifier.substring(0, separatorIndex); + version = rawPackageSpecifier.substring(separatorIndex + 1); + } + if (!name) { + throw new Error(`Invalid package specifier: ${rawPackageSpecifier}`); + } + return { name, version }; +} let _npmPath = undefined; /** * Get the absolute path to the npm executable @@ -153,35 +341,34 @@ let _npmPath = undefined; function getNpmPath() { if (!_npmPath) { try { - if (os.platform() === 'win32') { + if (_isWindows()) { // We're on Windows - const whereOutput = childProcess.execSync('where npm', { stdio: [] }).toString(); - const lines = whereOutput.split(os.EOL).filter((line) => !!line); + const whereOutput = child_process__WEBPACK_IMPORTED_MODULE_0__.execSync('where npm', { stdio: [] }).toString(); + const lines = whereOutput.split(os__WEBPACK_IMPORTED_MODULE_2__.EOL).filter((line) => !!line); // take the last result, we are looking for a .cmd command // see https://github.com/microsoft/rushstack/issues/759 _npmPath = lines[lines.length - 1]; } else { // We aren't on Windows - assume we're on *NIX or Darwin - _npmPath = childProcess.execSync('command -v npm', { stdio: [] }).toString(); + _npmPath = child_process__WEBPACK_IMPORTED_MODULE_0__.execSync('command -v npm', { stdio: [] }).toString(); } } catch (e) { throw new Error(`Unable to determine the path to the NPM tool: ${e}`); } _npmPath = _npmPath.trim(); - if (!fs.existsSync(_npmPath)) { + if (!fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(_npmPath)) { throw new Error('The NPM executable does not exist'); } } return _npmPath; } -exports.getNpmPath = getNpmPath; function _ensureFolder(folderPath) { - if (!fs.existsSync(folderPath)) { - const parentDir = path.dirname(folderPath); + if (!fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(folderPath)) { + const parentDir = path__WEBPACK_IMPORTED_MODULE_3__.dirname(folderPath); _ensureFolder(parentDir); - fs.mkdirSync(folderPath); + fs__WEBPACK_IMPORTED_MODULE_1__.mkdirSync(folderPath); } } /** @@ -195,14 +382,14 @@ function _ensureAndJoinPath(baseFolder, ...pathSegments) { try { for (let pathSegment of pathSegments) { pathSegment = pathSegment.replace(/[\\\/]/g, '+'); - joinedPath = path.join(joinedPath, pathSegment); - if (!fs.existsSync(joinedPath)) { - fs.mkdirSync(joinedPath); + joinedPath = path__WEBPACK_IMPORTED_MODULE_3__.join(joinedPath, pathSegment); + if (!fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(joinedPath)) { + fs__WEBPACK_IMPORTED_MODULE_1__.mkdirSync(joinedPath); } } } catch (e) { - throw new Error(`Error building local installation folder (${path.join(baseFolder, ...pathSegments)}): ${e}`); + throw new Error(`Error building local installation folder (${path__WEBPACK_IMPORTED_MODULE_3__.join(baseFolder, ...pathSegments)}): ${e}`); } return joinedPath; } @@ -216,6 +403,23 @@ function _getRushTempFolder(rushCommonFolder) { return _ensureAndJoinPath(rushCommonFolder, 'temp'); } } +/** + * Compare version strings according to semantic versioning. + * Returns a positive integer if "a" is a later version than "b", + * a negative integer if "b" is later than "a", + * and 0 otherwise. + */ +function _compareVersionStrings(a, b) { + const aParts = a.split(/[.-]/); + const bParts = b.split(/[.-]/); + const numberOfParts = Math.max(aParts.length, bParts.length); + for (let i = 0; i < numberOfParts; i++) { + if (aParts[i] !== bParts[i]) { + return (Number(aParts[i]) || 0) - (Number(bParts[i]) || 0); + } + } + return 0; +} /** * Resolve a package specifier to a static version */ @@ -232,33 +436,56 @@ function _resolvePackageVersion(logger, rushCommonFolder, { name, version }) { // version resolves to try { const rushTempFolder = _getRushTempFolder(rushCommonFolder); - const sourceNpmrcFolder = path.join(rushCommonFolder, 'config', 'rush'); - _syncNpmrc(logger, sourceNpmrcFolder, rushTempFolder); + const sourceNpmrcFolder = path__WEBPACK_IMPORTED_MODULE_3__.join(rushCommonFolder, 'config', 'rush'); + (0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({ + sourceNpmrcFolder, + targetNpmrcFolder: rushTempFolder, + logger + }); const npmPath = getNpmPath(); // This returns something that looks like: - // @microsoft/rush@3.0.0 '3.0.0' - // @microsoft/rush@3.0.1 '3.0.1' - // ... - // @microsoft/rush@3.0.20 '3.0.20' - // - const npmVersionSpawnResult = childProcess.spawnSync(npmPath, ['view', `${name}@${version}`, 'version', '--no-update-notifier'], { + // ``` + // [ + // "3.0.0", + // "3.0.1", + // ... + // "3.0.20" + // ] + // ``` + // + // if multiple versions match the selector, or + // + // ``` + // "3.0.0" + // ``` + // + // if only a single version matches. + const spawnSyncOptions = { cwd: rushTempFolder, - stdio: [] - }); + stdio: [], + shell: _isWindows() + }; + const platformNpmPath = _getPlatformPath(npmPath); + const npmVersionSpawnResult = child_process__WEBPACK_IMPORTED_MODULE_0__.spawnSync(platformNpmPath, ['view', `${name}@${version}`, 'version', '--no-update-notifier', '--json'], spawnSyncOptions); if (npmVersionSpawnResult.status !== 0) { throw new Error(`"npm view" returned error code ${npmVersionSpawnResult.status}`); } const npmViewVersionOutput = npmVersionSpawnResult.stdout.toString(); - const versionLines = npmViewVersionOutput.split('\n').filter((line) => !!line); - const latestVersion = versionLines[versionLines.length - 1]; + const parsedVersionOutput = JSON.parse(npmViewVersionOutput); + const versions = Array.isArray(parsedVersionOutput) + ? parsedVersionOutput + : [parsedVersionOutput]; + let latestVersion = versions[0]; + for (let i = 1; i < versions.length; i++) { + const latestVersionCandidate = versions[i]; + if (_compareVersionStrings(latestVersionCandidate, latestVersion) > 0) { + latestVersion = latestVersionCandidate; + } + } if (!latestVersion) { throw new Error('No versions found for the specified version range.'); } - const versionMatches = latestVersion.match(/^.+\s\'(.+)\'$/); - if (!versionMatches) { - throw new Error(`Invalid npm output ${latestVersion}`); - } - return versionMatches[1]; + return latestVersion; } catch (e) { throw new Error(`Unable to resolve version ${version} of package ${name}: ${e}`); @@ -274,58 +501,72 @@ function findRushJsonFolder() { let basePath = __dirname; let tempPath = __dirname; do { - const testRushJsonPath = path.join(basePath, exports.RUSH_JSON_FILENAME); - if (fs.existsSync(testRushJsonPath)) { + const testRushJsonPath = path__WEBPACK_IMPORTED_MODULE_3__.join(basePath, RUSH_JSON_FILENAME); + if (fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(testRushJsonPath)) { _rushJsonFolder = basePath; break; } else { basePath = tempPath; } - } while (basePath !== (tempPath = path.dirname(basePath))); // Exit the loop when we hit the disk root + } while (basePath !== (tempPath = path__WEBPACK_IMPORTED_MODULE_3__.dirname(basePath))); // Exit the loop when we hit the disk root if (!_rushJsonFolder) { - throw new Error('Unable to find rush.json.'); + throw new Error(`Unable to find ${RUSH_JSON_FILENAME}.`); } } return _rushJsonFolder; } -exports.findRushJsonFolder = findRushJsonFolder; /** * Detects if the package in the specified directory is installed */ function _isPackageAlreadyInstalled(packageInstallFolder) { try { - const flagFilePath = path.join(packageInstallFolder, INSTALLED_FLAG_FILENAME); - if (!fs.existsSync(flagFilePath)) { + const flagFilePath = path__WEBPACK_IMPORTED_MODULE_3__.join(packageInstallFolder, INSTALLED_FLAG_FILENAME); + if (!fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(flagFilePath)) { return false; } - const fileContents = fs.readFileSync(flagFilePath).toString(); + const fileContents = fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(flagFilePath).toString(); return fileContents.trim() === process.version; } catch (e) { return false; } } +/** + * Delete a file. Fail silently if it does not exist. + */ +function _deleteFile(file) { + try { + fs__WEBPACK_IMPORTED_MODULE_1__.unlinkSync(file); + } + catch (err) { + if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') { + throw err; + } + } +} /** * Removes the following files and directories under the specified folder path: * - installed.flag * - * - node_modules */ -function _cleanInstallFolder(rushTempFolder, packageInstallFolder) { +function _cleanInstallFolder(rushTempFolder, packageInstallFolder, lockFilePath) { try { - const flagFile = path.resolve(packageInstallFolder, INSTALLED_FLAG_FILENAME); - if (fs.existsSync(flagFile)) { - fs.unlinkSync(flagFile); + const flagFile = path__WEBPACK_IMPORTED_MODULE_3__.resolve(packageInstallFolder, INSTALLED_FLAG_FILENAME); + _deleteFile(flagFile); + const packageLockFile = path__WEBPACK_IMPORTED_MODULE_3__.resolve(packageInstallFolder, 'package-lock.json'); + if (lockFilePath) { + fs__WEBPACK_IMPORTED_MODULE_1__.copyFileSync(lockFilePath, packageLockFile); } - const packageLockFile = path.resolve(packageInstallFolder, 'package-lock.json'); - if (fs.existsSync(packageLockFile)) { - fs.unlinkSync(packageLockFile); - } - const nodeModulesFolder = path.resolve(packageInstallFolder, NODE_MODULES_FOLDER_NAME); - if (fs.existsSync(nodeModulesFolder)) { - const rushRecyclerFolder = _ensureAndJoinPath(rushTempFolder, 'rush-recycler'); - fs.renameSync(nodeModulesFolder, path.join(rushRecyclerFolder, `install-run-${Date.now().toString()}`)); + else { + // Not running `npm ci`, so need to cleanup + _deleteFile(packageLockFile); + const nodeModulesFolder = path__WEBPACK_IMPORTED_MODULE_3__.resolve(packageInstallFolder, NODE_MODULES_FOLDER_NAME); + if (fs__WEBPACK_IMPORTED_MODULE_1__.existsSync(nodeModulesFolder)) { + const rushRecyclerFolder = _ensureAndJoinPath(rushTempFolder, 'rush-recycler'); + fs__WEBPACK_IMPORTED_MODULE_1__.renameSync(nodeModulesFolder, path__WEBPACK_IMPORTED_MODULE_3__.join(rushRecyclerFolder, `install-run-${Date.now().toString()}`)); + } } } catch (e) { @@ -344,8 +585,8 @@ function _createPackageJson(packageInstallFolder, name, version) { repository: "DON'T WARN", license: 'MIT' }; - const packageJsonPath = path.join(packageInstallFolder, PACKAGE_JSON_FILENAME); - fs.writeFileSync(packageJsonPath, JSON.stringify(packageJsonContents, undefined, 2)); + const packageJsonPath = path__WEBPACK_IMPORTED_MODULE_3__.join(packageInstallFolder, PACKAGE_JSON_FILENAME); + fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(packageJsonPath, JSON.stringify(packageJsonContents, undefined, 2)); } catch (e) { throw new Error(`Unable to create package.json: ${e}`); @@ -354,17 +595,19 @@ function _createPackageJson(packageInstallFolder, name, version) { /** * Run "npm install" in the package install folder. */ -function _installPackage(logger, packageInstallFolder, name, version) { +function _installPackage(logger, packageInstallFolder, name, version, command) { try { logger.info(`Installing ${name}...`); const npmPath = getNpmPath(); - const result = childProcess.spawnSync(npmPath, ['install'], { + const platformNpmPath = _getPlatformPath(npmPath); + const result = child_process__WEBPACK_IMPORTED_MODULE_0__.spawnSync(platformNpmPath, [command], { stdio: 'inherit', cwd: packageInstallFolder, - env: process.env + env: process.env, + shell: _isWindows() }); if (result.status !== 0) { - throw new Error('"npm install" encountered an error'); + throw new Error(`"npm ${command}" encountered an error`); } logger.info(`Successfully installed ${name}@${version}`); } @@ -376,55 +619,68 @@ function _installPackage(logger, packageInstallFolder, name, version) { * Get the ".bin" path for the package. */ function _getBinPath(packageInstallFolder, binName) { - const binFolderPath = path.resolve(packageInstallFolder, NODE_MODULES_FOLDER_NAME, '.bin'); - const resolvedBinName = os.platform() === 'win32' ? `${binName}.cmd` : binName; - return path.resolve(binFolderPath, resolvedBinName); + const binFolderPath = path__WEBPACK_IMPORTED_MODULE_3__.resolve(packageInstallFolder, NODE_MODULES_FOLDER_NAME, '.bin'); + const resolvedBinName = _isWindows() ? `${binName}.cmd` : binName; + return path__WEBPACK_IMPORTED_MODULE_3__.resolve(binFolderPath, resolvedBinName); +} +/** + * Returns a cross-platform path - windows must enclose any path containing spaces within double quotes. + */ +function _getPlatformPath(platformPath) { + return _isWindows() && platformPath.includes(' ') ? `"${platformPath}"` : platformPath; +} +function _isWindows() { + return os__WEBPACK_IMPORTED_MODULE_2__.platform() === 'win32'; } /** * Write a flag file to the package's install directory, signifying that the install was successful. */ function _writeFlagFile(packageInstallFolder) { try { - const flagFilePath = path.join(packageInstallFolder, INSTALLED_FLAG_FILENAME); - fs.writeFileSync(flagFilePath, process.version); + const flagFilePath = path__WEBPACK_IMPORTED_MODULE_3__.join(packageInstallFolder, INSTALLED_FLAG_FILENAME); + fs__WEBPACK_IMPORTED_MODULE_1__.writeFileSync(flagFilePath, process.version); } catch (e) { throw new Error(`Unable to create installed.flag file in ${packageInstallFolder}`); } } -function installAndRun(logger, packageName, packageVersion, packageBinName, packageBinArgs) { +function installAndRun(logger, packageName, packageVersion, packageBinName, packageBinArgs, lockFilePath = process.env[INSTALL_RUN_LOCKFILE_PATH_VARIABLE]) { const rushJsonFolder = findRushJsonFolder(); - const rushCommonFolder = path.join(rushJsonFolder, 'common'); + const rushCommonFolder = path__WEBPACK_IMPORTED_MODULE_3__.join(rushJsonFolder, 'common'); const rushTempFolder = _getRushTempFolder(rushCommonFolder); const packageInstallFolder = _ensureAndJoinPath(rushTempFolder, 'install-run', `${packageName}@${packageVersion}`); if (!_isPackageAlreadyInstalled(packageInstallFolder)) { // The package isn't already installed - _cleanInstallFolder(rushTempFolder, packageInstallFolder); - const sourceNpmrcFolder = path.join(rushCommonFolder, 'config', 'rush'); - _syncNpmrc(logger, sourceNpmrcFolder, packageInstallFolder); + _cleanInstallFolder(rushTempFolder, packageInstallFolder, lockFilePath); + const sourceNpmrcFolder = path__WEBPACK_IMPORTED_MODULE_3__.join(rushCommonFolder, 'config', 'rush'); + (0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({ + sourceNpmrcFolder, + targetNpmrcFolder: packageInstallFolder, + logger + }); _createPackageJson(packageInstallFolder, packageName, packageVersion); - _installPackage(logger, packageInstallFolder, packageName, packageVersion); + const command = lockFilePath ? 'ci' : 'install'; + _installPackage(logger, packageInstallFolder, packageName, packageVersion, command); _writeFlagFile(packageInstallFolder); } const statusMessage = `Invoking "${packageBinName} ${packageBinArgs.join(' ')}"`; const statusMessageLine = new Array(statusMessage.length + 1).join('-'); - logger.info(os.EOL + statusMessage + os.EOL + statusMessageLine + os.EOL); + logger.info('\n' + statusMessage + '\n' + statusMessageLine + '\n'); const binPath = _getBinPath(packageInstallFolder, packageBinName); - const binFolderPath = path.resolve(packageInstallFolder, NODE_MODULES_FOLDER_NAME, '.bin'); + const binFolderPath = path__WEBPACK_IMPORTED_MODULE_3__.resolve(packageInstallFolder, NODE_MODULES_FOLDER_NAME, '.bin'); // Windows environment variables are case-insensitive. Instead of using SpawnSyncOptions.env, we need to // assign via the process.env proxy to ensure that we append to the right PATH key. const originalEnvPath = process.env.PATH || ''; let result; try { - // Node.js on Windows can not spawn a file when the path has a space on it - // unless the path gets wrapped in a cmd friendly way and shell mode is used - const shouldUseShell = binPath.includes(' ') && os.platform() === 'win32'; - const platformBinPath = shouldUseShell ? `"${binPath}"` : binPath; - process.env.PATH = [binFolderPath, originalEnvPath].join(path.delimiter); - result = childProcess.spawnSync(platformBinPath, packageBinArgs, { + // `npm` bin stubs on Windows are `.cmd` files + // Node.js will not directly invoke a `.cmd` file unless `shell` is set to `true` + const platformBinPath = _getPlatformPath(binPath); + process.env.PATH = [binFolderPath, originalEnvPath].join(path__WEBPACK_IMPORTED_MODULE_3__.delimiter); + result = child_process__WEBPACK_IMPORTED_MODULE_0__.spawnSync(platformBinPath, packageBinArgs, { stdio: 'inherit', windowsVerbatimArguments: false, - shell: shouldUseShell, + shell: _isWindows(), cwd: process.cwd(), env: process.env }); @@ -439,7 +695,6 @@ function installAndRun(logger, packageName, packageVersion, packageBinName, pack throw result.error || new Error('An unknown error occurred.'); } } -exports.installAndRun = installAndRun; function runWithErrorAndStatusCode(logger, fn) { process.exitCode = 1; try { @@ -447,16 +702,15 @@ function runWithErrorAndStatusCode(logger, fn) { process.exitCode = exitCode; } catch (e) { - logger.error(os.EOL + os.EOL + e.toString() + os.EOL + os.EOL); + logger.error('\n\n' + e.toString() + '\n\n'); } } -exports.runWithErrorAndStatusCode = runWithErrorAndStatusCode; function _run() { const [nodePath /* Ex: /bin/node */, scriptPath /* /repo/common/scripts/install-run-rush.js */, rawPackageSpecifier /* qrcode@^1.2.0 */, packageBinName /* qrcode */, ...packageBinArgs /* [-f, myproject/lib] */] = process.argv; if (!nodePath) { throw new Error('Unexpected exception: could not detect node path'); } - if (path.basename(scriptPath).toLowerCase() !== 'install-run.js') { + if (path__WEBPACK_IMPORTED_MODULE_3__.basename(scriptPath).toLowerCase() !== 'install-run.js') { // If install-run.js wasn't directly invoked, don't execute the rest of this function. Return control // to the script that (presumably) imported this file return; @@ -480,4 +734,10 @@ function _run() { }); } _run(); +//# sourceMappingURL=install-run.js.map +})(); + +module.exports = __webpack_exports__; +/******/ })() +; //# sourceMappingURL=install-run.js.map \ No newline at end of file diff --git a/libraries/browser-tracker-core/README.md b/libraries/browser-tracker-core/README.md index 66d5fcc1c..59f6e0cd9 100644 --- a/libraries/browser-tracker-core/README.md +++ b/libraries/browser-tracker-core/README.md @@ -10,7 +10,7 @@ It should rarely be used alone, you probably want `@snowplow/browser-tracker`. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/libraries/tracker-core/README.md b/libraries/tracker-core/README.md index ab6b70363..962810fff 100644 --- a/libraries/tracker-core/README.md +++ b/libraries/tracker-core/README.md @@ -8,7 +8,7 @@ Core module to be used by Snowplow JavaScript based trackers. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-ad-tracking/README.md b/plugins/browser-plugin-ad-tracking/README.md index 7a168734b..fc1c115e1 100644 --- a/plugins/browser-plugin-ad-tracking/README.md +++ b/plugins/browser-plugin-ad-tracking/README.md @@ -10,7 +10,7 @@ Adds advertising based events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-browser-features/README.md b/plugins/browser-plugin-browser-features/README.md index 5bc33afd2..ecac879e2 100644 --- a/plugins/browser-plugin-browser-features/README.md +++ b/plugins/browser-plugin-browser-features/README.md @@ -10,7 +10,7 @@ Adds Browser Features to your Snowplow tracking. Identifies available MIME Types ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-button-click-tracking/README.md b/plugins/browser-plugin-button-click-tracking/README.md index 4890728bd..1517ac2fa 100644 --- a/plugins/browser-plugin-button-click-tracking/README.md +++ b/plugins/browser-plugin-button-click-tracking/README.md @@ -10,7 +10,7 @@ Adds button click tracking events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-client-hints/README.md b/plugins/browser-plugin-client-hints/README.md index 9dec4d51d..851fbe898 100644 --- a/plugins/browser-plugin-client-hints/README.md +++ b/plugins/browser-plugin-client-hints/README.md @@ -10,7 +10,7 @@ Adds Client Hints to your Snowplow tracking. Captures Navigator Client Hint data ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-consent/README.md b/plugins/browser-plugin-consent/README.md index b23d32dbc..7afde7448 100644 --- a/plugins/browser-plugin-consent/README.md +++ b/plugins/browser-plugin-consent/README.md @@ -10,7 +10,7 @@ Adds consent information to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-debugger/README.md b/plugins/browser-plugin-debugger/README.md index e541d5712..ee1901ab3 100644 --- a/plugins/browser-plugin-debugger/README.md +++ b/plugins/browser-plugin-debugger/README.md @@ -10,7 +10,7 @@ Adds debugging to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-ecommerce/README.md b/plugins/browser-plugin-ecommerce/README.md index 05e8140df..f69c4da84 100644 --- a/plugins/browser-plugin-ecommerce/README.md +++ b/plugins/browser-plugin-ecommerce/README.md @@ -10,7 +10,7 @@ Adds ecommerce events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-enhanced-consent/README.md b/plugins/browser-plugin-enhanced-consent/README.md index 5b0d3ae26..5965453b2 100644 --- a/plugins/browser-plugin-enhanced-consent/README.md +++ b/plugins/browser-plugin-enhanced-consent/README.md @@ -10,7 +10,7 @@ This plugin is the recommended way to track marketing consent events on your web ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-enhanced-ecommerce/README.md b/plugins/browser-plugin-enhanced-ecommerce/README.md index a15874f58..a46477128 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/README.md +++ b/plugins/browser-plugin-enhanced-ecommerce/README.md @@ -10,7 +10,7 @@ Adds enhanced ecommerce events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-error-tracking/README.md b/plugins/browser-plugin-error-tracking/README.md index 66b4e9de0..de3d0e460 100644 --- a/plugins/browser-plugin-error-tracking/README.md +++ b/plugins/browser-plugin-error-tracking/README.md @@ -10,7 +10,7 @@ Adds error tracking events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-event-specifications/README.md b/plugins/browser-plugin-event-specifications/README.md index c31599550..8f428c430 100644 --- a/plugins/browser-plugin-event-specifications/README.md +++ b/plugins/browser-plugin-event-specifications/README.md @@ -10,7 +10,7 @@ The plugin allows you to integrate with Event Specifications for a selected set ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-focalmeter/README.md b/plugins/browser-plugin-focalmeter/README.md index c3ef91f10..b3a9a6c01 100644 --- a/plugins/browser-plugin-focalmeter/README.md +++ b/plugins/browser-plugin-focalmeter/README.md @@ -12,7 +12,7 @@ A request is made when the first event with a new user ID is tracked. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-form-tracking/README.md b/plugins/browser-plugin-form-tracking/README.md index fb9376ae1..d8d045856 100644 --- a/plugins/browser-plugin-form-tracking/README.md +++ b/plugins/browser-plugin-form-tracking/README.md @@ -10,7 +10,7 @@ Adds form tracking events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-ga-cookies/README.md b/plugins/browser-plugin-ga-cookies/README.md index 0d8775d62..423b14fbf 100644 --- a/plugins/browser-plugin-ga-cookies/README.md +++ b/plugins/browser-plugin-ga-cookies/README.md @@ -10,7 +10,7 @@ Adds Universal Analytics and Google Analytics 4 cookies to your Snowplow trackin ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-geolocation/README.md b/plugins/browser-plugin-geolocation/README.md index fb741901d..1e76b587d 100644 --- a/plugins/browser-plugin-geolocation/README.md +++ b/plugins/browser-plugin-geolocation/README.md @@ -10,7 +10,7 @@ Adds Geolocation to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-link-click-tracking/README.md b/plugins/browser-plugin-link-click-tracking/README.md index 96b797198..2de3feb81 100644 --- a/plugins/browser-plugin-link-click-tracking/README.md +++ b/plugins/browser-plugin-link-click-tracking/README.md @@ -10,7 +10,7 @@ Adds link click tracking events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) ( 14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) ( 18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-media-tracking/README.md b/plugins/browser-plugin-media-tracking/README.md index 8b91949d1..3aeaa63b2 100644 --- a/plugins/browser-plugin-media-tracking/README.md +++ b/plugins/browser-plugin-media-tracking/README.md @@ -10,7 +10,7 @@ Adds HTML5 Video and Audio tracking events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository @@ -89,4 +89,4 @@ All rights reserved. [npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-form-tracking [docs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-tracker/ [osi]: https://opensource.org/licenses/BSD-3-Clause -[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-form-tracking \ No newline at end of file +[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-form-tracking diff --git a/plugins/browser-plugin-media/README.md b/plugins/browser-plugin-media/README.md index 9d0a7251d..434e1e376 100644 --- a/plugins/browser-plugin-media/README.md +++ b/plugins/browser-plugin-media/README.md @@ -10,7 +10,7 @@ This plugin is the recommended way to track media events on your website. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-optimizely-x/README.md b/plugins/browser-plugin-optimizely-x/README.md index d274e6ee6..656adcc00 100644 --- a/plugins/browser-plugin-optimizely-x/README.md +++ b/plugins/browser-plugin-optimizely-x/README.md @@ -10,7 +10,7 @@ Adds Optimizely X contexts to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-optimizely/README.md b/plugins/browser-plugin-optimizely/README.md index 5a3b8128f..beb5f438f 100644 --- a/plugins/browser-plugin-optimizely/README.md +++ b/plugins/browser-plugin-optimizely/README.md @@ -10,7 +10,7 @@ Adds Optimizely Classic contexts to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-performance-navigation-timing/README.md b/plugins/browser-plugin-performance-navigation-timing/README.md index f2d03ea9f..bfbda6ca9 100644 --- a/plugins/browser-plugin-performance-navigation-timing/README.md +++ b/plugins/browser-plugin-performance-navigation-timing/README.md @@ -17,7 +17,7 @@ The following diagram shows the ResourceTiming and PerformanceNavigationTiming p ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-performance-timing/README.md b/plugins/browser-plugin-performance-timing/README.md index ceb3e12e7..8e34a7b15 100644 --- a/plugins/browser-plugin-performance-timing/README.md +++ b/plugins/browser-plugin-performance-timing/README.md @@ -10,7 +10,7 @@ Adds Performance Timing contexts to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-privacy-sandbox/README.md b/plugins/browser-plugin-privacy-sandbox/README.md index ec680e6e4..49f25b03c 100644 --- a/plugins/browser-plugin-privacy-sandbox/README.md +++ b/plugins/browser-plugin-privacy-sandbox/README.md @@ -16,7 +16,7 @@ __Note:__ Some of the APIs and data will not be available by default in all user ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-site-tracking/README.md b/plugins/browser-plugin-site-tracking/README.md index 6824a94c1..ad272e346 100644 --- a/plugins/browser-plugin-site-tracking/README.md +++ b/plugins/browser-plugin-site-tracking/README.md @@ -10,7 +10,7 @@ Adds site tracking based events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-snowplow-ecommerce/README.md b/plugins/browser-plugin-snowplow-ecommerce/README.md index ccd084dd8..78479bb03 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/README.md +++ b/plugins/browser-plugin-snowplow-ecommerce/README.md @@ -10,7 +10,7 @@ This plugin is the recommended way to track ecommerce events on your store. Func ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-timezone/README.md b/plugins/browser-plugin-timezone/README.md index f64c2f959..bc50bd85d 100644 --- a/plugins/browser-plugin-timezone/README.md +++ b/plugins/browser-plugin-timezone/README.md @@ -10,7 +10,7 @@ Adds Timezone information to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-vimeo-tracking/README.md b/plugins/browser-plugin-vimeo-tracking/README.md index e89392e6f..c6cff05a8 100644 --- a/plugins/browser-plugin-vimeo-tracking/README.md +++ b/plugins/browser-plugin-vimeo-tracking/README.md @@ -10,7 +10,7 @@ This plugin enables automatic tracking of Vimeo videos, utilizing the [Snowplow ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-web-vitals/README.md b/plugins/browser-plugin-web-vitals/README.md index 492c4d7c1..94917f7e5 100644 --- a/plugins/browser-plugin-web-vitals/README.md +++ b/plugins/browser-plugin-web-vitals/README.md @@ -10,7 +10,7 @@ The plugin adds the capability to track web performance metrics categorized as [ ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/plugins/browser-plugin-youtube-tracking/README.md b/plugins/browser-plugin-youtube-tracking/README.md index 9b5e672ca..fee1ba843 100644 --- a/plugins/browser-plugin-youtube-tracking/README.md +++ b/plugins/browser-plugin-youtube-tracking/README.md @@ -10,7 +10,7 @@ Adds YouTube Video and Audio tracking events to your Snowplow tracking. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository @@ -88,4 +88,4 @@ All rights reserved. [npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-form-tracking [docs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-tracker/ [osi]: https://opensource.org/licenses/BSD-3-Clause -[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-form-tracking \ No newline at end of file +[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-form-tracking diff --git a/rush.json b/rush.json index d9ee7428d..488c0fcc3 100644 --- a/rush.json +++ b/rush.json @@ -16,7 +16,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.76.1", + "rushVersion": "5.133.3", /** * The next field selects which package manager should be installed and determines its version. @@ -118,7 +118,7 @@ * Specify a SemVer range to ensure developers use a Node.js version that is appropriate * for your repo. */ - "nodeSupportedVersionRange": ">=14.15.0 <15.0.0 || >=16.16.0 <17.0.0", + "nodeSupportedVersionRange": ">=18.0.0 <21.0.0", /** * Odd-numbered major versions of Node.js are experimental. Even-numbered releases diff --git a/trackers/browser-tracker/README.md b/trackers/browser-tracker/README.md index ac203e757..3156a6394 100644 --- a/trackers/browser-tracker/README.md +++ b/trackers/browser-tracker/README.md @@ -8,7 +8,7 @@ Add Snowplow Tracking to your Web Application with `@snowplow/browser-tracker`. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/trackers/javascript-tracker/README.md b/trackers/javascript-tracker/README.md index ad82eebc6..c79e75ead 100644 --- a/trackers/javascript-tracker/README.md +++ b/trackers/javascript-tracker/README.md @@ -8,7 +8,7 @@ Add Snowplow Tracking to your website via a tag solution. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository diff --git a/trackers/node-tracker/README.md b/trackers/node-tracker/README.md index 80b0280ab..1fab0a5ab 100644 --- a/trackers/node-tracker/README.md +++ b/trackers/node-tracker/README.md @@ -8,7 +8,7 @@ Add Snowplow Tracking to your Node.js Application with `@snowplow/node-tracker`. ## Maintainer quick start Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (14 or 16) and [Rush](https://rushjs.io/). +Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). ### Setup repository From 432ad7e6cdd81cf16ad42465ef4a356ae2a3443a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Tue, 3 Sep 2024 08:39:37 +0200 Subject: [PATCH 044/277] Upgrade pnpm to 9.7.1 --- common/config/rush/pnpm-lock.yaml | 18272 +++++++++++++++------------ common/config/rush/repo-state.json | 2 +- rush.json | 2 +- 3 files changed, 10254 insertions(+), 8022 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index e55c68248..2241436b9 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1,1863 +1,7730 @@ -lockfileVersion: 5.3 +lockfileVersion: '9.0' + +settings: + autoInstallPeers: false + excludeLinksFromLockfile: false + +pnpmfileChecksum: jmsifwrxg4slleckty7qyuymte importers: - .: - specifiers: {} + .: {} ../../libraries/browser-tracker-core: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/tracker-core': workspace:* - '@testing-library/dom': ~9.3.1 - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/sha1': ~1.1.3 - '@types/uuid': ~3.4.6 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - sha1: ^1.1.1 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - uuid: ^3.4.0 - dependencies: - '@snowplow/tracker-core': link:../tracker-core - sha1: 1.1.1 - tslib: 2.3.1 - uuid: 3.4.0 + dependencies: + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../tracker-core + sha1: + specifier: ^1.1.1 + version: 1.1.1 + tslib: + specifier: ^2.3.1 + version: 2.7.0 + uuid: + specifier: ^3.4.0 + version: 3.4.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@testing-library/dom': 9.3.4 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/sha1': 1.1.3 - '@types/uuid': 3.4.9 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@testing-library/dom': + specifier: ~9.3.1 + version: 9.3.4 + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/sha1': + specifier: ~1.1.3 + version: 1.1.5 + '@types/uuid': + specifier: ~3.4.6 + version: 3.4.13 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../libraries/tracker-core: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-json': ~4.1.0 - '@rollup/plugin-node-resolve': ~13.1.3 - '@types/node': ~14.6.0 - '@types/uuid': ~3.4.6 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - ava: ~4.1.0 - eslint: ~8.11.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-node: ~10.9.1 - tslib: ^2.3.1 - typescript: ~4.6.2 - uuid: ^3.4.0 - dependencies: - tslib: 2.3.1 - uuid: 3.4.0 + dependencies: + tslib: + specifier: ^2.3.1 + version: 2.7.0 + uuid: + specifier: ^3.4.0 + version: 3.4.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-json': 4.1.0_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/node': 14.6.4 - '@types/uuid': 3.4.9 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - ava: 4.1.0 - eslint: 8.11.0 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-json': + specifier: ~4.1.0 + version: 4.1.0(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/node': + specifier: ~14.6.0 + version: 14.6.4 + '@types/uuid': + specifier: ~3.4.6 + version: 3.4.13 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + ava: + specifier: ~4.1.0 + version: 4.1.0 + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-node: + specifier: ~10.9.1 + version: 10.9.2(@types/node@14.6.4)(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-ad-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-browser-features: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@snowplow/tracker-core': link:../../libraries/tracker-core - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-button-click-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-client-hints: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@snowplow/tracker-core': link:../../libraries/tracker-core - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-consent: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-debugger: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/randomcolor': ~0.5.5 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - randomcolor: ^0.6.2 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - randomcolor: 0.6.2 - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + randomcolor: + specifier: ^0.6.2 + version: 0.6.2 + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/randomcolor': 0.5.5 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/randomcolor': + specifier: ~0.5.5 + version: 0.5.9 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-ecommerce: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-enhanced-consent: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-enhanced-ecommerce: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-error-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-event-specifications: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-focalmeter: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-form-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 ../../plugins/browser-plugin-ga-cookies: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-geolocation: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-link-click-tracking: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-media: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + uuid: + specifier: ^3.4.0 + version: 3.4.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/uuid': + specifier: ~3.4.6 + version: 3.4.13 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-media-tracking: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-optimizely: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-optimizely-x: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-performance-navigation-timing: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-performance-timing: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-privacy-sandbox: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-site-tracking: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-snowplow-ecommerce: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-timezone: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + jstimezonedetect: + specifier: 1.0.7 + version: 1.0.7 + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/jstimezonedetect': + specifier: ~1.0.3 + version: 1.0.6 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + moment-timezone: + specifier: ~0.5.26 + version: 0.5.45 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-vimeo-tracking: + dependencies: + '@snowplow/browser-plugin-media': + specifier: workspace:* + version: link:../browser-plugin-media + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + '@vimeo/player': + specifier: 2.16.4 + version: 2.16.4 + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/vimeo__player': + specifier: ~2.16.3 + version: 2.16.3 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-web-vitals: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + web-vitals: + specifier: ~3.3.2 + version: 3.3.2 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../plugins/browser-plugin-youtube-tracking: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/youtube': + specifier: ~0.0.46 + version: 0.0.50 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../trackers/browser-tracker: + dependencies: + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + eslint: + specifier: ~8.11.0 + version: 8.11.0 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + + ../../trackers/javascript-tracker: + dependencies: + '@snowplow/browser-plugin-ad-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-ad-tracking + '@snowplow/browser-plugin-browser-features': + specifier: workspace:* + version: link:../../plugins/browser-plugin-browser-features + '@snowplow/browser-plugin-button-click-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-button-click-tracking + '@snowplow/browser-plugin-client-hints': + specifier: workspace:* + version: link:../../plugins/browser-plugin-client-hints + '@snowplow/browser-plugin-consent': + specifier: workspace:* + version: link:../../plugins/browser-plugin-consent + '@snowplow/browser-plugin-ecommerce': + specifier: workspace:* + version: link:../../plugins/browser-plugin-ecommerce + '@snowplow/browser-plugin-enhanced-consent': + specifier: workspace:* + version: link:../../plugins/browser-plugin-enhanced-consent + '@snowplow/browser-plugin-enhanced-ecommerce': + specifier: workspace:* + version: link:../../plugins/browser-plugin-enhanced-ecommerce + '@snowplow/browser-plugin-error-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-error-tracking + '@snowplow/browser-plugin-event-specifications': + specifier: workspace:* + version: link:../../plugins/browser-plugin-event-specifications + '@snowplow/browser-plugin-form-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-form-tracking + '@snowplow/browser-plugin-ga-cookies': + specifier: workspace:* + version: link:../../plugins/browser-plugin-ga-cookies + '@snowplow/browser-plugin-geolocation': + specifier: workspace:* + version: link:../../plugins/browser-plugin-geolocation + '@snowplow/browser-plugin-link-click-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-link-click-tracking + '@snowplow/browser-plugin-media': + specifier: workspace:* + version: link:../../plugins/browser-plugin-media + '@snowplow/browser-plugin-media-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-media-tracking + '@snowplow/browser-plugin-optimizely': + specifier: workspace:* + version: link:../../plugins/browser-plugin-optimizely + '@snowplow/browser-plugin-optimizely-x': + specifier: workspace:* + version: link:../../plugins/browser-plugin-optimizely-x + '@snowplow/browser-plugin-performance-timing': + specifier: workspace:* + version: link:../../plugins/browser-plugin-performance-timing + '@snowplow/browser-plugin-privacy-sandbox': + specifier: workspace:* + version: link:../../plugins/browser-plugin-privacy-sandbox + '@snowplow/browser-plugin-site-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-site-tracking + '@snowplow/browser-plugin-snowplow-ecommerce': + specifier: workspace:* + version: link:../../plugins/browser-plugin-snowplow-ecommerce + '@snowplow/browser-plugin-timezone': + specifier: workspace:* + version: link:../../plugins/browser-plugin-timezone + '@snowplow/browser-plugin-vimeo-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-vimeo-tracking + '@snowplow/browser-plugin-youtube-tracking': + specifier: workspace:* + version: link:../../plugins/browser-plugin-youtube-tracking + '@snowplow/browser-tracker': + specifier: workspace:* + version: link:../browser-tracker + '@snowplow/browser-tracker-core': + specifier: workspace:* + version: link:../../libraries/browser-tracker-core + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@ampproject/rollup-plugin-closure-compiler': + specifier: ~0.27.0 + version: 0.27.0(rollup@2.70.2) + '@rollup/plugin-alias': + specifier: ~3.1.9 + version: 3.1.9(rollup@2.70.2) + '@rollup/plugin-commonjs': + specifier: ~21.0.2 + version: 21.0.3(rollup@2.70.2) + '@rollup/plugin-json': + specifier: ~4.1.0 + version: 4.1.0(rollup@2.70.2) + '@rollup/plugin-node-resolve': + specifier: ~13.1.3 + version: 13.1.3(rollup@2.70.2) + '@rollup/plugin-replace': + specifier: ~4.0.0 + version: 4.0.0(rollup@2.70.2) + '@types/dockerode': + specifier: ~3.3.5 + version: 3.3.31 + '@types/jest': + specifier: ~27.4.1 + version: 27.4.1 + '@types/jsdom': + specifier: ~16.2.14 + version: 16.2.15 + '@types/lodash': + specifier: ~4.14.180 + version: 4.14.202 + '@types/node': + specifier: ~14.6.0 + version: 14.6.4 + '@types/node-fetch': + specifier: '2' + version: 2.6.11 + '@types/youtube': + specifier: ~0.0.46 + version: 0.0.50 + '@wdio/cli': + specifier: ~8.39.1 + version: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + '@wdio/globals': + specifier: ~8.39.1 + version: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + '@wdio/jasmine-framework': + specifier: ~8.39.1 + version: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + '@wdio/local-runner': + specifier: ~8.39.1 + version: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + '@wdio/sauce-service': + specifier: ~8.39.1 + version: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + '@wdio/shared-store-service': + specifier: ~8.39.1 + version: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + '@wdio/spec-reporter': + specifier: ~8.39.0 + version: 8.39.0 + '@wdio/static-server-service': + specifier: ~8.39.0 + version: 8.39.0 + '@wdio/types': + specifier: ~8.39.0 + version: 8.39.0 + chalk: + specifier: 4.1.2 + version: 4.1.2 + chromedriver: + specifier: ~126.0.4 + version: 126.0.5 + dockerode: + specifier: ~3.3.1 + version: 3.3.5 + jest: + specifier: ~27.5.1 + version: 27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)) + jest-environment-jsdom: + specifier: ~27.5.1 + version: 27.5.1 + jest-environment-jsdom-global: + specifier: ~3.0.0 + version: 3.0.0(jest-environment-jsdom@27.5.1) + jest-standard-reporter: + specifier: ~2.0.0 + version: 2.0.0 + lodash: + specifier: ~4.17.21 + version: 4.17.21 + node-fetch: + specifier: '2' + version: 2.7.0(encoding@0.1.13) + npm-run-all: + specifier: ~4.1.5 + version: 4.1.5 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-cleanup: + specifier: ~3.2.1 + version: 3.2.1(rollup@2.70.2) + rollup-plugin-filesize: + specifier: ~9.1.2 + version: 9.1.2 + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-sizes: + specifier: ~1.0.4 + version: 1.0.6(rollup@2.70.2) + rollup-plugin-terser: + specifier: ~7.0.2 + version: 7.0.2(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + saucelabs: + specifier: ~7.5.0 + version: 7.5.0 + ts-jest: + specifier: ~27.1.3 + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)))(typescript@4.6.4) + ts-node: + specifier: ~10.9.1 + version: 10.9.2(@types/node@14.6.4)(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + wdio-chromedriver-service: + specifier: ~8.1.1 + version: 8.1.1(@wdio/types@8.39.0)(chromedriver@126.0.5)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)) + wdio-edgedriver-service: + specifier: ~3.0.3 + version: 3.0.3(@wdio/types@8.39.0) + wdio-safaridriver-service: + specifier: ~2.1.1 + version: 2.1.1(@wdio/types@8.39.0)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)) + webdriverio: + specifier: ~8.39.1 + version: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + + ../../trackers/node-tracker: + dependencies: + '@snowplow/tracker-core': + specifier: workspace:* + version: link:../../libraries/tracker-core + got: + specifier: ^11.8.5 + version: 11.8.6 + tslib: + specifier: ^2.3.1 + version: 2.7.0 + devDependencies: + '@rollup/plugin-json': + specifier: ~4.1.0 + version: 4.1.0(rollup@2.70.2) + '@types/node': + specifier: ~14.6.0 + version: 14.6.4 + '@types/sinon': + specifier: ~10.0.11 + version: 10.0.20 + '@typescript-eslint/eslint-plugin': + specifier: ~5.15.0 + version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/parser': + specifier: ~5.15.0 + version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) + ava: + specifier: ~4.1.0 + version: 4.1.0 + eslint: + specifier: ~8.11.0 + version: 8.11.0 + eslint-plugin-ava: + specifier: ~13.2.0 + version: 13.2.0(eslint@8.11.0) + nock: + specifier: ~13.2.4 + version: 13.2.9 + rollup: + specifier: ~2.70.1 + version: 2.70.2 + rollup-plugin-license: + specifier: ~2.6.1 + version: 2.6.1(rollup@2.70.2) + rollup-plugin-ts: + specifier: ~2.0.5 + version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) + sinon: + specifier: ~13.0.1 + version: 13.0.2 + ts-node: + specifier: ~10.9.1 + version: 10.9.2(@types/node@14.6.4)(typescript@4.6.4) + typescript: + specifier: ~4.6.2 + version: 4.6.4 + +packages: + + '@ampproject/remapping@0.2.0': + resolution: {integrity: sha512-a4EztS9/GOVQjX5Ol+Iz33TFhaXvYBF7aB6D8+Qz0/SCIxOm3UNRhGZiwcCuJ8/Ifc6NCogp3S48kc5hFxRpUw==} + engines: {node: '>=6.0.0'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@ampproject/rollup-plugin-closure-compiler@0.27.0': + resolution: {integrity: sha512-stpAOn2ZZEJuAV39HFw9cnKJYNhEeHtcsoa83orpLDhSxsxSbVEKwHaWlFBaQYpQRSOdapC4eJhJnCzocZxnqg==} + engines: {node: '>=10'} + peerDependencies: + rollup: '>=1.27' + + '@arr/every@1.0.1': + resolution: {integrity: sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==} + engines: {node: '>=4'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.25.6': + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.4': + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.25.6': + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@balena/dockerignore@1.0.2': + resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@eggjs/yauzl@2.11.0': + resolution: {integrity: sha512-Jq+k2fCZJ3i3HShb0nxLUiAgq5pwo8JTT1TrH22JoehZQ0Nm2dvByGIja1NYfNyuE4Tx5/Dns5nVsBN/mlC8yg==} + + '@eslint/eslintrc@1.4.1': + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + + '@humanwhocodes/config-array@0.9.5': + resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/object-schema@1.2.1': + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + deprecated: Use @eslint/object-schema instead + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@26.6.2': + resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} + engines: {node: '>= 10.14.2'} + + '@jest/console@27.5.1': + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/core@27.5.1': + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@27.5.1': + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@27.5.1': + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/globals@27.5.1': + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/reporters@27.5.1': + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@27.5.1': + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-result@27.5.1': + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-sequencer@27.5.1': + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/transform@27.5.1': + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@26.6.2': + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + + '@jest/types@27.5.1': + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@1.0.0': + resolution: {integrity: sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@ljharb/through@2.3.13': + resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} + engines: {node: '>= 0.4'} + + '@mdn/browser-compat-data@4.2.1': + resolution: {integrity: sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/fs@1.1.1': + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + + '@npmcli/git@2.1.0': + resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} + + '@npmcli/installed-package-contents@1.0.7': + resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} + engines: {node: '>= 10'} + hasBin: true + + '@npmcli/move-file@1.1.2': + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + + '@npmcli/node-gyp@1.0.3': + resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} + + '@npmcli/promise-spawn@1.3.2': + resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} + + '@npmcli/run-script@1.8.6': + resolution: {integrity: sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@polka/parse@1.0.0-next.0': + resolution: {integrity: sha512-zcPNrc3PNrRLSCQ7ca8XR7h18VxdPIXhn+yvrYMdUFCHM7mhXGSPw5xBdbcf/dQ1cI4uE8pDfmm5uU+HX+WfFg==} + + '@polka/url@0.5.0': + resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} + + '@promptbook/utils@0.70.0-1': + resolution: {integrity: sha512-qd2lLRRN+sE6UuNMi2tEeUUeb4zmXnxY5EMdfHVXNE+bqBDpUC7/aEfXgA3jnUXEr+xFjQ8PTFQgWvBMaKvw0g==} + + '@puppeteer/browsers@1.4.6': + resolution: {integrity: sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==} + engines: {node: '>=16.3.0'} + hasBin: true + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + + '@puppeteer/browsers@1.9.1': + resolution: {integrity: sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==} + engines: {node: '>=16.3.0'} + hasBin: true + + '@rollup/plugin-alias@3.1.9': + resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} + engines: {node: '>=8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + + '@rollup/plugin-commonjs@21.0.3': + resolution: {integrity: sha512-ThGfwyvcLc6cfP/MWxA5ACF+LZCvsuhUq7V5134Az1oQWsiC7lNpLT4mJI86WQunK7BYmpUiHmMk2Op6OAHs0g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^2.38.3 + + '@rollup/plugin-json@4.1.0': + resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + + '@rollup/plugin-node-resolve@13.1.3': + resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^2.42.0 + + '@rollup/plugin-replace@4.0.0': + resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + + '@rollup/pluginutils@3.1.0': + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@sinonjs/commons@1.8.6': + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@11.3.1': + resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} + + '@sinonjs/fake-timers@8.1.0': + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + + '@sinonjs/fake-timers@9.1.2': + resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} + + '@sinonjs/samsam@6.1.3': + resolution: {integrity: sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ==} + + '@sinonjs/text-encoding@0.7.3': + resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} + + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@testim/chrome-version@1.1.4': + resolution: {integrity: sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==} + + '@testing-library/dom@9.3.4': + resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} + engines: {node: '>=14'} + + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + + '@types/docker-modem@3.0.6': + resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==} + + '@types/dockerode@3.3.31': + resolution: {integrity: sha512-42R9eoVqJDSvVspV89g7RwRqfNExgievLNWoHkg7NoWIqAmavIbgQBb4oc0qRtHkxE+I3Xxvqv7qVXFABKPBTg==} + + '@types/estree@0.0.39': + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@27.4.1': + resolution: {integrity: sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==} + + '@types/jsdom@16.2.15': + resolution: {integrity: sha512-nwF87yjBKuX/roqGYerZZM0Nv1pZDMAT5YhOHYeM/72Fic+VEqJh4nyoqoapzJnW3pUlfxPY5FhgsJtM+dRnQQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/jstimezonedetect@1.0.6': + resolution: {integrity: sha512-MKi1fgLzyqEWKgmvjwa+1p6k+phAACpFOK4eA1gBCHzbx4RyNGcO29IQWThGo1oKxSFa57gqm4iQn1lDaFJCQg==} + + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + + '@types/lodash@4.14.202': + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + + '@types/node-fetch@2.6.11': + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + + '@types/node@14.6.4': + resolution: {integrity: sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ==} + + '@types/node@16.18.106': + resolution: {integrity: sha512-YTgQUcpdXRc7iiEMutkkXl9WUx5lGUCVYvnfRg9CV+IA4l9epctEhCTbaw4KgzXaKYv8emvFJkEM65+MkNUhsQ==} + + '@types/node@18.19.48': + resolution: {integrity: sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==} + + '@types/node@20.16.3': + resolution: {integrity: sha512-/wdGiWRkMOm53gAsSyFMXFZHbVg7C6CbkrzHNpaHoYfsUWPg7m6ZRKtvQjgvQ9i8WT540a3ydRlRQbxjY30XxQ==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/object-path@0.11.4': + resolution: {integrity: sha512-4tgJ1Z3elF/tOMpA8JLVuR9spt9Ynsf7+JjqsQ2IqtiPJtcLoHoXcT6qU4E10cPFqyXX5HDm9QwIzZhBSkLxsw==} + + '@types/parse5@6.0.3': + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + + '@types/prettier@2.7.3': + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + '@types/randomcolor@0.5.9': + resolution: {integrity: sha512-k58cfpkK15AKn1m+oRd9nh5BnuiowhbyvBBdAzcddtARMr3xRzP0VlFaAKovSG6N6Knx08EicjPlOMzDejerrQ==} + + '@types/resolve@1.17.1': + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/sha1@1.1.5': + resolution: {integrity: sha512-eE1PzjW7u2VfxI+bTsvjzjBfpwqvxSpgfUmnRNVY+PJU1NBsdGZlaO/qnVnPKHzzpgIl9YyBIxvrgBvt1mzt2A==} + + '@types/sinon@10.0.20': + resolution: {integrity: sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==} + + '@types/sinonjs__fake-timers@8.1.5': + resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} + + '@types/split2@4.2.3': + resolution: {integrity: sha512-59OXIlfUsi2k++H6CHgUQKEb2HKRokUA39HY1i1dS8/AIcqVjtAAFdf8u+HxTWK/4FUHMJQlKSZ4I6irCBJ1Zw==} + + '@types/ssh2@1.15.1': + resolution: {integrity: sha512-ZIbEqKAsi5gj35y4P4vkJYly642wIbY6PqoN0xiyQGshKUGXR9WQjF/iF9mXBQ8uBKy3ezfsCkcoHKhd0BzuDA==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/tcp-port-used@1.0.4': + resolution: {integrity: sha512-0vQ4fz9TTM4bCdllYWEJ2JHBUXR9xqPtc70dJ7BMRDVfvZyYdrgey3nP5RRcVj+qAgnHJM8r9fvgrfnPMxdnhA==} + + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + + '@types/ua-parser-js@0.7.39': + resolution: {integrity: sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==} + + '@types/uuid@3.4.13': + resolution: {integrity: sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==} + + '@types/vimeo__player@2.16.3': + resolution: {integrity: sha512-hsOe6CZFTNyfjRjQUrNHBF4LDmjvjcU2yQIPWp5AglKeGxt11JYGToQhKUPM876gBXggqR6rMQ0/sNI06ec2Rg==} + + '@types/which@2.0.2': + resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} + + '@types/ws@8.5.12': + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@15.0.19': + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + + '@types/yargs@16.0.9': + resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@types/youtube@0.0.50': + resolution: {integrity: sha512-d4GpH4uPYp9W07kc487tiq6V/EUHl18vZWFMbQoe4Sk9LXEWzFi/BMf9x7TI4m7/j7gU3KeX8H6M8aPBgykeLw==} + + '@typescript-eslint/eslint-plugin@5.15.0': + resolution: {integrity: sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@5.15.0': + resolution: {integrity: sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@5.15.0': + resolution: {integrity: sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/type-utils@5.15.0': + resolution: {integrity: sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.15.0': + resolution: {integrity: sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/typescript-estree@5.15.0': + resolution: {integrity: sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@5.15.0': + resolution: {integrity: sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@typescript-eslint/visitor-keys@5.15.0': + resolution: {integrity: sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@vimeo/player@2.16.4': + resolution: {integrity: sha512-i+ids9ziQuai3mp8XzF9Q5b2hLgRCekRcefdnoy+RkKUR8Xq0cJndnk9jHugEOw8v6PLj7tO3eEAw4lu2/AG2Q==} + + '@vitest/pretty-format@2.0.5': + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + + '@vitest/snapshot@2.0.5': + resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} + + '@wdio/cli@8.39.1': + resolution: {integrity: sha512-CUze/nbOMzgSEp+Qo27dnM5IhlOPAiBJCPX3xO85/kjweqqxmAB1QBKww1Mz9YlNIXineaHrkgqlUQIvEqOJdQ==} + engines: {node: ^16.13 || >=18} + hasBin: true + + '@wdio/config@8.39.0': + resolution: {integrity: sha512-yNuGPMPibY91s936gnJCHWlStvIyDrwLwGfLC/NCdTin4F7HL4Gp5iJnHWkJFty1/DfFi8jjoIUBNLM8HEez+A==} + engines: {node: ^16.13 || >=18} + + '@wdio/globals@8.39.1': + resolution: {integrity: sha512-kNb1TlxI8Le/tsOiw7CMQcG0+ZGyxk9ZDO/PQLxkJvjo/q2QmiBcgaNMPuf+j1ABETcQK4bI7QtiT5uZ+f2AGA==} + engines: {node: ^16.13 || >=18} + + '@wdio/jasmine-framework@8.39.1': + resolution: {integrity: sha512-WnoNvdVyj1HzBv8KpftNWsj7aCy5/v2NQt66lTewxG6KfxEFGgjCRVtnH46dK/HlOFGrh0J8qCTRZDYerUqR9w==} + engines: {node: ^16.13 || >=18} + + '@wdio/local-runner@8.39.1': + resolution: {integrity: sha512-VYRD7pSkl5JTsYXroM65yb+vJVn9pFJf0XZMB7Xj+WVUqGXuVkZ+XybsQetUlhruXvHIsPdiFj12V1tMyaUHrQ==} + engines: {node: ^16.13 || >=18} + + '@wdio/logger@8.38.0': + resolution: {integrity: sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==} + engines: {node: ^16.13 || >=18} + + '@wdio/logger@9.0.4': + resolution: {integrity: sha512-b6gcu0PTVb3fgK4kyAH/k5UUWN5FOUdAfhA4PAY/IZvxZTMFYMqnrZb0WRWWWqL6nu9pcrOVtCOdPBvj0cb+Nw==} + engines: {node: '>=18'} + + '@wdio/protocols@8.38.0': + resolution: {integrity: sha512-7BPi7aXwUtnXZPeWJRmnCNFjyDvGrXlBmN9D4Pi58nILkyjVRQKEY9/qv/pcdyB0cvmIvw++Kl/1Lg+RxG++UA==} + + '@wdio/repl@8.24.12': + resolution: {integrity: sha512-321F3sWafnlw93uRTSjEBVuvWCxTkWNDs7ektQS15drrroL3TMeFOynu4rDrIz0jXD9Vas0HCD2Tq/P0uxFLdw==} + engines: {node: ^16.13 || >=18} + + '@wdio/reporter@8.39.0': + resolution: {integrity: sha512-XahXhmaA1okdwg4/ThHFSqy/41KywxhbtszPcTzyXB+9INaqFNHA1b1vvWs0mrD5+tTtKbg4caTcEHVJU4iv0w==} + engines: {node: ^16.13 || >=18} + + '@wdio/runner@8.39.1': + resolution: {integrity: sha512-hCGI+TSAyb14UtdDjswI5AAdW1CZMi6di+rDZ6ml43hQyHc6sw+74CXI8dwoJ29dcTzbg7QCJZZXV1qMn0kh2w==} + engines: {node: ^16.13 || >=18} + + '@wdio/sauce-service@8.39.1': + resolution: {integrity: sha512-tt0oNqh2FxnR4JaMTwc7LRRLO03ERZxbZjeNf5IzK8PsjQ/JFUefeRBWmqoa93FVi3YGO8gUPCVElaS7OEqkRg==} + engines: {node: ^16.13 || >=18} + + '@wdio/shared-store-service@8.39.1': + resolution: {integrity: sha512-o6Hcd2BzMy8bjrNccb4Fw8hAqbd6wJ9fh24hdsp7KbRBymOMuYJajpCHzU5bFDFGr3rPL/wL0Ji671pY8gcS1g==} + engines: {node: ^16.13 || >=18} + + '@wdio/spec-reporter@8.39.0': + resolution: {integrity: sha512-2DX0+xvP+PyeVTBd6iGCH/RU66WXaa8HL+HpsJXZu5rSkZ4+6B2Tv8JB3ZE/pOWGNpI+B4ac/NfDs1DrX9sB7A==} + engines: {node: ^16.13 || >=18} + + '@wdio/static-server-service@8.39.0': + resolution: {integrity: sha512-blP4dLlPcNmVqu1YtCPOQVENePVpbZNSPAGixLRAe+db9gGLVZDD1c8TcUSabJ0yRUICpKlQ2otH/AHAib/+4w==} + engines: {node: ^16.13 || >=18} + + '@wdio/types@8.39.0': + resolution: {integrity: sha512-86lcYROTapOJuFd9ouomFDfzDnv3Kn+jE0RmqfvN9frZAeLVJ5IKjX9M6HjplsyTZhjGO1uCaehmzx+HJus33Q==} + engines: {node: ^16.13 || >=18} + + '@wdio/utils@8.39.0': + resolution: {integrity: sha512-jY+n6jlGeK+9Tx8T659PKLwMQTGpLW5H78CSEWgZLbjbVSr2LfGR8Lx0CRktNXxAtqEVZPj16Pi74OtAhvhE6Q==} + engines: {node: ^16.13 || >=18} + + '@wessberg/stringutil@1.0.19': + resolution: {integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==} + engines: {node: '>=8.0.0'} + + '@zip.js/zip.js@2.7.52': + resolution: {integrity: sha512-+5g7FQswvrCHwYKNMd/KFxZSObctLSsQOgqBSi0LzwHo3li9Eh1w5cF5ndjQw9Zbr3ajVnd2+XyiX85gAetx1Q==} + engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} + + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@7.1.1: + resolution: {integrity: sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==} + engines: {node: '>=0.4.0'} + + acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} + + acorn@7.3.1: + resolution: {integrity: sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + aggregate-error@4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + aproba@1.2.0: + resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} + + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + + are-we-there-yet@1.1.7: + resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} + deprecated: This package is no longer supported. + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-find-index@1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + arrgv@1.0.2: + resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==} + engines: {node: '>=8.0.0'} + + arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + + async-exit-hook@2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + ava@4.1.0: + resolution: {integrity: sha512-QD6MBWHzagAwb9vxduXzVWx6Q77DUHLxvIebSY6+enL+Ri6KzSZYj0IBOFifA26wfpJPZnWKLUh3vwx1LyVh/g==} + engines: {node: '>=12.22 <13 || >=14.17 <15 || >=16.4 <17 || >=17'} + hasBin: true + peerDependencies: + '@ava/typescript': '*' + peerDependenciesMeta: + '@ava/typescript': + optional: true + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} + + b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + + babel-jest@27.5.1: + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + babel-preset-current-node-syntax@1.1.0: + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@27.5.1: + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.4.2: + resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + + bare-fs@2.3.3: + resolution: {integrity: sha512-7RYKL+vZVCyAsMLi5SPu7QGauGGT8avnP/HO571ndEuV4MYdGXvLhtW67FuLPeEI8EiIY7zbbRR9x7x7HU0kgw==} + + bare-os@2.4.2: + resolution: {integrity: sha512-HZoJwzC+rZ9lqEemTMiO0luOePoGYNBgsLLgegKR/cljiJvcDNhDZQkzC+NC5Oh0aHbdBNSOHpghwMuB5tqhjg==} + + bare-path@2.1.3: + resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} + + bare-stream@2.2.0: + resolution: {integrity: sha512-+o9MG5bPRRBlkVSpfFlMag3n7wMaIZb4YZasU2+/96f+3HTQ4F9DKQeu3K/Sjz1W0umu6xvVq1ON0ipWdMlr3A==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + basic-auth@2.0.1: + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} + engines: {node: '>= 0.8'} + + basic-ftp@5.0.5: + resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + engines: {node: '>=10.0.0'} + + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + brotli-size@4.0.0: + resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==} + engines: {node: '>= 10.16.0'} + + browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + + browserslist-generator@1.0.66: + resolution: {integrity: sha512-aFDax4Qzh29DdyhHQBD2Yu2L5OvaDnvYFMbmpLrLwwaNK4H6dHEhC/Nxv93/+mfAA+a/t94ln0P2JZvHO6LZDA==} + engines: {node: '>=8.0.0'} + + browserslist@4.20.2: + resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + buildcheck@0.0.6: + resolution: {integrity: sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==} + engines: {node: '>=10.0.0'} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtins@1.0.3: + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + callsites@4.2.0: + resolution: {integrity: sha512-kfzR4zzQtAE9PC7CzZsjl3aBNbXWuXiSeOCdLcPpBfGW8YuCqQHcRPFDbr/BPVmd3EEPVpuFzLyuT/cUhPr4OQ==} + engines: {node: '>=12.20'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001655: + resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} + + capital-case@1.0.4: + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + cbor@8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + change-case@4.1.2: + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chromedriver@126.0.5: + resolution: {integrity: sha512-xXVxwxd8CJ6yg2KEvFqLQi7V0RvF78xFnLB+xo9g9MoJNHMQccD7b4OWaxtKDy5RXrMgQ6Jb6vUN3SjTYXHLEQ==} + engines: {node: '>=18'} + hasBin: true + + chromium-bidi@0.4.16: + resolution: {integrity: sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==} + peerDependencies: + devtools-protocol: '*' + + chunkd@2.0.1: + resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + ci-parallel-vars@1.0.1: + resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} + + cjs-module-lexer@1.4.0: + resolution: {integrity: sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g==} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + clean-stack@4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + + clean-yaml-object@0.1.0: + resolution: {integrity: sha512-3yONmlN9CSAkzNwnRCiJQ7Q2xK5mWuEfL3PuTZcAUzhObbXsfsnMptJzXwz93nc5zn9V9TwCVMmV7w4xsm43dw==} + engines: {node: '>=0.10.0'} + + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-buffer@1.0.0: + resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} + engines: {node: '>= 0.10'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + clone-stats@1.0.0: + resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + cloneable-readable@1.1.3: + resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + code-point-at@1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + commenting@1.1.0: + resolution: {integrity: sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + + compatfactory@0.0.13: + resolution: {integrity: sha512-k9Sl/Qal3xQPnjAFZaRpl7jlCh0hDEhVaxyiTMfiHKC/w5TYn4Nds+7340X/v1OrAQC5xGBtaD2JpWgPhXWaAw==} + engines: {node: '>=10.0.0'} + peerDependencies: + typescript: '>=3.x || >= 4.x' + + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + + compressing@1.10.1: + resolution: {integrity: sha512-XXwUffcVjqv8NGSQu1ttp6eMmuZ3zZEAec28Rt30o/vkXE20jXhowRQ9LXLY4uOgFkxXrNzApLobpam53Dc1AA==} + engines: {node: '>= 4.0.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concordance@5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + constant-case@3.0.4: + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cpu-features@0.0.10: + resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} + engines: {node: '>=10.0.0'} + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-fetch@4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} + + cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crosspath@1.0.0: + resolution: {integrity: sha512-mpjkSErNO6vioL/Cde2aF4UBysPFEMyn+1AN1t7Oc4yqvzSRWe8iBte4P8BHyjo64OmC+ZBxwjIqmpSpIWiQ7Q==} + engines: {node: '>=10.0.0'} + + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + + css-shorthand-properties@1.1.1: + resolution: {integrity: sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==} + + css-value@0.0.1: + resolution: {integrity: sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==} + + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + + currently-unhandled@0.4.1: + resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} + engines: {node: '>=0.10.0'} + + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} + + data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + date-time@3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + + debug@4.3.1: + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@6.0.0: + resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge-ts@5.1.0: + resolution: {integrity: sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==} + engines: {node: '>=16.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + devtools-protocol@0.0.1147663: + resolution: {integrity: sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==} + + devtools-protocol@0.0.1302984: + resolution: {integrity: sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==} + + diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + docker-modem@3.0.8: + resolution: {integrity: sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==} + engines: {node: '>= 8.0'} + + dockerode@3.3.5: + resolution: {integrity: sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==} + engines: {node: '>= 8.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + duplexer@0.1.1: + resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + easy-table@1.2.0: + resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==} + + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + edge-paths@3.0.5: + resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} + engines: {node: '>=14.0.0'} + + edgedriver@5.6.1: + resolution: {integrity: sha512-3Ve9cd5ziLByUdigw6zovVeWJjVs8QHVmqOB0sJ0WNeVPcwf4p18GnxMmVvlFmYRloUwf5suNuorea4QzwBIOA==} + hasBin: true + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + + emittery@0.10.2: + resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + engines: {node: '>=12'} + + emittery@0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhance-visitors@1.0.0: + resolution: {integrity: sha512-+29eJLiUixTEDRaZ35Vu8jP3gPLNcQQkQkOQjLp2X+6cZGGPDD/uasbFzvLsJKnGZnvmyZ0srxudwOtskHeIDA==} + engines: {node: '>=4.0.0'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-plugin-ava@13.2.0: + resolution: {integrity: sha512-i5B5izsEdERKQLruk1nIWzTTE7C26/ju8qQf7JeyRv32XT2lRMW0zMFZNhIrEf5/5VvpSz2rqrV7UcjClGbKsw==} + engines: {node: '>=12.22 <13 || >=14.17 <15 || >=16.4'} + peerDependencies: + eslint: '>=7.22.0' + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.11.0: + resolution: {integrity: sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + espurify@2.1.1: + resolution: {integrity: sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + + estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + + estree-walker@2.0.1: + resolution: {integrity: sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect-webdriverio@4.15.4: + resolution: {integrity: sha512-Op1xZoevlv1pohCq7g2Og5Gr3xP2NhY7MQueOApmopVxgweoJ/BqJxyvMNP0A//QsMg8v0WsN/1j81Sx2er9Wg==} + engines: {node: '>=16 || >=18 || >=20'} + + expect@27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + + fast-deep-equal@2.0.1: + resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-xml-parser@4.5.0: + resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} + hasBin: true + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fd-slicer2@1.2.0: + resolution: {integrity: sha512-3lBUNUckhMZduCc4g+Pw4Ve16LD9vpX9b8qUkkKq2mgDRLYWzblszZH2luADnJqjJe+cypngjCuKRm/IW12rRw==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + figures@4.0.1: + resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} + engines: {node: '>=12'} + + figures@5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + filesize@6.4.0: + resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==} + engines: {node: '>= 0.4.0'} + + filesize@9.0.11: + resolution: {integrity: sha512-gTAiTtI0STpKa5xesyTA9hA3LX4ga8sm2nWRcffEa1L/5vQwb4mj2MdzMkoHoGv4QzfDshQZuYscQSf8c4TKOA==} + engines: {node: '>= 0.4.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + flushwritable@1.0.0: + resolution: {integrity: sha512-3VELfuWCLVzt5d2Gblk8qcqFro6nuwvxwMzHaENVDHI7rxcBRtMCwTk/E9FXcgh+82DSpavPNDueA9+RxXJoFg==} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + + form-data@3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gauge@2.7.4: + resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} + deprecated: This package is no longer supported. + + gaze@1.1.3: + resolution: {integrity: sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==} + engines: {node: '>= 4.0.0'} + + geckodriver@4.4.4: + resolution: {integrity: sha512-0zaw19tcmWeluqx7+Y559JGBtidu1D0Lb8ElYKiNEQu8r3sCfrLUf5V10xypl8u29ZLbgRV7WflxCJVTCkCMFA==} + engines: {node: ^16.13 || >=18 || >=20} + hasBin: true + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-port@7.1.0: + resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} + engines: {node: '>=16'} + + get-ready@1.0.0: + resolution: {integrity: sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw==} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-uri@6.0.3: + resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} + engines: {node: '>= 14'} + + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + globule@1.3.4: + resolution: {integrity: sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==} + engines: {node: '>= 0.10'} + + google-closure-compiler-java@20210808.0.0: + resolution: {integrity: sha512-7dEQfBzOdwdjwa/Pq8VAypNBKyWRrOcKjnNYOO9gEg2hjh8XVMeQzTqw4uANfVvvANGdE/JjD+HF6zHVgLRwjg==} + + google-closure-compiler-linux@20210808.0.0: + resolution: {integrity: sha512-byKi5ITUiWRvEIcQo76i1siVnOwrTmG+GNcBG4cJ7x8IE6+4ki9rG5pUe4+DOYHkfk52XU6XHt9aAAgCcFDKpg==} + cpu: [x64, x86] + os: [linux] + + google-closure-compiler-osx@20210808.0.0: + resolution: {integrity: sha512-iwyAY6dGj1FrrBdmfwKXkjtTGJnqe8F+9WZbfXxiBjkWLtIsJt2dD1+q7g/sw3w8mdHrGQAdxtDZP/usMwj/Rg==} + cpu: [x64, x86, arm64] + os: [darwin] + + google-closure-compiler-windows@20210808.0.0: + resolution: {integrity: sha512-VI+UUYwtGWDYwpiixrWRD8EklHgl6PMbiEaHxQSrQbH8PDXytwaOKqmsaH2lWYd5Y/BOZie2MzjY7F5JI69q1w==} + cpu: [x64] + os: [win32] + + google-closure-compiler@20210808.0.0: + resolution: {integrity: sha512-+R2+P1tT1lEnDDGk8b+WXfyVZgWjcCK9n1mmZe8pMEzPaPWxqK7GMetLVWnqfTDJ5Q+LRspOiFBv3Is+0yuhCA==} + engines: {node: '>=10'} + hasBin: true + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + + har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + + helpertypes@0.0.18: + resolution: {integrity: sha512-XRhfbSEmR+poXUC5/8AbmYNJb2riOT6qPzjGJZr0S9YedHiaY+/tzPYzWMUclYMEdCYo/1l8PDYrQFCj02v97w==} + engines: {node: '>=10.0.0'} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + + html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.5.2: + resolution: {integrity: sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-by-default@2.1.0: + resolution: {integrity: sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw==} + engines: {node: '>=10 <11 || >=12 <13 || >=14'} + + ignore-walk@3.0.4: + resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + import-modules@2.1.0: + resolution: {integrity: sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==} + engines: {node: '>=8'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + inquirer@9.2.12: + resolution: {integrity: sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==} + engines: {node: '>=14.18.0'} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + + ip-regex@4.3.0: + resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} + engines: {node: '>=8'} + + ip@2.0.1: + resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + irregular-plurals@3.5.0: + resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} + engines: {node: '>=8'} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-error@2.2.2: + resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + + is2@2.0.9: + resolution: {integrity: sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==} + engines: {node: '>=v0.10.0'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isbot@3.4.5: + resolution: {integrity: sha512-+KD6q1BBtw0iK9aGBGSfxJ31/ZgizKRjhm8ebgJUBMx0aeeQuIJ1I72beCoIrltIZGrSm4vmrxRxrG5n1aUTtw==} + engines: {node: '>=12'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + engines: {node: '>=10'} + hasBin: true + + jasmine-core@5.2.0: + resolution: {integrity: sha512-tSAtdrvWybZkQmmaIoDgnvHG8ORUNw5kEVlO5CvrXj02Jjr9TZrmjFq7FUiOUzJiOP2wLGYT6PgrQgQF4R1xiw==} + + jasmine@5.2.0: + resolution: {integrity: sha512-il+noV96N1BGU9/FMmc8QtAMxC8lPnXUiAvgb0o9MDZATRdxglTQe9wo6UdL049ropQL6MopDYwDlludKR6wJQ==} + hasBin: true + + jest-changed-files@27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-circus@27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-cli@27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + + jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-each@27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-jsdom-global@3.0.0: + resolution: {integrity: sha512-+7ZNxuB/35ybGug9vMaBYontqI7T8KhnUU55wtT5OYw6GRfDn2Vzak2YRvBwFjdm0so0Qz7KAL6NtEB0r+3x+g==} + engines: {node: '>= 12'} + peerDependencies: + jest-environment-jsdom: 22.x || 23.x || 24.x || 25.x || 26.x || 27.x + + jest-environment-jsdom@27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-node@27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-get-type@27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-jasmine2@27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-leak-detector@27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-matcher-utils@27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@26.6.2: + resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} + engines: {node: '>= 10.14.2'} + + jest-message-util@27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-resolve-dependencies@27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-resolve@27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runner@27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runtime@27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-serializer@27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-snapshot@27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-standard-reporter@2.0.0: + resolution: {integrity: sha512-JhV3qzNzs5u/T1mzN9ivVrf2i4xYOQJgyPMKQbAmwRAZIprCpkikt8GF1kQKrP5ch1qBMn5xYyNdUUOKi8bltA==} + + jest-util@26.6.2: + resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} + engines: {node: '>= 10.14.2'} + + jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-watcher@27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-worker@26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest@27.5.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + js-cleanup@1.2.0: + resolution: {integrity: sha512-JeDD0yiiSt80fXzAVa/crrS0JDPQljyBG/RpOtaSbyDq03VHa9szJWMaWOYU/bcTn412uMN2MxApXq8v79cUiQ==} + engines: {node: ^10.14.2 || >=12.0.0} + + js-string-escape@1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + + jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + + jstimezonedetect@1.0.7: + resolution: {integrity: sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ==} + + jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + + just-extend@6.2.0: + resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + ky@0.33.3: + resolution: {integrity: sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==} + engines: {node: '>=14.16'} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + + load-json-file@7.0.1: + resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + locate-app@2.4.37: + resolution: {integrity: sha512-NJjAzMx1LxOeFmmHM0qvMM7CjTC37IMtL4T+mYxUZlsMSn9QtZQzCcfYwp1pPY/Ey7D7HGzfUcxPzYOy4TaysQ==} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + lodash.flattendeep@4.4.0: + resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} + + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.pickby@4.6.0: + resolution: {integrity: sha512-AZV+GsS/6ckvPOVQPXSiFFacKvKB4kOQu6ynt9wz0F3LO4R9Ij4K1ddYsIytDpSgLz88JHd9P+oaLeej5/Sl7Q==} + + lodash.union@4.6.0: + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + + lodash.zip@4.2.0: + resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + loglevel-plugin-prefix@0.8.4: + resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} + + loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + magic-string@0.25.7: + resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} + + magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + + magic-string@0.26.7: + resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} + engines: {node: '>=12'} + + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-age-cleaner@0.1.3: + resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} + engines: {node: '>=6'} + + matcher@5.0.0: + resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + matchit@1.1.0: + resolution: {integrity: sha512-+nGYoOlfHmxe5BW5tE0EMJppXEwdSf8uBA1GTZC7Q77kbT35+VKLYJMzVNWCHSsga1ps1tPYFtFyvxvKzWVmMA==} + engines: {node: '>=6'} + + md5-hex@3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + mem@9.0.2: + resolution: {integrity: sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==} + engines: {node: '>=12.20'} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micro-spelling-correcter@1.1.1: + resolution: {integrity: sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@1.4.1: + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-json-stream@1.0.2: + resolution: {integrity: sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mitt@3.0.0: + resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + module-details-from-path@1.0.3: + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + + moment-timezone@0.5.45: + resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==} + + moment@2.29.1: + resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} + + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + + morgan@1.10.0: + resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} + engines: {node: '>= 0.8.0'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + nan@2.20.0: + resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} + + native-promise-only@0.8.1: + resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + nise@5.1.9: + resolution: {integrity: sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + nock@13.2.9: + resolution: {integrity: sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==} + engines: {node: '>= 10.13'} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-gyp@7.1.2: + resolution: {integrity: sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==} + engines: {node: '>= 10.12.0'} + hasBin: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + nofilter@3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} + + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@6.0.2: + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + + npm-bundled@1.1.2: + resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} + + npm-install-checks@4.0.0: + resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} + engines: {node: '>=10'} + + npm-normalize-package-bin@1.0.1: + resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} + + npm-package-arg@8.1.5: + resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} + engines: {node: '>=10'} + + npm-packlist@2.2.2: + resolution: {integrity: sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==} + engines: {node: '>=10'} + hasBin: true + + npm-pick-manifest@6.1.1: + resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} + + npm-registry-fetch@11.0.0: + resolution: {integrity: sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==} + engines: {node: '>=10'} + + npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npmlog@4.1.2: + resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} + deprecated: This package is no longer supported. + + number-is-nan@1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + + nwsapi@2.2.12: + resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} + + oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-path@0.11.8: + resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} + engines: {node: '>= 10.12.0'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-defer@1.0.0: + resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} + engines: {node: '>=4'} + + p-event@5.0.1: + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-map@5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} + + p-timeout@5.1.0: + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pac-proxy-agent@7.0.2: + resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==} + engines: {node: '>= 14'} + + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + package-name-regex@2.0.5: + resolution: {integrity: sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw==} + engines: {node: '>=12'} + + pacote@11.3.5: + resolution: {integrity: sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==} + engines: {node: '>=10'} + hasBin: true + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-json@7.1.1: + resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} + engines: {node: '>=16'} + + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + + path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + perf-regexes@1.0.1: + resolution: {integrity: sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng==} + engines: {node: '>=6.14'} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-conf@4.0.0: + resolution: {integrity: sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + + plur@5.1.0: + resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + polka@0.5.2: + resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + propagate@2.0.1: + resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} + engines: {node: '>= 8'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-agent@6.3.0: + resolution: {integrity: sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==} + engines: {node: '>= 14'} + + proxy-agent@6.3.1: + resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==} + engines: {node: '>= 14'} + + proxy-agent@6.4.0: + resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==} + engines: {node: '>= 14'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + puppeteer-core@20.9.0: + resolution: {integrity: sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==} + engines: {node: '>=16.3.0'} + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + + query-selector-shadow-dom@1.0.1: + resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} + + query-string@7.1.3: + resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} + engines: {node: '>=6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + randomcolor@0.6.2: + resolution: {integrity: sha512-Mn6TbyYpFgwFuQ8KJKqf3bqqY9O1y37/0jgSK/61PUxV4QfIMv0+K2ioq8DfOjkBslcjwSzRfIDEXfzA9aCx7A==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + read-package-json-fast@2.0.3: + resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} + engines: {node: '>=10'} + + read-pkg-up@10.0.0: + resolution: {integrity: sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==} + engines: {node: '>=16'} + + read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + + read-pkg@8.1.0: + resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} + engines: {node: '>=16'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + replace-ext@1.0.1: + resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} + engines: {node: '>= 0.10'} + + request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + resq@1.11.0: + resolution: {integrity: sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw==} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rgb2hex@0.2.5: + resolution: {integrity: sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup-plugin-cleanup@3.2.1: + resolution: {integrity: sha512-zuv8EhoO3TpnrU8MX8W7YxSbO4gmOR0ny06Lm3nkFfq0IVKdBUtHwhVzY1OAJyNCIAdLiyPnOrU0KnO0Fri1GQ==} + engines: {node: ^10.14.2 || >=12.0.0} + peerDependencies: + rollup: '>=2.0' + + rollup-plugin-filesize@9.1.2: + resolution: {integrity: sha512-m2fE9hFaKgWKisJzyWXctOFKlgMRelo/58HgeC0lXUK/qykxiqkr6bsrotlvo2bvrwPsjgT7scNdQSr6qtl37A==} + engines: {node: '>=10.0.0'} + + rollup-plugin-license@2.6.1: + resolution: {integrity: sha512-JPtlXF0tZKyHztKJsyd3HHmQFSkXei+596Xrb/a/bHIdDhvFuNSKimCKkQpoXyspfeVQk7CNay1MyGpFHAXjvg==} + engines: {node: '>=10.0.0'} + peerDependencies: + rollup: ^1.0.0 || ^2.0.0 + + rollup-plugin-sizes@1.0.6: + resolution: {integrity: sha512-TQlfd2Ef+1BQjsDIuXyoBPAFFJfA9q4DXSCT5/jsUEtsyn99CzwGH98StQOg+sriq9+j8VgCxPO4yodMbvynPg==} + peerDependencies: + rollup: ^2 || ^3 || ^4 + + rollup-plugin-terser@7.0.2: + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + peerDependencies: + rollup: ^2.0.0 + + rollup-plugin-ts@2.0.7: + resolution: {integrity: sha512-M9sppRKX6y/b2KXbGdUdHid0tshAEK/sEeYLBHBJiBa4swukSsoFVXKGGZasLcjaXhgUnnizFuvFFj6znxwvSA==} + engines: {node: '>=10.0.0', npm: '>=7.0.0', pnpm: '>=3.2.0', yarn: '>=1.13'} + peerDependencies: + '@babel/core': '>=6.x || >=7.x' + '@babel/plugin-transform-runtime': '>=6.x || >=7.x' + '@babel/preset-env': '>=6.x || >=7.x' + '@babel/runtime': '>=6.x || >=7.x' + '@swc/core': '>=1.x' + '@swc/helpers': '>=0.2' + rollup: '>=1.x || >=2.x' + typescript: '>=3.2.x || >= 4.x' + peerDependenciesMeta: + '@babel/core': + optional: true + '@babel/plugin-transform-runtime': + optional: true + '@babel/preset-env': + optional: true + '@babel/runtime': + optional: true + '@swc/core': + optional: true + '@swc/helpers': + optional: true + + rollup-pluginutils@2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + + rollup@2.70.2: + resolution: {integrity: sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==} + engines: {node: '>=10.0.0'} + hasBin: true + + run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + safaridriver@0.0.6: + resolution: {integrity: sha512-cU8eBBOOoCsPKb3o/lvx8ppYWFVmTsnAu2MofkPbUPCfDvyFRtD8VyOGwWTtuJTdMNIC+dPnOgaoPNnsk7zs0Q==} + + safaridriver@0.1.2: + resolution: {integrity: sha512-4R309+gWflJktzPXBQCobbWEHlzC4aK3a+Ov3tz2Ib2aBxiwd11phkdIBH1l0EO22x24CJMUQkpKFumRriCSRg==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saucelabs@7.5.0: + resolution: {integrity: sha512-wq89BtE7xb4ns7ApbgAshaUgXHlPoseytPTNwaVQNPwAaD+0klYpBrsCy/Lj77EJ+kf/vKvX1tjhRT67eDyCXg==} + hasBin: true + + saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + + serialize-error@11.0.3: + resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} + engines: {node: '>=14.16'} + + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + + serialize-javascript@4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha1@1.1.1: + resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sinon@13.0.2: + resolution: {integrity: sha512-KvOrztAVqzSJWMDoxM4vM+GPys1df2VBoXm+YciyB/OLMamfS3VXh3oGh5WtrAGSzrgczNWFFY22oKb7Fi5eeA==} + deprecated: 16.1.1 + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + skip-regex@1.0.2: + resolution: {integrity: sha512-pEjMUbwJ5Pl/6Vn6FsamXHXItJXSRftcibixDmNCWbWhic0hzHrwkMZo0IZ7fMRH9KxcWDFSkzhccB4285PutA==} + engines: {node: '>=4.2'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + + socks-proxy-agent@8.0.4: + resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} + engines: {node: '>= 14'} + + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + spacetrim@0.11.39: + resolution: {integrity: sha512-S/baW29azJ7py5ausQRE2S6uEDQnlxgMHOEEq4V770ooBDD1/9kZnxRcco/tjZYuDuqYXblCk/r3N13ZmvHZ2g==} + + spdx-compare@1.0.0: + resolution: {integrity: sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-validate@2.0.0: + resolution: {integrity: sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==} + + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + + spdx-ranges@2.1.1: + resolution: {integrity: sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==} + + spdx-satisfies@5.0.1: + resolution: {integrity: sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==} + + split-ca@1.0.1: + resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==} + + split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + ssh2@1.15.0: + resolution: {integrity: sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==} + engines: {node: '>=10.16.0'} + + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + + stream-buffers@3.0.3: + resolution: {integrity: sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw==} + engines: {node: '>= 0.10.0'} + + streamifier@0.1.1: + resolution: {integrity: sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg==} + engines: {node: '>=0.10'} + + streamx@2.20.0: + resolution: {integrity: sha512-ZGd1LhDeGFucr1CUCTBOS58ZhEendd0ttpGT3usTvosS4ntIwKN9LJFp+OeCSprsCPL14BXVRZlHGRY1V9PVzQ==} + + strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + + supertap@3.0.1: + resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + tar-fs@2.0.1: + resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + + tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + + tar-fs@3.0.6: + resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==} + + tar-stream@1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + tcp-port-used@1.0.2: + resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} + + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + + terser@5.31.6: + resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-decoder@1.1.1: + resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + time-zone@1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-buffer@1.1.1: + resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + + trouter@2.0.1: + resolution: {integrity: sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==} + engines: {node: '>=6'} + + ts-clone-node@0.3.32: + resolution: {integrity: sha512-YYGvoWy2Ba98/YC/0leD7IRsU/q5pu/KRg9dD8omzkbgoZ8g7gfYfED9mWMTyNp7J3CQiiKyvM62B7mXXHKU7Q==} + engines: {node: '>=10.0.0'} + peerDependencies: + typescript: ^3.x || ^4.x + + ts-jest@27.1.5: + resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@types/jest': ^27.0.0 + babel-jest: '>=27.0.0 <28' + esbuild: '*' + jest: ^27.0.0 + typescript: '>=3.8 <5.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/jest': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@2.13.0: + resolution: {integrity: sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==} + engines: {node: '>=12.20'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + + type-fest@4.26.0: + resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} + engines: {node: '>=16'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@4.6.4: + resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} + engines: {node: '>=4.2.0'} + hasBin: true + + ua-parser-js@1.0.38: + resolution: {integrity: sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + + upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + userhome@1.0.0: + resolution: {integrity: sha512-ayFKY3H+Pwfy4W98yPdtH1VqH4psDeyW8lYYFzfecR9d6hqLpqhecktvYR3SEEXt7vG0S1JEpciI3g94pMErig==} + engines: {node: '>= 0.8.0'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + + uuid@8.1.0: + resolution: {integrity: sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + + v8-to-istanbul@8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@3.0.0: + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + vinyl-sourcemaps-apply@0.2.1: + resolution: {integrity: sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==} + + vinyl@2.2.1: + resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} + engines: {node: '>= 0.10'} + + w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + + w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + + wait-port@1.1.0: + resolution: {integrity: sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==} + engines: {node: '>=10'} + hasBin: true + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + wdio-chromedriver-service@8.1.1: + resolution: {integrity: sha512-pN3GiOkTIMnalfq4PJAHdX95pDp1orHnTY8W1fIbd6ok81ba97UjerTgS7lUDRUh1p0MAm35Ww0uc0/9wzB7SA==} + engines: {node: ^16.13 || >=18} + peerDependencies: + '@wdio/types': ^7.0.0 || ^8.0.0-alpha.219 + chromedriver: '*' + webdriverio: ^7.0.0 || ^8.0.0-alpha.219 + peerDependenciesMeta: + '@wdio/types': + optional: true + chromedriver: + optional: true + + wdio-edgedriver-service@3.0.3: + resolution: {integrity: sha512-oHKUFnh9Nn4s749Yl8hp20xvfF8GnK4jNV84qoy52/a0ETgWh0FG5qlRVXBIqIulqhGlfrCgL5/pIizMnEix1w==} + engines: {node: ^16.13 || >=18} + peerDependencies: + '@wdio/types': ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@wdio/types': + optional: true + + wdio-safaridriver-service@2.1.1: + resolution: {integrity: sha512-Rz8uls7EY0bHOZJpykmAMIQzT0gNe6lg32XdCjO/ppSvscWKP57lePGWD80RCU4kKnwX1TbrTivqfjl6vK/1rQ==} + engines: {node: ^16.13 || >=18} + peerDependencies: + '@wdio/types': ^7.0.0 || ^8.0.0-alpha.219 + webdriverio: ^7.0.0 || ^8.0.0-alpha.219 + peerDependenciesMeta: + '@wdio/types': + optional: true + + weakmap-polyfill@2.0.4: + resolution: {integrity: sha512-ZzxBf288iALJseijWelmECm/1x7ZwQn3sMYIkDr2VvZp7r6SEKuT8D0O9Wiq6L9Nl5mazrOMcmiZE/2NCenaxw==} + engines: {node: '>=8.10.0'} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web-vitals@3.3.2: + resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} + + webdriver@8.39.0: + resolution: {integrity: sha512-Kc3+SfiH4ufyrIht683VT2vnJocx0pfH8rYdyPvEh1b2OYewtFTHK36k9rBDHZiBmk6jcSXs4M2xeFgOuon9Lg==} + engines: {node: ^16.13 || >=18} + + webdriverio@8.39.1: + resolution: {integrity: sha512-dPwLgLNtP+l4vnybz+YFxxH8nBKOP7j6VVzKtfDyTLDQg9rz3U8OA4xMMQCBucnrVXy3KcKxGqlnMa+c4IfWCQ==} + engines: {node: ^16.13 || >=18} + peerDependencies: + devtools: ^8.14.0 + peerDependenciesMeta: + devtools: + optional: true + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + + webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + + well-known-symbols@2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + + whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + + whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - ../../plugins/browser-plugin-geolocation: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - ../../plugins/browser-plugin-link-click-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} - ../../plugins/browser-plugin-media: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/uuid': ~3.4.6 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - uuid: ^3.4.0 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - uuid: 3.4.0 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/uuid': 3.4.9 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - ../../plugins/browser-plugin-media-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} - ../../plugins/browser-plugin-optimizely: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} - ../../plugins/browser-plugin-optimizely-x: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - ../../plugins/browser-plugin-performance-navigation-timing: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - ../../plugins/browser-plugin-performance-timing: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} - ../../plugins/browser-plugin-privacy-sandbox: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} - ../../plugins/browser-plugin-site-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} - ../../plugins/browser-plugin-snowplow-ecommerce: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yargs@17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + engines: {node: '>=12'} - ../../plugins/browser-plugin-timezone: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/jstimezonedetect': ~1.0.3 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - jstimezonedetect: 1.0.7 - moment-timezone: ~0.5.26 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - jstimezonedetect: 1.0.7 - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/jstimezonedetect': 1.0.3 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - moment-timezone: 0.5.32 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} - ../../plugins/browser-plugin-vimeo-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-plugin-media': workspace:* - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/vimeo__player': ~2.16.3 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - '@vimeo/player': 2.16.4 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-plugin-media': link:../browser-plugin-media - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - '@vimeo/player': 2.16.4 - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/vimeo__player': 2.16.3 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - ../../plugins/browser-plugin-web-vitals: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - web-vitals: ~3.3.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - web-vitals: 3.3.2 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yazl@2.5.1: + resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} - ../../plugins/browser-plugin-youtube-tracking: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/youtube': ~0.0.46 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/youtube': 0.0.46 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} - ../../trackers/browser-tracker: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-node-resolve': ~13.1.3 - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - eslint: ~8.11.0 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - ts-jest: ~27.1.3 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - eslint: 8.11.0 - jest: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - typescript: 4.6.2 + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} - ../../trackers/javascript-tracker: - specifiers: - '@ampproject/rollup-plugin-closure-compiler': ~0.27.0 - '@rollup/plugin-alias': ~3.1.9 - '@rollup/plugin-commonjs': ~21.0.2 - '@rollup/plugin-json': ~4.1.0 - '@rollup/plugin-node-resolve': ~13.1.3 - '@rollup/plugin-replace': ~4.0.0 - '@snowplow/browser-plugin-ad-tracking': workspace:* - '@snowplow/browser-plugin-browser-features': workspace:* - '@snowplow/browser-plugin-button-click-tracking': workspace:* - '@snowplow/browser-plugin-client-hints': workspace:* - '@snowplow/browser-plugin-consent': workspace:* - '@snowplow/browser-plugin-ecommerce': workspace:* - '@snowplow/browser-plugin-enhanced-consent': workspace:* - '@snowplow/browser-plugin-enhanced-ecommerce': workspace:* - '@snowplow/browser-plugin-error-tracking': workspace:* - '@snowplow/browser-plugin-event-specifications': workspace:* - '@snowplow/browser-plugin-form-tracking': workspace:* - '@snowplow/browser-plugin-ga-cookies': workspace:* - '@snowplow/browser-plugin-geolocation': workspace:* - '@snowplow/browser-plugin-link-click-tracking': workspace:* - '@snowplow/browser-plugin-media': workspace:* - '@snowplow/browser-plugin-media-tracking': workspace:* - '@snowplow/browser-plugin-optimizely': workspace:* - '@snowplow/browser-plugin-optimizely-x': workspace:* - '@snowplow/browser-plugin-performance-timing': workspace:* - '@snowplow/browser-plugin-privacy-sandbox': workspace:* - '@snowplow/browser-plugin-site-tracking': workspace:* - '@snowplow/browser-plugin-snowplow-ecommerce': workspace:* - '@snowplow/browser-plugin-timezone': workspace:* - '@snowplow/browser-plugin-vimeo-tracking': workspace:* - '@snowplow/browser-plugin-youtube-tracking': workspace:* - '@snowplow/browser-tracker': workspace:* - '@snowplow/browser-tracker-core': workspace:* - '@snowplow/tracker-core': workspace:* - '@types/dockerode': ~3.3.5 - '@types/jest': ~27.4.1 - '@types/jsdom': ~16.2.14 - '@types/lodash': ~4.14.180 - '@types/node': ~14.6.0 - '@types/node-fetch': '2' - '@types/youtube': ~0.0.46 - '@wdio/cli': ~8.39.1 - '@wdio/globals': ~8.39.1 - '@wdio/jasmine-framework': ~8.39.1 - '@wdio/local-runner': ~8.39.1 - '@wdio/sauce-service': ~8.39.1 - '@wdio/shared-store-service': ~8.39.1 - '@wdio/spec-reporter': ~8.39.0 - '@wdio/static-server-service': ~8.39.0 - '@wdio/types': ~8.39.0 - chalk: 4.1.2 - chromedriver: ~126.0.4 - dockerode: ~3.3.1 - jest: ~27.5.1 - jest-environment-jsdom: ~27.5.1 - jest-environment-jsdom-global: ~3.0.0 - jest-standard-reporter: ~2.0.0 - lodash: ~4.17.21 - node-fetch: '2' - npm-run-all: ~4.1.5 - rollup: ~2.70.1 - rollup-plugin-cleanup: ~3.2.1 - rollup-plugin-filesize: ~9.1.2 - rollup-plugin-license: ~2.6.1 - rollup-plugin-sizes: ~1.0.4 - rollup-plugin-terser: ~7.0.2 - rollup-plugin-ts: ~2.0.5 - saucelabs: ~7.5.0 - ts-jest: ~27.1.3 - ts-node: ~10.9.1 - tslib: ^2.3.1 - typescript: ~4.6.2 - wdio-chromedriver-service: ~8.1.1 - wdio-edgedriver-service: ~3.0.3 - wdio-safaridriver-service: ~2.1.1 - webdriverio: ~8.39.1 - dependencies: - '@snowplow/browser-plugin-ad-tracking': link:../../plugins/browser-plugin-ad-tracking - '@snowplow/browser-plugin-browser-features': link:../../plugins/browser-plugin-browser-features - '@snowplow/browser-plugin-button-click-tracking': link:../../plugins/browser-plugin-button-click-tracking - '@snowplow/browser-plugin-client-hints': link:../../plugins/browser-plugin-client-hints - '@snowplow/browser-plugin-consent': link:../../plugins/browser-plugin-consent - '@snowplow/browser-plugin-ecommerce': link:../../plugins/browser-plugin-ecommerce - '@snowplow/browser-plugin-enhanced-consent': link:../../plugins/browser-plugin-enhanced-consent - '@snowplow/browser-plugin-enhanced-ecommerce': link:../../plugins/browser-plugin-enhanced-ecommerce - '@snowplow/browser-plugin-error-tracking': link:../../plugins/browser-plugin-error-tracking - '@snowplow/browser-plugin-event-specifications': link:../../plugins/browser-plugin-event-specifications - '@snowplow/browser-plugin-form-tracking': link:../../plugins/browser-plugin-form-tracking - '@snowplow/browser-plugin-ga-cookies': link:../../plugins/browser-plugin-ga-cookies - '@snowplow/browser-plugin-geolocation': link:../../plugins/browser-plugin-geolocation - '@snowplow/browser-plugin-link-click-tracking': link:../../plugins/browser-plugin-link-click-tracking - '@snowplow/browser-plugin-media': link:../../plugins/browser-plugin-media - '@snowplow/browser-plugin-media-tracking': link:../../plugins/browser-plugin-media-tracking - '@snowplow/browser-plugin-optimizely': link:../../plugins/browser-plugin-optimizely - '@snowplow/browser-plugin-optimizely-x': link:../../plugins/browser-plugin-optimizely-x - '@snowplow/browser-plugin-performance-timing': link:../../plugins/browser-plugin-performance-timing - '@snowplow/browser-plugin-privacy-sandbox': link:../../plugins/browser-plugin-privacy-sandbox - '@snowplow/browser-plugin-site-tracking': link:../../plugins/browser-plugin-site-tracking - '@snowplow/browser-plugin-snowplow-ecommerce': link:../../plugins/browser-plugin-snowplow-ecommerce - '@snowplow/browser-plugin-timezone': link:../../plugins/browser-plugin-timezone - '@snowplow/browser-plugin-vimeo-tracking': link:../../plugins/browser-plugin-vimeo-tracking - '@snowplow/browser-plugin-youtube-tracking': link:../../plugins/browser-plugin-youtube-tracking - '@snowplow/browser-tracker': link:../browser-tracker - '@snowplow/browser-tracker-core': link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': link:../../libraries/tracker-core - tslib: 2.3.1 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.70.1 - '@rollup/plugin-alias': 3.1.9_rollup@2.70.1 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.1 - '@rollup/plugin-json': 4.1.0_rollup@2.70.1 - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.70.1 - '@rollup/plugin-replace': 4.0.0_rollup@2.70.1 - '@types/dockerode': 3.3.5 - '@types/jest': 27.4.1 - '@types/jsdom': 16.2.14 - '@types/lodash': 4.14.180 - '@types/node': 14.6.4 - '@types/node-fetch': 2.6.4 - '@types/youtube': 0.0.46 - '@wdio/cli': 8.39.1_typescript@4.6.2 - '@wdio/globals': 8.39.1_typescript@4.6.2 - '@wdio/jasmine-framework': 8.39.1_typescript@4.6.2 - '@wdio/local-runner': 8.39.1_typescript@4.6.2 - '@wdio/sauce-service': 8.39.1_typescript@4.6.2 - '@wdio/shared-store-service': 8.39.1_typescript@4.6.2 - '@wdio/spec-reporter': 8.39.0 - '@wdio/static-server-service': 8.39.0 - '@wdio/types': 8.39.0 - chalk: 4.1.2 - chromedriver: 126.0.5 - dockerode: 3.3.1 - jest: 27.5.1_ts-node@10.9.1 - jest-environment-jsdom: 27.5.1 - jest-environment-jsdom-global: 3.0.0_jest-environment-jsdom@27.5.1 - jest-standard-reporter: 2.0.0 - lodash: 4.17.21 - node-fetch: 2.6.12 - npm-run-all: 4.1.5 - rollup: 2.70.1 - rollup-plugin-cleanup: 3.2.1_rollup@2.70.1 - rollup-plugin-filesize: 9.1.2 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-sizes: 1.0.4_rollup@2.70.1 - rollup-plugin-terser: 7.0.2_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - saucelabs: 7.5.0 - ts-jest: 27.1.3_60149d457e34ffba7d4e845dde6a1263 - ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 - typescript: 4.6.2 - wdio-chromedriver-service: 8.1.1_c7bce63581aea0b27bc74a6bea04d05f - wdio-edgedriver-service: 3.0.3_@wdio+types@8.39.0 - wdio-safaridriver-service: 2.1.1_11917679ce69388bd88480f7734310d5 - webdriverio: 8.39.1_typescript@4.6.2 + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} - ../../trackers/node-tracker: - specifiers: - '@rollup/plugin-json': ~4.1.0 - '@snowplow/tracker-core': workspace:* - '@types/node': ~14.6.0 - '@types/sinon': ~10.0.11 - '@typescript-eslint/eslint-plugin': ~5.15.0 - '@typescript-eslint/parser': ~5.15.0 - ava: ~4.1.0 - eslint: ~8.11.0 - eslint-plugin-ava: ~13.2.0 - got: ^11.8.5 - nock: ~13.2.4 - rollup: ~2.70.1 - rollup-plugin-license: ~2.6.1 - rollup-plugin-ts: ~2.0.5 - sinon: ~13.0.1 - ts-node: ~10.9.1 - tslib: ^2.3.1 - typescript: ~4.6.2 - dependencies: - '@snowplow/tracker-core': link:../../libraries/tracker-core - got: 11.8.5 - tslib: 2.3.1 - devDependencies: - '@rollup/plugin-json': 4.1.0_rollup@2.70.1 - '@types/node': 14.6.4 - '@types/sinon': 10.0.11 - '@typescript-eslint/eslint-plugin': 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 - ava: 4.1.0 - eslint: 8.11.0 - eslint-plugin-ava: 13.2.0_eslint@8.11.0 - nock: 13.2.4 - rollup: 2.70.1 - rollup-plugin-license: 2.6.1_rollup@2.70.1 - rollup-plugin-ts: 2.0.5_rollup@2.70.1+typescript@4.6.2 - sinon: 13.0.1 - ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 - typescript: 4.6.2 + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} -packages: +snapshots: - /@ampproject/remapping/0.2.0: - resolution: {integrity: sha512-a4EztS9/GOVQjX5Ol+Iz33TFhaXvYBF7aB6D8+Qz0/SCIxOm3UNRhGZiwcCuJ8/Ifc6NCogp3S48kc5hFxRpUw==} - engines: {node: '>=6.0.0'} + '@ampproject/remapping@0.2.0': dependencies: '@jridgewell/resolve-uri': 1.0.0 sourcemap-codec: 1.4.8 - dev: true - /@ampproject/rollup-plugin-closure-compiler/0.27.0_rollup@2.70.1: - resolution: {integrity: sha512-stpAOn2ZZEJuAV39HFw9cnKJYNhEeHtcsoa83orpLDhSxsxSbVEKwHaWlFBaQYpQRSOdapC4eJhJnCzocZxnqg==} - engines: {node: '>=10'} - peerDependencies: - rollup: '>=1.27' + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@ampproject/rollup-plugin-closure-compiler@0.27.0(rollup@2.70.2)': dependencies: '@ampproject/remapping': 0.2.0 acorn: 7.3.1 @@ -1865,423 +7732,268 @@ packages: estree-walker: 2.0.1 google-closure-compiler: 20210808.0.0 magic-string: 0.25.7 - rollup: 2.70.1 + rollup: 2.70.2 uuid: 8.1.0 - dev: true - /@arr/every/1.0.1: - resolution: {integrity: sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==} - engines: {node: '>=4'} - dev: true + '@arr/every@1.0.1': {} - /@babel/code-frame/7.16.7: - resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} - engines: {node: '>=6.9.0'} + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.16.10 - dev: true + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 - /@babel/code-frame/7.22.13: - resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.20 - chalk: 2.4.2 - dev: true + '@babel/compat-data@7.25.4': {} - /@babel/core/7.12.10: - resolution: {integrity: sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==} - engines: {node: '>=6.9.0'} + '@babel/core@7.25.2': dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.12.11 - '@babel/helper-module-transforms': 7.12.1 - '@babel/helpers': 7.12.5 - '@babel/parser': 7.16.12 - '@babel/template': 7.12.7 - '@babel/traverse': 7.12.10 - '@babel/types': 7.16.8 - convert-source-map: 1.7.0 - debug: 4.3.4 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.6 gensync: 1.0.0-beta.2 - json5: 2.1.3 - lodash: 4.17.21 - semver: 5.7.1 - source-map: 0.5.7 + json5: 2.2.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /@babel/generator/7.12.11: - resolution: {integrity: sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==} + '@babel/generator@7.25.6': dependencies: - '@babel/types': 7.16.8 + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - source-map: 0.5.7 - dev: true - - /@babel/helper-function-name/7.12.11: - resolution: {integrity: sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==} - dependencies: - '@babel/helper-get-function-arity': 7.12.10 - '@babel/template': 7.12.7 - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-get-function-arity/7.12.10: - resolution: {integrity: sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==} - dependencies: - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-member-expression-to-functions/7.12.7: - resolution: {integrity: sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==} - dependencies: - '@babel/types': 7.16.8 - dev: true - /@babel/helper-module-imports/7.12.5: - resolution: {integrity: sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==} + '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/types': 7.16.8 - dev: true + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 - /@babel/helper-module-transforms/7.12.1: - resolution: {integrity: sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==} + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/helper-module-imports': 7.12.5 - '@babel/helper-replace-supers': 7.12.11 - '@babel/helper-simple-access': 7.12.1 - '@babel/helper-split-export-declaration': 7.12.11 - '@babel/helper-validator-identifier': 7.22.20 - '@babel/template': 7.12.7 - '@babel/traverse': 7.12.10 - '@babel/types': 7.16.8 - lodash: 4.17.21 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - dev: true - /@babel/helper-optimise-call-expression/7.12.10: - resolution: {integrity: sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==} + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/types': 7.16.8 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color - /@babel/helper-plugin-utils/7.16.7: - resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-plugin-utils@7.24.8': {} - /@babel/helper-replace-supers/7.12.11: - resolution: {integrity: sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==} + '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/helper-member-expression-to-functions': 7.12.7 - '@babel/helper-optimise-call-expression': 7.12.10 - '@babel/traverse': 7.12.10 - '@babel/types': 7.16.8 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color - dev: true - - /@babel/helper-simple-access/7.12.1: - resolution: {integrity: sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==} - dependencies: - '@babel/types': 7.16.8 - dev: true - /@babel/helper-split-export-declaration/7.12.11: - resolution: {integrity: sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==} - dependencies: - '@babel/types': 7.16.8 - dev: true + '@babel/helper-string-parser@7.24.8': {} - /@babel/helper-validator-identifier/7.16.7: - resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-validator-identifier@7.24.7': {} - /@babel/helper-validator-identifier/7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-validator-option@7.24.8': {} - /@babel/helpers/7.12.5: - resolution: {integrity: sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==} + '@babel/helpers@7.25.6': dependencies: - '@babel/template': 7.12.7 - '@babel/traverse': 7.12.10 - '@babel/types': 7.16.8 - transitivePeerDependencies: - - supports-color - dev: true + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 - /@babel/highlight/7.16.10: - resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} - engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.16.7 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - dev: true + picocolors: 1.1.0 - /@babel/highlight/7.22.20: - resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} - engines: {node: '>=6.9.0'} + '@babel/parser@7.25.6': dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true + '@babel/types': 7.25.6 - /@babel/parser/7.16.12: - resolution: {integrity: sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: true + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.12.10: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.12.10: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-class-properties/7.12.1_@babel+core@7.12.10: - resolution: {integrity: sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.12.10: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.12.10: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.12.10: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.12.10: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.12.10: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.12.10: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.12.10: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.12.10: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-top-level-await/7.12.1_@babel+core@7.12.10: - resolution: {integrity: sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.12.10: - resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.10 - '@babel/helper-plugin-utils': 7.16.7 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/runtime/7.18.9: - resolution: {integrity: sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==} - engines: {node: '>=6.9.0'} + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': dependencies: - regenerator-runtime: 0.13.9 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/template/7.12.7: - resolution: {integrity: sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==} + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': dependencies: - '@babel/code-frame': 7.22.13 - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - dev: true + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - /@babel/traverse/7.12.10: - resolution: {integrity: sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==} + '@babel/runtime@7.25.6': dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.12.11 - '@babel/helper-function-name': 7.12.11 - '@babel/helper-split-export-declaration': 7.12.11 - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - debug: 4.3.4 + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@babel/traverse@7.25.6': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.6 globals: 11.12.0 - lodash: 4.17.21 transitivePeerDependencies: - supports-color - dev: true - /@babel/types/7.16.8: - resolution: {integrity: sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==} - engines: {node: '>=6.9.0'} + '@babel/types@7.25.6': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - dev: true - /@bcoe/v8-coverage/0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true + '@balena/dockerignore@1.0.2': {} - /@cspotcode/source-map-support/0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + '@bcoe/v8-coverage@0.2.3': {} + + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@eggjs/yauzl/2.11.0: - resolution: {integrity: sha512-Jq+k2fCZJ3i3HShb0nxLUiAgq5pwo8JTT1TrH22JoehZQ0Nm2dvByGIja1NYfNyuE4Tx5/Dns5nVsBN/mlC8yg==} + '@eggjs/yauzl@2.11.0': dependencies: buffer-crc32: 0.2.13 fd-slicer2: 1.2.0 - dev: true - /@eslint/eslintrc/1.2.1: - resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@1.4.1': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.3.1 - globals: 13.12.0 - ignore: 5.2.0 + debug: 4.3.6 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 - minimatch: 3.0.4 + minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /@gar/promisify/1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - dev: true + '@gar/promisify@1.1.3': {} - /@humanwhocodes/config-array/0.9.2: - resolution: {integrity: sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==} - engines: {node: '>=10.10.0'} + '@humanwhocodes/config-array@0.9.5': dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.0.4 + debug: 4.3.6 + minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true - /@humanwhocodes/object-schema/1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true + '@humanwhocodes/object-schema@1.2.1': {} - /@isaacs/cliui/8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 - string-width-cjs: /string-width/4.2.3 + string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi/6.0.1 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi/7.0.0 - dev: true + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@istanbuljs/load-nyc-config/1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 - dev: true - /@istanbuljs/schema/0.1.2: - resolution: {integrity: sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==} - engines: {node: '>=8'} - dev: true + '@istanbuljs/schema@0.1.3': {} - /@jest/console/26.6.2: - resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} - engines: {node: '>= 10.14.2'} + '@jest/console@26.6.2': dependencies: '@jest/types': 26.6.2 '@types/node': 14.6.4 @@ -2289,28 +8001,17 @@ packages: jest-message-util: 26.6.2 jest-util: 26.6.2 slash: 3.0.0 - dev: true - /@jest/console/27.5.1: - resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/console@27.5.1': dependencies: '@jest/types': 27.5.1 '@types/node': 14.6.4 chalk: 4.1.2 jest-message-util: 27.5.1 - jest-util: 27.5.1 - slash: 3.0.0 - dev: true - - /@jest/core/27.5.1: - resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-util: 27.5.1 + slash: 3.0.0 + + '@jest/core@27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4))': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 @@ -2322,9 +8023,9 @@ packages: chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1 + jest-config: 27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -2336,7 +8037,7 @@ packages: jest-util: 27.5.1 jest-validate: 27.5.1 jest-watcher: 27.5.1 - micromatch: 4.0.4 + micromatch: 4.0.8 rimraf: 3.0.2 slash: 3.0.0 strip-ansi: 6.0.1 @@ -2346,16 +8047,8 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /@jest/core/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/core@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4))': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 @@ -2367,9 +8060,9 @@ packages: chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1_ts-node@10.9.1 + jest-config: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -2381,7 +8074,7 @@ packages: jest-util: 27.5.1 jest-validate: 27.5.1 jest-watcher: 27.5.1 - micromatch: 4.0.4 + micromatch: 4.0.8 rimraf: 3.0.2 slash: 3.0.0 strip-ansi: 6.0.1 @@ -2391,28 +8084,19 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /@jest/environment/27.5.1: - resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/environment@27.5.1': dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 '@types/node': 14.6.4 jest-mock: 27.5.1 - dev: true - /@jest/expect-utils/29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect-utils@29.7.0': dependencies: jest-get-type: 29.6.3 - dev: true - /@jest/fake-timers/27.5.1: - resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/fake-timers@27.5.1': dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 @@ -2420,25 +8104,14 @@ packages: jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 - dev: true - /@jest/globals/27.5.1: - resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/globals@27.5.1': dependencies: '@jest/environment': 27.5.1 '@jest/types': 27.5.1 expect: 27.5.1 - dev: true - /@jest/reporters/27.5.1: - resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/reporters@27.5.1': dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 27.5.1 @@ -2447,217 +8120,151 @@ packages: '@jest/types': 27.5.1 '@types/node': 14.6.4 chalk: 4.1.2 - collect-v8-coverage: 1.0.1 + collect-v8-coverage: 1.0.2 exit: 0.1.2 - glob: 7.2.0 - graceful-fs: 4.2.9 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.1.0 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.0 - istanbul-reports: 3.1.3 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 jest-haste-map: 27.5.1 jest-resolve: 27.5.1 jest-util: 27.5.1 jest-worker: 27.5.1 slash: 3.0.0 source-map: 0.6.1 - string-length: 4.0.1 + string-length: 4.0.2 terminal-link: 2.1.1 v8-to-istanbul: 8.1.1 transitivePeerDependencies: - supports-color - dev: true - /@jest/schemas/29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map/27.5.1: - resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/source-map@27.5.1': dependencies: callsites: 3.1.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 source-map: 0.6.1 - dev: true - /@jest/test-result/27.5.1: - resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/test-result@27.5.1': dependencies: '@jest/console': 27.5.1 '@jest/types': 27.5.1 - '@types/istanbul-lib-coverage': 2.0.3 - collect-v8-coverage: 1.0.1 - dev: true + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 - /@jest/test-sequencer/27.5.1: - resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/test-sequencer@27.5.1': dependencies: '@jest/test-result': 27.5.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jest-haste-map: 27.5.1 jest-runtime: 27.5.1 transitivePeerDependencies: - supports-color - dev: true - /@jest/transform/27.5.1: - resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/transform@27.5.1': dependencies: - '@babel/core': 7.12.10 + '@babel/core': 7.25.2 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 - convert-source-map: 1.7.0 + convert-source-map: 1.9.0 fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jest-haste-map: 27.5.1 jest-regex-util: 27.5.1 jest-util: 27.5.1 - micromatch: 4.0.4 - pirates: 4.0.4 + micromatch: 4.0.8 + pirates: 4.0.6 slash: 3.0.0 source-map: 0.6.1 write-file-atomic: 3.0.3 transitivePeerDependencies: - supports-color - dev: true - /@jest/types/26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} + '@jest/types@26.6.2': dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.0 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 14.6.4 - '@types/yargs': 15.0.12 + '@types/yargs': 15.0.19 chalk: 4.1.2 - dev: true - /@jest/types/27.5.1: - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/types@27.5.1': dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.0 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 14.6.4 - '@types/yargs': 16.0.4 + '@types/yargs': 16.0.9 chalk: 4.1.2 - dev: true - /@jest/types/29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.0 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 14.6.4 - '@types/yargs': 17.0.22 + '@types/yargs': 17.0.33 chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping/0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.15 - dev: true + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri/1.0.0: - resolution: {integrity: sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/resolve-uri@1.0.0': {} - /@jridgewell/resolve-uri/3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/set-array/1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/set-array@1.2.1': {} - /@jridgewell/source-map/0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + '@jridgewell/source-map@0.3.6': dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.15 - dev: true - - /@jridgewell/sourcemap-codec/1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/sourcemap-codec/1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true + '@jridgewell/sourcemap-codec@1.5.0': {} - /@jridgewell/trace-mapping/0.3.15: - resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==} + '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 - /@jridgewell/trace-mapping/0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jridgewell/trace-mapping@0.3.9': dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 - /@ljharb/through/2.3.11: - resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} - engines: {node: '>= 0.4'} + '@ljharb/through@2.3.13': dependencies: - call-bind: 1.0.5 - dev: true + call-bind: 1.0.7 - /@mdn/browser-compat-data/4.1.4: - resolution: {integrity: sha512-GT+WV0p/3Y90zfyv3alYZykqkySbFxq6lJcK1RMnaoPoA6RGrbXwOnOhD9RPw+Jy6IKdzfUjvtXvrep+qkwwrQ==} - dev: true + '@mdn/browser-compat-data@4.2.1': {} - /@nodelib/fs.scandir/2.1.3: - resolution: {integrity: sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: - '@nodelib/fs.stat': 2.0.3 - run-parallel: 1.1.10 - dev: true + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 - /@nodelib/fs.stat/2.0.3: - resolution: {integrity: sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==} - engines: {node: '>= 8'} - dev: true + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk/1.2.4: - resolution: {integrity: sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: - '@nodelib/fs.scandir': 2.1.3 - fastq: 1.10.0 - dev: true + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 - /@npmcli/fs/1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.3.5 - dev: true + semver: 7.6.3 - /@npmcli/git/2.1.0: - resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} + '@npmcli/git@2.1.0': dependencies: '@npmcli/promise-spawn': 1.3.2 lru-cache: 6.0.0 @@ -2665,87 +8272,58 @@ packages: npm-pick-manifest: 6.1.1 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.3.5 + semver: 7.6.3 which: 2.0.2 - dev: true - /@npmcli/installed-package-contents/1.0.7: - resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} - engines: {node: '>= 10'} - hasBin: true + '@npmcli/installed-package-contents@1.0.7': dependencies: npm-bundled: 1.1.2 npm-normalize-package-bin: 1.0.1 - dev: true - /@npmcli/move-file/1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} + '@npmcli/move-file@1.1.2': dependencies: mkdirp: 1.0.4 rimraf: 3.0.2 - dev: true - /@npmcli/node-gyp/1.0.3: - resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} - dev: true + '@npmcli/node-gyp@1.0.3': {} - /@npmcli/promise-spawn/1.3.2: - resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} + '@npmcli/promise-spawn@1.3.2': dependencies: infer-owner: 1.0.4 - dev: true - /@npmcli/run-script/1.8.6: - resolution: {integrity: sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==} + '@npmcli/run-script@1.8.6': dependencies: '@npmcli/node-gyp': 1.0.3 '@npmcli/promise-spawn': 1.3.2 node-gyp: 7.1.2 read-package-json-fast: 2.0.3 - dev: true - /@pkgjs/parseargs/0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: true + '@pkgjs/parseargs@0.11.0': optional: true - /@polka/parse/1.0.0-next.0: - resolution: {integrity: sha512-zcPNrc3PNrRLSCQ7ca8XR7h18VxdPIXhn+yvrYMdUFCHM7mhXGSPw5xBdbcf/dQ1cI4uE8pDfmm5uU+HX+WfFg==} - dev: true + '@polka/parse@1.0.0-next.0': {} - /@polka/url/0.5.0: - resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} - dev: true + '@polka/url@0.5.0': {} - /@puppeteer/browsers/1.4.6_typescript@4.6.2: - resolution: {integrity: sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==} - engines: {node: '>=16.3.0'} - hasBin: true - peerDependencies: - typescript: '>= 4.7.4' - peerDependenciesMeta: - typescript: - optional: true + '@promptbook/utils@0.70.0-1': + dependencies: + spacetrim: 0.11.39 + + '@puppeteer/browsers@1.4.6(typescript@4.6.4)': dependencies: debug: 4.3.4 extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.3.0 tar-fs: 3.0.4 - typescript: 4.6.2 unbzip2-stream: 1.4.3 yargs: 17.7.1 + optionalDependencies: + typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - /@puppeteer/browsers/1.7.1: - resolution: {integrity: sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==} - engines: {node: '>=16.3.0'} - hasBin: true + '@puppeteer/browsers@1.9.1': dependencies: debug: 4.3.4 extract-zip: 2.0.1 @@ -2753,637 +8331,428 @@ packages: proxy-agent: 6.3.1 tar-fs: 3.0.4 unbzip2-stream: 1.4.3 - yargs: 17.7.1 + yargs: 17.7.2 transitivePeerDependencies: - supports-color - dev: true - /@rollup/plugin-alias/3.1.9_rollup@2.70.1: - resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} - engines: {node: '>=8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 + '@rollup/plugin-alias@3.1.9(rollup@2.70.2)': dependencies: - rollup: 2.70.1 + rollup: 2.70.2 slash: 3.0.0 - dev: true - /@rollup/plugin-commonjs/21.0.2_rollup@2.70.1: - resolution: {integrity: sha512-d/OmjaLVO4j/aQX69bwpWPpbvI3TJkQuxoAk7BH8ew1PyoMBLTOuvJTjzG8oEoW7drIIqB0KCJtfFLu/2GClWg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.38.3 + '@rollup/plugin-commonjs@21.0.3(rollup@2.70.2)': dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.70.1 + '@rollup/pluginutils': 3.1.0(rollup@2.70.2) commondir: 1.0.1 estree-walker: 2.0.2 - glob: 7.2.0 + glob: 7.2.3 is-reference: 1.2.1 - magic-string: 0.25.7 - resolve: 1.22.0 - rollup: 2.70.1 - dev: true + magic-string: 0.25.9 + resolve: 1.22.8 + rollup: 2.70.2 - /@rollup/plugin-json/4.1.0_rollup@2.70.1: - resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + '@rollup/plugin-json@4.1.0(rollup@2.70.2)': dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.70.1 - rollup: 2.70.1 - dev: true + '@rollup/pluginutils': 3.1.0(rollup@2.70.2) + rollup: 2.70.2 - /@rollup/plugin-node-resolve/13.1.3_rollup@2.70.1: - resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^2.42.0 + '@rollup/plugin-node-resolve@13.1.3(rollup@2.70.2)': dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.70.1 + '@rollup/pluginutils': 3.1.0(rollup@2.70.2) '@types/resolve': 1.17.1 - builtin-modules: 3.2.0 - deepmerge: 4.2.2 + builtin-modules: 3.3.0 + deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.19.0 - rollup: 2.70.1 - dev: true + resolve: 1.22.8 + rollup: 2.70.2 - /@rollup/plugin-replace/4.0.0_rollup@2.70.1: - resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + '@rollup/plugin-replace@4.0.0(rollup@2.70.2)': dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.70.1 - magic-string: 0.25.7 - rollup: 2.70.1 - dev: true + '@rollup/pluginutils': 3.1.0(rollup@2.70.2) + magic-string: 0.25.9 + rollup: 2.70.2 - /@rollup/pluginutils/3.1.0_rollup@2.70.1: - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 + '@rollup/pluginutils@3.1.0(rollup@2.70.2)': dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 - picomatch: 2.2.2 - rollup: 2.70.1 - dev: true + picomatch: 2.3.1 + rollup: 2.70.2 - /@rollup/pluginutils/4.1.2: - resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} - engines: {node: '>= 8.0.0'} + '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - dev: true - /@sinclair/typebox/0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true + '@sinclair/typebox@0.27.8': {} - /@sindresorhus/is/4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + '@sindresorhus/is@4.6.0': {} - /@sindresorhus/is/5.3.0: - resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} - engines: {node: '>=14.16'} - dev: true + '@sindresorhus/is@5.6.0': {} - /@sinonjs/commons/1.8.3: - resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} + '@sinonjs/commons@1.8.6': dependencies: type-detect: 4.0.8 - dev: true - /@sinonjs/fake-timers/8.1.0: - resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@11.3.1': dependencies: - '@sinonjs/commons': 1.8.3 - dev: true + '@sinonjs/commons': 3.0.1 - /@sinonjs/fake-timers/9.1.1: - resolution: {integrity: sha512-Wp5vwlZ0lOqpSYGKqr53INws9HLkt6JDc/pDZcPf7bchQnrXJMXPns8CXx0hFikMSGSWfvtvvpb2gtMVfkWagA==} + '@sinonjs/fake-timers@8.1.0': dependencies: - '@sinonjs/commons': 1.8.3 - dev: true + '@sinonjs/commons': 1.8.6 - /@sinonjs/samsam/6.1.1: - resolution: {integrity: sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==} + '@sinonjs/fake-timers@9.1.2': dependencies: - '@sinonjs/commons': 1.8.3 + '@sinonjs/commons': 1.8.6 + + '@sinonjs/samsam@6.1.3': + dependencies: + '@sinonjs/commons': 1.8.6 lodash.get: 4.4.2 - type-detect: 4.0.8 - dev: true + type-detect: 4.1.0 - /@sinonjs/text-encoding/0.7.1: - resolution: {integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==} - dev: true + '@sinonjs/text-encoding@0.7.3': {} - /@szmarczak/http-timer/4.0.5: - resolution: {integrity: sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==} - engines: {node: '>=10'} + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 - /@szmarczak/http-timer/5.0.1: - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} + '@szmarczak/http-timer@5.0.1': dependencies: defer-to-connect: 2.0.1 - dev: true - /@testim/chrome-version/1.1.4: - resolution: {integrity: sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==} - dev: true + '@testim/chrome-version@1.1.4': {} - /@testing-library/dom/9.3.4: - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} + '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.22.13 - '@babel/runtime': 7.18.9 + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.25.6 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 dom-accessibility-api: 0.5.16 lz-string: 1.5.0 pretty-format: 27.5.1 - dev: true - /@tootallnate/once/1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - dev: true + '@tootallnate/once@1.1.2': {} - /@tootallnate/quickjs-emscripten/0.23.0: - resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - dev: true + '@tootallnate/quickjs-emscripten@0.23.0': {} - /@tsconfig/node10/1.0.8: - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} - dev: true + '@tsconfig/node10@1.0.11': {} - /@tsconfig/node12/1.0.9: - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} - dev: true + '@tsconfig/node12@1.0.11': {} - /@tsconfig/node14/1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true + '@tsconfig/node14@1.0.3': {} - /@tsconfig/node16/1.0.2: - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - dev: true + '@tsconfig/node16@1.0.4': {} - /@types/aria-query/5.0.4: - resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - dev: true + '@types/aria-query@5.0.4': {} - /@types/babel__core/7.1.18: - resolution: {integrity: sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==} + '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - '@types/babel__generator': 7.6.2 - '@types/babel__template': 7.4.0 - '@types/babel__traverse': 7.11.0 - dev: true + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 - /@types/babel__generator/7.6.2: - resolution: {integrity: sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==} + '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.16.8 - dev: true + '@babel/types': 7.25.6 - /@types/babel__template/7.4.0: - resolution: {integrity: sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==} + '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - dev: true + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 - /@types/babel__traverse/7.11.0: - resolution: {integrity: sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==} + '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.16.8 - dev: true + '@babel/types': 7.25.6 - /@types/cacheable-request/6.0.1: - resolution: {integrity: sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==} + '@types/cacheable-request@6.0.3': dependencies: - '@types/http-cache-semantics': 4.0.1 - '@types/keyv': 3.1.1 + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 '@types/node': 14.6.4 - '@types/responselike': 1.0.0 + '@types/responselike': 1.0.3 - /@types/docker-modem/3.0.2: - resolution: {integrity: sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==} + '@types/docker-modem@3.0.6': dependencies: '@types/node': 14.6.4 - '@types/ssh2': 0.5.51 - dev: true + '@types/ssh2': 1.15.1 - /@types/dockerode/3.3.5: - resolution: {integrity: sha512-QEfaHvsENH5Iot+8vM2ePZRe8NZMlsjKmZnqvPo624VimRZe3KWkUakcsHMuTZ6GcGI/sW6sr4OVS28HCj7IUw==} + '@types/dockerode@3.3.31': dependencies: - '@types/docker-modem': 3.0.2 + '@types/docker-modem': 3.0.6 '@types/node': 14.6.4 - dev: true + '@types/ssh2': 1.15.1 - /@types/estree/0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true + '@types/estree@0.0.39': {} - /@types/estree/0.0.45: - resolution: {integrity: sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==} - dev: true + '@types/estree@1.0.5': {} - /@types/graceful-fs/4.1.4: - resolution: {integrity: sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==} + '@types/graceful-fs@4.1.9': dependencies: '@types/node': 14.6.4 - dev: true - /@types/http-cache-semantics/4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + '@types/http-cache-semantics@4.0.4': {} - /@types/istanbul-lib-coverage/2.0.3: - resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': {} - /@types/istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + '@types/istanbul-lib-report@3.0.3': dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - dev: true + '@types/istanbul-lib-coverage': 2.0.6 - /@types/istanbul-reports/3.0.0: - resolution: {integrity: sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==} + '@types/istanbul-reports@3.0.4': dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true + '@types/istanbul-lib-report': 3.0.3 - /@types/jest/27.4.1: - resolution: {integrity: sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==} + '@types/jest@27.4.1': dependencies: jest-matcher-utils: 27.5.1 pretty-format: 27.5.1 - dev: true - /@types/jsdom/16.2.14: - resolution: {integrity: sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==} + '@types/jsdom@16.2.15': dependencies: '@types/node': 14.6.4 - '@types/parse5': 6.0.0 - '@types/tough-cookie': 4.0.0 - dev: true + '@types/parse5': 6.0.3 + '@types/tough-cookie': 4.0.5 - /@types/json-schema/7.0.9: - resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} - dev: true + '@types/json-schema@7.0.15': {} - /@types/jstimezonedetect/1.0.3: - resolution: {integrity: sha512-nrhtotVo8xEFMiFX1V5y8GhUhCct74lsaqr6R6VWN/KGvZNdKVPrDGD//9aha360yrmJwk88c1wlRRJuIbvijQ==} - dev: true + '@types/jstimezonedetect@1.0.6': {} - /@types/keyv/3.1.1: - resolution: {integrity: sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==} + '@types/keyv@3.1.4': dependencies: '@types/node': 14.6.4 - /@types/lodash/4.14.180: - resolution: {integrity: sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==} - dev: true + '@types/lodash@4.14.202': {} - /@types/node-fetch/2.6.4: - resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} + '@types/node-fetch@2.6.11': dependencies: '@types/node': 14.6.4 - form-data: 3.0.0 - dev: true + form-data: 4.0.0 - /@types/node/14.6.4: - resolution: {integrity: sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ==} + '@types/node@14.6.4': {} - /@types/node/16.11.21: - resolution: {integrity: sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==} - dev: true + '@types/node@16.18.106': {} - /@types/node/20.11.30: - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + '@types/node@18.19.48': dependencies: undici-types: 5.26.5 - dev: true - /@types/normalize-package-data/2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: true + '@types/node@20.16.3': + dependencies: + undici-types: 6.19.8 + + '@types/normalize-package-data@2.4.4': {} - /@types/object-path/0.11.1: - resolution: {integrity: sha512-219LSCO9HPcoXcRTC6DbCs0FRhZgBnEMzf16RRqkT40WbkKx3mOeQuz3e2XqbfhOz/AHfbru0kzB1n1RCAsIIg==} - dev: true + '@types/object-path@0.11.4': {} - /@types/parse5/6.0.0: - resolution: {integrity: sha512-oPwPSj4a1wu9rsXTEGIJz91ISU725t0BmSnUhb57sI+M8XEmvUop84lzuiYdq0Y5M6xLY8DBPg0C2xEQKLyvBA==} - dev: true + '@types/parse5@6.0.3': {} - /@types/prettier/2.1.5: - resolution: {integrity: sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==} - dev: true + '@types/prettier@2.7.3': {} - /@types/randomcolor/0.5.5: - resolution: {integrity: sha512-PywdYff3F8lGO3BggkCXaPFH0Ue/2Y7xliihoQNkxCGPJ4w7VTMfgcmSMIE6gOVAEu9Wx42JRSuRREVG3AUrtg==} - dev: true + '@types/randomcolor@0.5.9': {} - /@types/resolve/1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + '@types/resolve@1.17.1': dependencies: '@types/node': 14.6.4 - dev: true - /@types/responselike/1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + '@types/responselike@1.0.3': dependencies: '@types/node': 14.6.4 - /@types/semver/7.3.9: - resolution: {integrity: sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==} - dev: true + '@types/semver@7.5.8': {} - /@types/sha1/1.1.3: - resolution: {integrity: sha512-bXfx/6xrPu1l6pLItGRMPX00lhnJavpj2qiQeLHflXvL2Ix97aC8FTF2/pQoqukRzcCwKyN3csZvOLzamIoaSA==} + '@types/sha1@1.1.5': dependencies: '@types/node': 14.6.4 - dev: true - /@types/sinon/10.0.11: - resolution: {integrity: sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==} + '@types/sinon@10.0.20': dependencies: - '@types/sinonjs__fake-timers': 8.1.1 - dev: true + '@types/sinonjs__fake-timers': 8.1.5 - /@types/sinonjs__fake-timers/8.1.1: - resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - dev: true + '@types/sinonjs__fake-timers@8.1.5': {} - /@types/split2/4.2.1: - resolution: {integrity: sha512-QwkIwu4daHHpmRYhKIUxQjpVKxKMAniJOiu50ST7vHzFQFrvtGj3d8BJZfqgkAEir/oOcgg43WX5G2VHC6NFtw==} + '@types/split2@4.2.3': dependencies: '@types/node': 14.6.4 - dev: true - /@types/ssh2-streams/0.1.9: - resolution: {integrity: sha512-I2J9jKqfmvXLR5GomDiCoHrEJ58hAOmFrekfFqmCFd+A6gaEStvWnPykoWUwld1PNg4G5ag1LwdA+Lz1doRJqg==} + '@types/ssh2@1.15.1': dependencies: - '@types/node': 14.6.4 - dev: true - - /@types/ssh2/0.5.51: - resolution: {integrity: sha512-aIq7ownezauW/+VWYaeXwd5J1Evnn4EXyeKi7bT3H6ZLBLoqsmhdvkHYPLpnZPM6unKKKsxTHIyQAVOZnPiJBw==} - dependencies: - '@types/node': 14.6.4 - '@types/ssh2-streams': 0.1.9 - dev: true + '@types/node': 18.19.48 - /@types/stack-utils/2.0.0: - resolution: {integrity: sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==} - dev: true + '@types/stack-utils@2.0.3': {} - /@types/tcp-port-used/1.0.1: - resolution: {integrity: sha512-6pwWTx8oUtWvsiZUCrhrK/53MzKVLnuNSSaZILPy3uMes9QnTrLMar9BDlJArbMOjDcjb3QXFk6Rz8qmmuySZw==} - dev: true + '@types/tcp-port-used@1.0.4': {} - /@types/tough-cookie/4.0.0: - resolution: {integrity: sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==} - dev: true + '@types/tough-cookie@4.0.5': {} - /@types/ua-parser-js/0.7.36: - resolution: {integrity: sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==} - dev: true + '@types/ua-parser-js@0.7.39': {} - /@types/uuid/3.4.9: - resolution: {integrity: sha512-XDwyIlt/47l2kWLTzw/mtrpLdB+GPSskR2n/PIcPn+VYhVO77rGhRncIR5GPU0KRzXuqkDO+J5qqrG0Y8P6jzQ==} - dev: true + '@types/uuid@3.4.13': {} - /@types/vimeo__player/2.16.3: - resolution: {integrity: sha512-hsOe6CZFTNyfjRjQUrNHBF4LDmjvjcU2yQIPWp5AglKeGxt11JYGToQhKUPM876gBXggqR6rMQ0/sNI06ec2Rg==} - dev: true + '@types/vimeo__player@2.16.3': {} - /@types/which/2.0.1: - resolution: {integrity: sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==} - dev: true + '@types/which@2.0.2': {} - /@types/ws/8.5.4: - resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} + '@types/ws@8.5.12': dependencies: '@types/node': 14.6.4 - dev: true - /@types/yargs-parser/15.0.0: - resolution: {integrity: sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==} - dev: true + '@types/yargs-parser@21.0.3': {} - /@types/yargs/15.0.12: - resolution: {integrity: sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==} + '@types/yargs@15.0.19': dependencies: - '@types/yargs-parser': 15.0.0 - dev: true + '@types/yargs-parser': 21.0.3 - /@types/yargs/16.0.4: - resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} + '@types/yargs@16.0.9': dependencies: - '@types/yargs-parser': 15.0.0 - dev: true + '@types/yargs-parser': 21.0.3 - /@types/yargs/17.0.22: - resolution: {integrity: sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==} + '@types/yargs@17.0.33': dependencies: - '@types/yargs-parser': 15.0.0 - dev: true + '@types/yargs-parser': 21.0.3 - /@types/yauzl/2.9.1: - resolution: {integrity: sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==} - requiresBuild: true + '@types/yauzl@2.10.3': dependencies: '@types/node': 14.6.4 - dev: true optional: true - /@types/youtube/0.0.46: - resolution: {integrity: sha512-Yf1Y4bDj/QIn8v+zdy0l7+OW6s1uoUvzVn5cGqPNCsL4iUW4gYUlIdQIRtH9NOHVgwZNLbVeeRDEn6N4RMq6Nw==} - dev: true + '@types/youtube@0.0.50': {} - /@typescript-eslint/eslint-plugin/5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28: - resolution: {integrity: sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/eslint-plugin@5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4)': dependencies: - '@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2 + '@typescript-eslint/parser': 5.15.0(eslint@8.11.0)(typescript@4.6.4) '@typescript-eslint/scope-manager': 5.15.0 - '@typescript-eslint/type-utils': 5.15.0_eslint@8.11.0+typescript@4.6.2 - '@typescript-eslint/utils': 5.15.0_eslint@8.11.0+typescript@4.6.2 - debug: 4.3.3 + '@typescript-eslint/type-utils': 5.15.0(eslint@8.11.0)(typescript@4.6.4) + '@typescript-eslint/utils': 5.15.0(eslint@8.11.0)(typescript@4.6.4) + debug: 4.3.6 eslint: 8.11.0 functional-red-black-tree: 1.0.1 - ignore: 5.2.0 + ignore: 5.3.2 regexpp: 3.2.0 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.6.2 - typescript: 4.6.2 + semver: 7.6.3 + tsutils: 3.21.0(typescript@4.6.4) + optionalDependencies: + typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser/5.15.0_eslint@8.11.0+typescript@4.6.2: - resolution: {integrity: sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4)': dependencies: '@typescript-eslint/scope-manager': 5.15.0 '@typescript-eslint/types': 5.15.0 - '@typescript-eslint/typescript-estree': 5.15.0_typescript@4.6.2 - debug: 4.3.3 + '@typescript-eslint/typescript-estree': 5.15.0(typescript@4.6.4) + debug: 4.3.6 eslint: 8.11.0 - typescript: 4.6.2 + optionalDependencies: + typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/scope-manager/5.15.0: - resolution: {integrity: sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@5.15.0': dependencies: '@typescript-eslint/types': 5.15.0 '@typescript-eslint/visitor-keys': 5.15.0 - dev: true - /@typescript-eslint/type-utils/5.15.0_eslint@8.11.0+typescript@4.6.2: - resolution: {integrity: sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/type-utils@5.15.0(eslint@8.11.0)(typescript@4.6.4)': dependencies: - '@typescript-eslint/utils': 5.15.0_eslint@8.11.0+typescript@4.6.2 - debug: 4.3.3 + '@typescript-eslint/utils': 5.15.0(eslint@8.11.0)(typescript@4.6.4) + debug: 4.3.6 eslint: 8.11.0 - tsutils: 3.21.0_typescript@4.6.2 - typescript: 4.6.2 + tsutils: 3.21.0(typescript@4.6.4) + optionalDependencies: + typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/types/5.15.0: - resolution: {integrity: sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@typescript-eslint/types@5.15.0': {} - /@typescript-eslint/typescript-estree/5.15.0_typescript@4.6.2: - resolution: {integrity: sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@5.15.0(typescript@4.6.4)': dependencies: '@typescript-eslint/types': 5.15.0 '@typescript-eslint/visitor-keys': 5.15.0 - debug: 4.3.3 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.6.2 - typescript: 4.6.2 + semver: 7.6.3 + tsutils: 3.21.0(typescript@4.6.4) + optionalDependencies: + typescript: 4.6.4 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils/5.15.0_eslint@8.11.0+typescript@4.6.2: - resolution: {integrity: sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@5.15.0(eslint@8.11.0)(typescript@4.6.4)': dependencies: - '@types/json-schema': 7.0.9 + '@types/json-schema': 7.0.15 '@typescript-eslint/scope-manager': 5.15.0 '@typescript-eslint/types': 5.15.0 - '@typescript-eslint/typescript-estree': 5.15.0_typescript@4.6.2 + '@typescript-eslint/typescript-estree': 5.15.0(typescript@4.6.4) eslint: 8.11.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.11.0 + eslint-utils: 3.0.0(eslint@8.11.0) transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/visitor-keys/5.15.0: - resolution: {integrity: sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@5.15.0': dependencies: '@typescript-eslint/types': 5.15.0 - eslint-visitor-keys: 3.3.0 - dev: true + eslint-visitor-keys: 3.4.3 - /@vimeo/player/2.16.4: - resolution: {integrity: sha512-i+ids9ziQuai3mp8XzF9Q5b2hLgRCekRcefdnoy+RkKUR8Xq0cJndnk9jHugEOw8v6PLj7tO3eEAw4lu2/AG2Q==} + '@vimeo/player@2.16.4': dependencies: native-promise-only: 0.8.1 weakmap-polyfill: 2.0.4 - dev: false - /@vitest/snapshot/1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + '@vitest/pretty-format@2.0.5': dependencies: - magic-string: 0.30.8 + tinyrainbow: 1.2.0 + + '@vitest/snapshot@1.6.0': + dependencies: + magic-string: 0.30.11 pathe: 1.1.2 pretty-format: 29.7.0 - dev: true - /@wdio/cli/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-CUze/nbOMzgSEp+Qo27dnM5IhlOPAiBJCPX3xO85/kjweqqxmAB1QBKww1Mz9YlNIXineaHrkgqlUQIvEqOJdQ==} - engines: {node: ^16.13 || >=18} - hasBin: true + '@vitest/snapshot@2.0.5': + dependencies: + '@vitest/pretty-format': 2.0.5 + magic-string: 0.30.11 + pathe: 1.1.2 + + '@wdio/cli@8.39.1(encoding@0.1.13)(typescript@4.6.4)': dependencies: - '@types/node': 20.11.30 - '@vitest/snapshot': 1.4.0 + '@types/node': 20.16.3 + '@vitest/snapshot': 1.6.0 '@wdio/config': 8.39.0 - '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/globals': 8.39.1(encoding@0.1.13)(typescript@4.6.4) '@wdio/logger': 8.38.0 '@wdio/protocols': 8.38.0 '@wdio/types': 8.39.0 '@wdio/utils': 8.39.0 async-exit-hook: 2.0.1 chalk: 5.3.0 - chokidar: 3.5.3 - cli-spinners: 2.9.1 - dotenv: 16.3.1 - ejs: 3.1.9 + chokidar: 3.6.0 + cli-spinners: 2.9.2 + dotenv: 16.4.5 + ejs: 3.1.10 execa: 8.0.1 - import-meta-resolve: 4.0.0 + import-meta-resolve: 4.1.0 inquirer: 9.2.12 lodash.flattendeep: 4.4.0 lodash.pickby: 4.6.0 lodash.union: 4.6.0 read-pkg-up: 10.0.0 recursive-readdir: 2.2.3 - webdriverio: 8.39.1_typescript@4.6.2 + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -3392,29 +8761,23 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@wdio/config/8.39.0: - resolution: {integrity: sha512-yNuGPMPibY91s936gnJCHWlStvIyDrwLwGfLC/NCdTin4F7HL4Gp5iJnHWkJFty1/DfFi8jjoIUBNLM8HEez+A==} - engines: {node: ^16.13 || >=18} + '@wdio/config@8.39.0': dependencies: '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 '@wdio/utils': 8.39.0 decamelize: 6.0.0 deepmerge-ts: 5.1.0 - glob: 10.3.1 - import-meta-resolve: 4.0.0 + glob: 10.4.5 + import-meta-resolve: 4.1.0 transitivePeerDependencies: - supports-color - dev: true - /@wdio/globals/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-kNb1TlxI8Le/tsOiw7CMQcG0+ZGyxk9ZDO/PQLxkJvjo/q2QmiBcgaNMPuf+j1ABETcQK4bI7QtiT5uZ+f2AGA==} - engines: {node: ^16.13 || >=18} + '@wdio/globals@8.39.1(encoding@0.1.13)(typescript@4.6.4)': optionalDependencies: - expect-webdriverio: 4.12.2_typescript@4.6.2 - webdriverio: 8.39.1_typescript@4.6.2 + expect-webdriverio: 4.15.4(encoding@0.1.13)(typescript@4.6.4) + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) transitivePeerDependencies: - bufferutil - devtools @@ -3422,19 +8785,16 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@wdio/jasmine-framework/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-WnoNvdVyj1HzBv8KpftNWsj7aCy5/v2NQt66lTewxG6KfxEFGgjCRVtnH46dK/HlOFGrh0J8qCTRZDYerUqR9w==} - engines: {node: ^16.13 || >=18} + '@wdio/jasmine-framework@8.39.1(encoding@0.1.13)(typescript@4.6.4)': dependencies: - '@types/node': 20.11.30 - '@wdio/globals': 8.39.1_typescript@4.6.2 + '@types/node': 20.16.3 + '@wdio/globals': 8.39.1(encoding@0.1.13)(typescript@4.6.4) '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 '@wdio/utils': 8.39.0 - expect-webdriverio: 4.12.2_typescript@4.6.2 - jasmine: 5.1.0 + expect-webdriverio: 4.15.4(encoding@0.1.13)(typescript@4.6.4) + jasmine: 5.2.0 transitivePeerDependencies: - bufferutil - devtools @@ -3442,20 +8802,17 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@wdio/local-runner/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-VYRD7pSkl5JTsYXroM65yb+vJVn9pFJf0XZMB7Xj+WVUqGXuVkZ+XybsQetUlhruXvHIsPdiFj12V1tMyaUHrQ==} - engines: {node: ^16.13 || >=18} + '@wdio/local-runner@8.39.1(encoding@0.1.13)(typescript@4.6.4)': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.16.3 '@wdio/logger': 8.38.0 '@wdio/repl': 8.24.12 - '@wdio/runner': 8.39.1_typescript@4.6.2 + '@wdio/runner': 8.39.1(encoding@0.1.13)(typescript@4.6.4) '@wdio/types': 8.39.0 async-exit-hook: 2.0.1 split2: 4.2.0 - stream-buffers: 3.0.2 + stream-buffers: 3.0.3 transitivePeerDependencies: - bufferutil - devtools @@ -3463,65 +8820,48 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@wdio/logger/8.16.17: - resolution: {integrity: sha512-zeQ41z3T+b4IsrriZZipayXxLNDuGsm7TdExaviNGojPVrIsQUCSd/FvlLHM32b7ZrMyInHenu/zx1cjAZO71g==} - engines: {node: ^16.13 || >=18} + '@wdio/logger@8.38.0': dependencies: - chalk: 5.2.0 - loglevel: 1.7.1 + chalk: 5.3.0 + loglevel: 1.9.1 loglevel-plugin-prefix: 0.8.4 strip-ansi: 7.1.0 - dev: true - /@wdio/logger/8.38.0: - resolution: {integrity: sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==} - engines: {node: ^16.13 || >=18} + '@wdio/logger@9.0.4': dependencies: chalk: 5.3.0 - loglevel: 1.7.1 + loglevel: 1.9.1 loglevel-plugin-prefix: 0.8.4 strip-ansi: 7.1.0 - dev: true - /@wdio/protocols/8.38.0: - resolution: {integrity: sha512-7BPi7aXwUtnXZPeWJRmnCNFjyDvGrXlBmN9D4Pi58nILkyjVRQKEY9/qv/pcdyB0cvmIvw++Kl/1Lg+RxG++UA==} - dev: true + '@wdio/protocols@8.38.0': {} - /@wdio/repl/8.24.12: - resolution: {integrity: sha512-321F3sWafnlw93uRTSjEBVuvWCxTkWNDs7ektQS15drrroL3TMeFOynu4rDrIz0jXD9Vas0HCD2Tq/P0uxFLdw==} - engines: {node: ^16.13 || >=18} + '@wdio/repl@8.24.12': dependencies: - '@types/node': 20.11.30 - dev: true + '@types/node': 20.16.3 - /@wdio/reporter/8.39.0: - resolution: {integrity: sha512-XahXhmaA1okdwg4/ThHFSqy/41KywxhbtszPcTzyXB+9INaqFNHA1b1vvWs0mrD5+tTtKbg4caTcEHVJU4iv0w==} - engines: {node: ^16.13 || >=18} + '@wdio/reporter@8.39.0': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.16.3 '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 - diff: 5.0.0 - object-inspect: 1.12.0 - dev: true + diff: 5.2.0 + object-inspect: 1.13.2 - /@wdio/runner/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-hCGI+TSAyb14UtdDjswI5AAdW1CZMi6di+rDZ6ml43hQyHc6sw+74CXI8dwoJ29dcTzbg7QCJZZXV1qMn0kh2w==} - engines: {node: ^16.13 || >=18} + '@wdio/runner@8.39.1(encoding@0.1.13)(typescript@4.6.4)': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.16.3 '@wdio/config': 8.39.0 - '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/globals': 8.39.1(encoding@0.1.13)(typescript@4.6.4) '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 '@wdio/utils': 8.39.0 deepmerge-ts: 5.1.0 - expect-webdriverio: 4.12.2_typescript@4.6.2 + expect-webdriverio: 4.15.4(encoding@0.1.13)(typescript@4.6.4) gaze: 1.1.3 webdriver: 8.39.0 - webdriverio: 8.39.1_typescript@4.6.2 + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) transitivePeerDependencies: - bufferutil - devtools @@ -3529,18 +8869,15 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@wdio/sauce-service/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-tt0oNqh2FxnR4JaMTwc7LRRLO03ERZxbZjeNf5IzK8PsjQ/JFUefeRBWmqoa93FVi3YGO8gUPCVElaS7OEqkRg==} - engines: {node: ^16.13 || >=18} + '@wdio/sauce-service@8.39.1(encoding@0.1.13)(typescript@4.6.4)': dependencies: '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 '@wdio/utils': 8.39.0 ip: 2.0.1 saucelabs: 7.5.0 - webdriverio: 8.39.1_typescript@4.6.2 + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) transitivePeerDependencies: - bufferutil - devtools @@ -3548,18 +8885,15 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@wdio/shared-store-service/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-o6Hcd2BzMy8bjrNccb4Fw8hAqbd6wJ9fh24hdsp7KbRBymOMuYJajpCHzU5bFDFGr3rPL/wL0Ji671pY8gcS1g==} - engines: {node: ^16.13 || >=18} + '@wdio/shared-store-service@8.39.1(encoding@0.1.13)(typescript@4.6.4)': dependencies: '@polka/parse': 1.0.0-next.0 '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 got: 12.6.1 polka: 0.5.2 - webdriverio: 8.39.1_typescript@4.6.2 + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) transitivePeerDependencies: - bufferutil - devtools @@ -3567,392 +8901,246 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@wdio/spec-reporter/8.39.0: - resolution: {integrity: sha512-2DX0+xvP+PyeVTBd6iGCH/RU66WXaa8HL+HpsJXZu5rSkZ4+6B2Tv8JB3ZE/pOWGNpI+B4ac/NfDs1DrX9sB7A==} - engines: {node: ^16.13 || >=18} + '@wdio/spec-reporter@8.39.0': dependencies: '@wdio/reporter': 8.39.0 '@wdio/types': 8.39.0 chalk: 5.3.0 easy-table: 1.2.0 pretty-ms: 7.0.1 - dev: true - /@wdio/static-server-service/8.39.0: - resolution: {integrity: sha512-blP4dLlPcNmVqu1YtCPOQVENePVpbZNSPAGixLRAe+db9gGLVZDD1c8TcUSabJ0yRUICpKlQ2otH/AHAib/+4w==} - engines: {node: ^16.13 || >=18} + '@wdio/static-server-service@8.39.0': dependencies: '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 - express: 4.17.1 + express: 4.19.2 morgan: 1.10.0 - dev: true - /@wdio/types/8.39.0: - resolution: {integrity: sha512-86lcYROTapOJuFd9ouomFDfzDnv3Kn+jE0RmqfvN9frZAeLVJ5IKjX9M6HjplsyTZhjGO1uCaehmzx+HJus33Q==} - engines: {node: ^16.13 || >=18} + '@wdio/types@8.39.0': dependencies: - '@types/node': 20.11.30 - dev: true + '@types/node': 20.16.3 - /@wdio/utils/8.39.0: - resolution: {integrity: sha512-jY+n6jlGeK+9Tx8T659PKLwMQTGpLW5H78CSEWgZLbjbVSr2LfGR8Lx0CRktNXxAtqEVZPj16Pi74OtAhvhE6Q==} - engines: {node: ^16.13 || >=18} + '@wdio/utils@8.39.0': dependencies: - '@puppeteer/browsers': 1.7.1 + '@puppeteer/browsers': 1.9.1 '@wdio/logger': 8.38.0 '@wdio/types': 8.39.0 decamelize: 6.0.0 deepmerge-ts: 5.1.0 - edgedriver: 5.6.0 - geckodriver: 4.3.3 - get-port: 7.0.0 - import-meta-resolve: 4.0.0 - locate-app: 2.1.0 - safaridriver: 0.1.0 + edgedriver: 5.6.1 + geckodriver: 4.4.4 + get-port: 7.1.0 + import-meta-resolve: 4.1.0 + locate-app: 2.4.37 + safaridriver: 0.1.2 split2: 4.2.0 - wait-port: 1.0.4 + wait-port: 1.1.0 transitivePeerDependencies: - supports-color - dev: true - /@wessberg/stringutil/1.0.19: - resolution: {integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==} - engines: {node: '>=8.0.0'} - dev: true + '@wessberg/stringutil@1.0.19': {} - /@zip.js/zip.js/2.7.47: - resolution: {integrity: sha512-jmtJMA3/Jl4rMzo/DZ79s6g0CJ1AZcNAO6emTy/vHfIKAB/iiFY7PLs6KmbRTJ+F8GnK2eCLnjQfCCneRxXgzg==} - engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} - dev: true + '@zip.js/zip.js@2.7.52': {} - /abab/2.0.5: - resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} - dev: true + abab@2.0.6: {} - /abbrev/1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: true + abbrev@1.1.1: {} - /abort-controller/3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - dev: true - /accepts/1.3.7: - resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} - engines: {node: '>= 0.6'} + accepts@1.3.8: dependencies: - mime-types: 2.1.27 - negotiator: 0.6.2 - dev: true + mime-types: 2.1.35 + negotiator: 0.6.3 - /acorn-globals/6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + acorn-globals@6.0.0: dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 - dev: true - /acorn-jsx/5.3.1_acorn@8.7.0: - resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.12.1): dependencies: - acorn: 8.7.0 - dev: true + acorn: 8.12.1 - /acorn-walk/7.1.1: - resolution: {integrity: sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==} - engines: {node: '>=0.4.0'} - dev: true + acorn-walk@7.1.1: {} - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - dev: true + acorn-walk@7.2.0: {} - /acorn-walk/8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.1 - /acorn/7.3.1: - resolution: {integrity: sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@7.3.1: {} - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@7.4.1: {} - /acorn/8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@8.12.1: {} - /agent-base/6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + agent-base@6.0.2: dependencies: - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true - /agent-base/7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} + agent-base@7.1.1: dependencies: - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true - /agentkeepalive/4.2.1: - resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} - engines: {node: '>= 8.0.0'} + agentkeepalive@4.5.0: dependencies: - debug: 4.3.4 - depd: 1.1.2 humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: true - /aggregate-error/3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: true - /aggregate-error/4.0.0: - resolution: {integrity: sha512-8DGp7zUt1E9k0NE2q4jlXHk+V3ORErmwolEdRz9iV+LKJ40WhMHh92cxAvhqV2I+zEn/gotIoqoMs0NjF3xofg==} - engines: {node: '>=12'} + aggregate-error@4.0.1: dependencies: - clean-stack: 4.1.0 + clean-stack: 4.2.0 indent-string: 5.0.0 - dev: true - /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 - uri-js: 4.4.0 - dev: true + uri-js: 4.4.1 - /ansi-align/3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-align@3.0.1: dependencies: string-width: 4.2.3 - dev: true - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - dev: true - /ansi-regex/2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: true + ansi-regex@2.1.1: {} - /ansi-regex/5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true + ansi-regex@5.0.1: {} - /ansi-regex/6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true + ansi-regex@6.0.1: {} - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - dev: true - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - dev: true - /ansi-styles/5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true + ansi-styles@5.2.0: {} - /ansi-styles/6.1.0: - resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} - engines: {node: '>=12'} - dev: true + ansi-styles@6.2.1: {} - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true - /aproba/1.2.0: - resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} - dev: true + aproba@1.2.0: {} - /archiver-utils/5.0.2: - resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} - engines: {node: '>= 14'} + archiver-utils@5.0.2: dependencies: - glob: 10.3.1 - graceful-fs: 4.2.9 + glob: 10.4.5 + graceful-fs: 4.2.11 is-stream: 2.0.1 - lazystream: 1.0.0 + lazystream: 1.0.1 lodash: 4.17.21 normalize-path: 3.0.0 readable-stream: 4.5.2 - dev: true - /archiver/7.0.1: - resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} - engines: {node: '>= 14'} + archiver@7.0.1: dependencies: archiver-utils: 5.0.2 - async: 3.2.4 + async: 3.2.6 buffer-crc32: 1.0.0 readable-stream: 4.5.2 readdir-glob: 1.1.3 - tar-stream: 3.1.6 + tar-stream: 3.1.7 zip-stream: 6.0.1 - dev: true - /are-we-there-yet/1.1.7: - resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} + are-we-there-yet@1.1.7: dependencies: delegates: 1.0.0 - readable-stream: 2.3.7 - dev: true + readable-stream: 2.3.8 - /arg/4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + arg@4.1.3: {} - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - dev: true - /argparse/2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true + argparse@2.0.1: {} - /aria-query/5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + aria-query@5.1.3: dependencies: deep-equal: 2.2.3 - dev: true - /array-buffer-byte-length/1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + aria-query@5.3.0: dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 - dev: true + dequal: 2.0.3 - /array-find-index/1.0.2: - resolution: {integrity: sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=} - engines: {node: '>=0.10.0'} - dev: true + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 - /array-flatten/1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true + array-find-index@1.0.2: {} - /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true + array-flatten@1.1.1: {} - /arrgv/1.0.2: - resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==} - engines: {node: '>=8.0.0'} - dev: true + array-union@2.1.0: {} - /arrify/3.0.0: - resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} - engines: {node: '>=12'} - dev: true + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + + arrgv@1.0.2: {} + + arrify@3.0.0: {} - /asn1/0.2.4: - resolution: {integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==} + asn1@0.2.6: dependencies: safer-buffer: 2.1.2 - dev: true - /assert-plus/1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - dev: true + assert-plus@1.0.0: {} - /ast-types/0.13.4: - resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} - engines: {node: '>=4'} + ast-types@0.13.4: dependencies: - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /async-exit-hook/2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} - dev: true + async-exit-hook@2.0.1: {} - /async/3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: true + async@3.2.6: {} - /asynckit/0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true + asynckit@0.4.0: {} - /ava/4.1.0: - resolution: {integrity: sha512-QD6MBWHzagAwb9vxduXzVWx6Q77DUHLxvIebSY6+enL+Ri6KzSZYj0IBOFifA26wfpJPZnWKLUh3vwx1LyVh/g==} - engines: {node: '>=12.22 <13 || >=14.17 <15 || >=16.4 <17 || >=17'} - hasBin: true - peerDependencies: - '@ava/typescript': '*' - peerDependenciesMeta: - '@ava/typescript': - optional: true + ava@4.1.0: dependencies: - acorn: 8.7.0 - acorn-walk: 8.2.0 - ansi-styles: 6.1.0 + acorn: 8.12.1 + acorn-walk: 8.3.3 + ansi-styles: 6.2.1 arrgv: 1.0.2 arrify: 3.0.0 - callsites: 4.0.0 + callsites: 4.2.0 cbor: 8.1.0 - chalk: 5.0.0 - chokidar: 3.5.3 + chalk: 5.3.0 + chokidar: 3.6.0 chunkd: 2.0.1 - ci-info: 3.3.0 + ci-info: 3.9.0 ci-parallel-vars: 1.0.1 clean-yaml-object: 0.1.0 cli-truncate: 3.1.0 @@ -3960,12 +9148,12 @@ packages: common-path-prefix: 3.0.0 concordance: 5.0.4 currently-unhandled: 0.4.1 - debug: 4.3.3 - del: 6.0.0 - emittery: 0.10.1 - figures: 4.0.0 - globby: 13.1.1 - ignore-by-default: 2.0.0 + debug: 4.3.6 + del: 6.1.1 + emittery: 0.10.2 + figures: 4.0.1 + globby: 13.2.2 + ignore-by-default: 2.1.0 indent-string: 5.0.0 is-error: 2.2.2 is-plain-object: 5.0.0 @@ -3974,409 +9162,273 @@ packages: mem: 9.0.2 ms: 2.1.3 p-event: 5.0.1 - p-map: 5.3.0 + p-map: 5.5.0 picomatch: 2.3.1 pkg-conf: 4.0.0 plur: 5.1.0 pretty-ms: 7.0.1 resolve-cwd: 3.0.0 slash: 3.0.0 - stack-utils: 2.0.5 - strip-ansi: 7.0.1 + stack-utils: 2.0.6 + strip-ansi: 7.1.0 supertap: 3.0.1 temp-dir: 2.0.0 - write-file-atomic: 4.0.1 - yargs: 17.3.1 + write-file-atomic: 4.0.2 + yargs: 17.7.2 transitivePeerDependencies: - supports-color - dev: true - /available-typed-arrays/1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 - /aws-sign2/0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: true + aws-sign2@0.7.0: {} - /aws4/1.11.0: - resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} - dev: true + aws4@1.13.2: {} - /axios/1.6.8: - resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + axios@1.7.7: dependencies: follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: true - /b4a/1.6.4: - resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} - dev: true + b4a@1.6.6: {} - /babel-jest/27.5.1_@babel+core@7.12.10: - resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.8.0 + babel-jest@27.5.1(@babel/core@7.25.2): dependencies: - '@babel/core': 7.12.10 + '@babel/core': 7.25.2 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__core': 7.1.18 + '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1_@babel+core@7.12.10 + babel-preset-jest: 27.5.1(@babel/core@7.25.2) chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-istanbul/6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.16.7 + '@babel/helper-plugin-utils': 7.24.8 '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.2 - istanbul-lib-instrument: 5.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - dev: true - - /babel-plugin-jest-hoist/27.5.1: - resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/template': 7.12.7 - '@babel/types': 7.16.8 - '@types/babel__core': 7.1.18 - '@types/babel__traverse': 7.11.0 - dev: true - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.12.10: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.12.10 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.10 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-class-properties': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.12.10 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.10 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.10 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-top-level-await': 7.12.1_@babel+core@7.12.10 - dev: true - - /babel-preset-jest/27.5.1_@babel+core@7.12.10: - resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.12.10 + babel-plugin-jest-hoist@27.5.1: + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + + babel-preset-jest@27.5.1(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.12.10 - dev: true + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) - /balanced-match/1.0.0: - resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} - dev: true + balanced-match@1.0.2: {} - /bare-events/2.2.2: - resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} - dev: true + bare-events@2.4.2: optional: true - /bare-fs/2.2.2: - resolution: {integrity: sha512-X9IqgvyB0/VA5OZJyb5ZstoN62AzD7YxVGog13kkfYWYqJYcK0kcqLZ6TrmH5qr4/8//ejVcX4x/a0UvaogXmA==} - requiresBuild: true + bare-fs@2.3.3: dependencies: - bare-events: 2.2.2 - bare-os: 2.2.1 - bare-path: 2.1.0 - streamx: 2.15.1 - dev: true + bare-events: 2.4.2 + bare-path: 2.1.3 + bare-stream: 2.2.0 optional: true - /bare-os/2.2.1: - resolution: {integrity: sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==} - dev: true + bare-os@2.4.2: optional: true - /bare-path/2.1.0: - resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==} + bare-path@2.1.3: dependencies: - bare-os: 2.2.1 - dev: true + bare-os: 2.4.2 optional: true - /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true + bare-stream@2.2.0: + dependencies: + streamx: 2.20.0 + optional: true - /basic-auth/2.0.1: - resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} - engines: {node: '>= 0.8'} + base64-js@1.5.1: {} + + basic-auth@2.0.1: dependencies: safe-buffer: 5.1.2 - dev: true - /basic-ftp/5.0.3: - resolution: {integrity: sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==} - engines: {node: '>=10.0.0'} - dev: true + basic-ftp@5.0.5: {} - /bcrypt-pbkdf/1.0.2: - resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} + bcrypt-pbkdf@1.0.2: dependencies: tweetnacl: 0.14.5 - dev: true - - /big-integer/1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} - dev: true - /binary-extensions/2.1.0: - resolution: {integrity: sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==} - engines: {node: '>=8'} - dev: true - - /binary/0.3.0: - resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} - dependencies: - buffers: 0.1.1 - chainsaw: 0.1.0 - dev: true + binary-extensions@2.3.0: {} - /bl/1.2.3: - resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + bl@1.2.3: dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 safe-buffer: 5.2.1 - dev: true - /bl/4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true - - /bluebird/3.4.7: - resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} - dev: true + readable-stream: 3.6.2 - /blueimp-md5/2.18.0: - resolution: {integrity: sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==} - dev: true + blueimp-md5@2.19.0: {} - /body-parser/1.19.0: - resolution: {integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==} - engines: {node: '>= 0.8'} + body-parser@1.20.2: dependencies: - bytes: 3.1.0 - content-type: 1.0.4 + bytes: 3.1.2 + content-type: 1.0.5 debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.7.2 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.7.0 - raw-body: 2.4.0 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 type-is: 1.6.18 - dev: true + unpipe: 1.0.0 - /boxen/5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} + boxen@5.1.2: dependencies: ansi-align: 3.0.1 - camelcase: 6.2.0 + camelcase: 6.3.0 chalk: 4.1.2 cli-boxes: 2.2.1 string-width: 4.2.3 type-fest: 0.20.2 widest-line: 3.1.0 wrap-ansi: 7.0.0 - dev: true - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: - balanced-match: 1.0.0 + balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true - /brace-expansion/2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: - balanced-match: 1.0.0 - dev: true + balanced-match: 1.0.2 - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + braces@3.0.3: dependencies: - fill-range: 7.0.1 - dev: true + fill-range: 7.1.1 - /brotli-size/4.0.0: - resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==} - engines: {node: '>= 10.16.0'} + brotli-size@4.0.0: dependencies: duplexer: 0.1.1 - dev: true - /browser-process-hrtime/1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - dev: true + browser-process-hrtime@1.0.0: {} - /browserslist-generator/1.0.65: - resolution: {integrity: sha512-2+p27BTZ0T6fGAn57IZOoGRTDqIhaHVPHWTg5ZejMA/SKaQG1ChvfOnb9sxqRwLMUGtrUXbX0QQA7H1s6oQh0A==} - engines: {node: '>=8.0.0'} + browserslist-generator@1.0.66: dependencies: - '@mdn/browser-compat-data': 4.1.4 - '@types/object-path': 0.11.1 - '@types/semver': 7.3.9 - '@types/ua-parser-js': 0.7.36 - browserslist: 4.18.1 - caniuse-lite: 1.0.30001301 - isbot: 3.3.4 + '@mdn/browser-compat-data': 4.2.1 + '@types/object-path': 0.11.4 + '@types/semver': 7.5.8 + '@types/ua-parser-js': 0.7.39 + browserslist: 4.20.2 + caniuse-lite: 1.0.30001655 + isbot: 3.4.5 object-path: 0.11.8 - semver: 7.3.5 - ua-parser-js: 1.0.2 - dev: true + semver: 7.6.3 + ua-parser-js: 1.0.38 - /browserslist/4.18.1: - resolution: {integrity: sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.20.2: dependencies: - caniuse-lite: 1.0.30001301 - electron-to-chromium: 1.4.51 - escalade: 3.1.1 - node-releases: 2.0.1 - picocolors: 1.0.0 - dev: true + caniuse-lite: 1.0.30001655 + electron-to-chromium: 1.5.13 + escalade: 3.2.0 + node-releases: 2.0.18 + picocolors: 1.1.0 - /browserslist/4.19.1: - resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001301 - electron-to-chromium: 1.4.51 - escalade: 3.1.1 - node-releases: 2.0.1 - picocolors: 1.0.0 - dev: true + caniuse-lite: 1.0.30001655 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) - /bs-logger/0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 - dev: true - /bser/2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + bser@2.1.1: dependencies: node-int64: 0.4.0 - dev: true - /buffer-alloc-unsafe/1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} - dev: true + buffer-alloc-unsafe@1.1.0: {} - /buffer-alloc/1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + buffer-alloc@1.2.0: dependencies: buffer-alloc-unsafe: 1.1.0 buffer-fill: 1.0.0 - dev: true - /buffer-crc32/0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true - - /buffer-crc32/1.0.0: - resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} - engines: {node: '>=8.0.0'} - dev: true + buffer-crc32@0.2.13: {} - /buffer-fill/1.0.0: - resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} - dev: true + buffer-crc32@1.0.0: {} - /buffer-from/1.1.1: - resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} - dev: true + buffer-fill@1.0.0: {} - /buffer-indexof-polyfill/1.0.2: - resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} - engines: {node: '>=0.10'} - dev: true + buffer-from@1.1.2: {} - /buffer/5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /buffer/6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /buffers/0.1.1: - resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} - engines: {node: '>=0.2.0'} - dev: true + buildcheck@0.0.6: + optional: true - /builtin-modules/3.2.0: - resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} - engines: {node: '>=6'} - dev: true + builtin-modules@3.3.0: {} - /builtins/1.0.3: - resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} - dev: true + builtins@1.0.3: {} - /bytes/3.1.0: - resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} - engines: {node: '>= 0.8'} - dev: true + bytes@3.1.2: {} - /cacache/15.3.0: - resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} - engines: {node: '>= 10'} + cacache@15.3.0: dependencies: '@npmcli/fs': 1.1.1 '@npmcli/move-file': 1.1.2 chownr: 2.0.0 fs-minipass: 2.1.0 - glob: 7.2.0 + glob: 7.2.3 infer-owner: 1.0.4 lru-cache: 6.0.0 - minipass: 3.3.4 + minipass: 3.3.6 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -4385,149 +9437,82 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 8.0.1 - tar: 6.1.11 + tar: 6.2.1 unique-filename: 1.1.1 - dev: true - /cacheable-lookup/5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} + cacheable-lookup@5.0.4: {} - /cacheable-lookup/7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} - dev: true + cacheable-lookup@7.0.0: {} - /cacheable-request/10.2.12: - resolution: {integrity: sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==} - engines: {node: '>=14.16'} + cacheable-request@10.2.14: dependencies: - '@types/http-cache-semantics': 4.0.1 + '@types/http-cache-semantics': 4.0.4 get-stream: 6.0.1 http-cache-semantics: 4.1.1 - keyv: 4.5.2 + keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.0 + normalize-url: 8.0.1 responselike: 3.0.0 - dev: true - /cacheable-request/7.0.2: - resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} - engines: {node: '>=8'} + cacheable-request@7.0.4: dependencies: - clone-response: 1.0.2 + clone-response: 1.0.3 get-stream: 5.2.0 http-cache-semantics: 4.1.1 - keyv: 4.5.2 + keyv: 4.5.4 lowercase-keys: 2.0.0 normalize-url: 6.1.0 - responselike: 2.0.0 - - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.0.2 - dev: true + responselike: 2.0.1 - /call-bind/1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind@1.0.7: dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 - dev: true + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + callsites@3.1.0: {} - /callsites/4.0.0: - resolution: {integrity: sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==} - engines: {node: '>=12.20'} - dev: true + callsites@4.2.0: {} - /camel-case/4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true + camelcase@5.3.1: {} - /camelcase/6.2.0: - resolution: {integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==} - engines: {node: '>=10'} - dev: true + camelcase@6.3.0: {} - /caniuse-lite/1.0.30001301: - resolution: {integrity: sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==} - dev: true + caniuse-lite@1.0.30001655: {} - /capital-case/1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + capital-case@1.0.4: dependencies: no-case: 3.0.4 - tslib: 2.3.1 + tslib: 2.7.0 upper-case-first: 2.0.2 - dev: true - /caseless/0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: true + caseless@0.12.0: {} - /cbor/8.1.0: - resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} - engines: {node: '>=12.19'} + cbor@8.1.0: dependencies: nofilter: 3.1.0 - dev: true - - /chainsaw/0.1.0: - resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} - dependencies: - traverse: 0.3.9 - dev: true - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true - /chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true - - /chalk/5.0.0: - resolution: {integrity: sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - - /chalk/5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /chalk/5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true + chalk@5.3.0: {} - /change-case/4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + change-case@4.1.2: dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -4540,55 +9525,35 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /char-regex/1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true + char-regex@1.0.2: {} - /chardet/0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true + chardet@0.7.0: {} - /charenc/0.0.2: - resolution: {integrity: sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=} - dev: false + charenc@0.0.2: {} - /chokidar/3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@3.6.0: dependencies: - anymatch: 3.1.2 - braces: 3.0.2 + anymatch: 3.1.3 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 - dev: true + fsevents: 2.3.3 - /chownr/1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: true + chownr@1.1.4: {} - /chownr/2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: true + chownr@2.0.0: {} - /chromedriver/126.0.5: - resolution: {integrity: sha512-xXVxwxd8CJ6yg2KEvFqLQi7V0RvF78xFnLB+xo9g9MoJNHMQccD7b4OWaxtKDy5RXrMgQ6Jb6vUN3SjTYXHLEQ==} - engines: {node: '>=18'} - hasBin: true - requiresBuild: true + chromedriver@126.0.5: dependencies: '@testim/chrome-version': 1.1.4 - axios: 1.6.8 - compare-versions: 6.1.0 + axios: 1.7.7 + compare-versions: 6.1.1 extract-zip: 2.0.1 proxy-agent: 6.4.0 proxy-from-env: 1.1.0 @@ -4596,236 +9561,129 @@ packages: transitivePeerDependencies: - debug - supports-color - dev: true - /chromium-bidi/0.4.16_devtools-protocol@0.0.1147663: - resolution: {integrity: sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==} - peerDependencies: - devtools-protocol: '*' + chromium-bidi@0.4.16(devtools-protocol@0.0.1147663): dependencies: devtools-protocol: 0.0.1147663 mitt: 3.0.0 - dev: true - /chunkd/2.0.1: - resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} - dev: true + chunkd@2.0.1: {} - /ci-info/2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: true + ci-info@2.0.0: {} - /ci-info/3.3.0: - resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} - dev: true + ci-info@3.9.0: {} - /ci-parallel-vars/1.0.1: - resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} - dev: true + ci-parallel-vars@1.0.1: {} - /cjs-module-lexer/1.2.2: - resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} - dev: true + cjs-module-lexer@1.4.0: {} - /clean-stack/2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true + clean-stack@2.2.0: {} - /clean-stack/4.1.0: - resolution: {integrity: sha512-dxXQYI7mfQVcaF12s6sjNFoZ6ZPDQuBBLp3QJ5156k9EvUFClUoZ11fo8HnLQO241DDVntHEug8MOuFO5PSfRg==} - engines: {node: '>=12'} + clean-stack@4.2.0: dependencies: escape-string-regexp: 5.0.0 - dev: true - /clean-yaml-object/0.1.0: - resolution: {integrity: sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=} - engines: {node: '>=0.10.0'} - dev: true + clean-yaml-object@0.1.0: {} - /cli-boxes/2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: true + cli-boxes@2.2.1: {} - /cli-cursor/3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - dev: true - /cli-spinners/2.9.1: - resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} - engines: {node: '>=6'} - dev: true + cli-spinners@2.9.2: {} - /cli-truncate/3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 - string-width: 5.1.0 - dev: true + string-width: 5.1.2 - /cli-width/4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - dev: true + cli-width@4.1.0: {} - /cliui/7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@7.0.4: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /cliui/8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /clone-buffer/1.0.0: - resolution: {integrity: sha1-4+JbIHrE5wGvch4staFnksrD3Fg=} - engines: {node: '>= 0.10'} - dev: true + clone-buffer@1.0.0: {} - /clone-response/1.0.2: - resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} + clone-response@1.0.3: dependencies: mimic-response: 1.0.1 - /clone-stats/1.0.0: - resolution: {integrity: sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=} - dev: true + clone-stats@1.0.0: {} - /clone/1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true + clone@1.0.4: {} - /clone/2.1.2: - resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=} - engines: {node: '>=0.8'} - dev: true + clone@2.1.2: {} - /cloneable-readable/1.1.3: - resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} + cloneable-readable@1.1.3: dependencies: inherits: 2.0.4 process-nextick-args: 2.0.1 - readable-stream: 2.3.7 - dev: true + readable-stream: 2.3.8 - /co/4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true + co@4.6.0: {} - /code-excerpt/4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + code-excerpt@4.0.0: dependencies: convert-to-spaces: 2.0.1 - dev: true - /code-point-at/1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} - dev: true + code-point-at@1.1.0: {} - /collect-v8-coverage/1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true + collect-v8-coverage@1.0.2: {} - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - dev: true - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - dev: true - /color-name/1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true + color-name@1.1.3: {} - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true + color-name@1.1.4: {} - /colors/1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - dev: true + colors@1.4.0: {} - /combined-stream/1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - dev: true - /commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true + commander@2.20.3: {} - /commander/9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true + commander@9.5.0: {} - /commenting/1.1.0: - resolution: {integrity: sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==} - dev: true + commenting@1.1.0: {} - /common-path-prefix/3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - dev: true + common-path-prefix@3.0.0: {} - /commondir/1.0.1: - resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} - dev: true + commondir@1.0.1: {} - /compare-versions/6.1.0: - resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} - dev: true + compare-versions@6.1.1: {} - /compatfactory/0.0.12_typescript@4.6.2: - resolution: {integrity: sha512-DD5S1s2mIoVIpYfhCqNZPbOFlt9JDLkXc4d8fAZaeWWIsl7w3bmVS0HNlUkU2SB6iZOdXOjYZgeJZClmL1xnRg==} - engines: {node: '>=10.0.0'} - peerDependencies: - typescript: '>=3.x || >= 4.x' + compatfactory@0.0.13(typescript@4.6.4): dependencies: - helpertypes: 0.0.17 - typescript: 4.6.2 - dev: true + helpertypes: 0.0.18 + typescript: 4.6.4 - /compress-commons/6.0.2: - resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} - engines: {node: '>= 14'} + compress-commons@6.0.2: dependencies: - crc-32: 1.2.0 + crc-32: 1.2.2 crc32-stream: 6.0.0 is-stream: 2.0.1 normalize-path: 3.0.0 readable-stream: 4.5.2 - dev: true - /compressing/1.10.0: - resolution: {integrity: sha512-k2vpbZLaJoHe9euyUZjYYE8vOrbR19aU3HcWIYw5EBXiUs34ygfDVnXU+ubI41JXMriHutnoiu0ZFdwCkH6jPA==} - engines: {node: '>= 4.0.0'} + compressing@1.10.1: dependencies: '@eggjs/yauzl': 2.11.0 flushwritable: 1.0.0 @@ -4836,804 +9694,520 @@ packages: streamifier: 0.1.1 tar-stream: 1.6.2 yazl: 2.5.1 - dev: true - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true + concat-map@0.0.1: {} - /concordance/5.0.4: - resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} - engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + concordance@5.0.4: dependencies: date-time: 3.1.0 esutils: 2.0.3 - fast-diff: 1.2.0 + fast-diff: 1.3.0 js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.3.5 + semver: 7.6.3 well-known-symbols: 2.0.0 - dev: true - /console-control-strings/1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - dev: true + console-control-strings@1.1.0: {} - /constant-case/3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + constant-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.3.1 + tslib: 2.7.0 upper-case: 2.0.2 - dev: true - /content-disposition/0.5.3: - resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} - engines: {node: '>= 0.6'} + content-disposition@0.5.4: dependencies: - safe-buffer: 5.1.2 - dev: true + safe-buffer: 5.2.1 - /content-type/1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - dev: true + content-type@1.0.5: {} - /convert-source-map/1.7.0: - resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==} - dependencies: - safe-buffer: 5.1.2 - dev: true + convert-source-map@1.9.0: {} - /convert-to-spaces/2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + convert-source-map@2.0.0: {} - /cookie-signature/1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true + convert-to-spaces@2.0.1: {} - /cookie/0.4.0: - resolution: {integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==} - engines: {node: '>= 0.6'} - dev: true + cookie-signature@1.0.6: {} - /core-util-is/1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true + cookie@0.6.0: {} - /cpu-features/0.0.2: - resolution: {integrity: sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==} - engines: {node: '>=8.0.0'} - requiresBuild: true + core-util-is@1.0.2: {} + + core-util-is@1.0.3: {} + + cpu-features@0.0.10: dependencies: - nan: 2.15.0 - dev: true + buildcheck: 0.0.6 + nan: 2.20.0 optional: true - /crc-32/1.2.0: - resolution: {integrity: sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==} - engines: {node: '>=0.8'} - hasBin: true - dependencies: - exit-on-epipe: 1.0.1 - printj: 1.1.2 - dev: true + crc-32@1.2.2: {} - /crc32-stream/6.0.0: - resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} - engines: {node: '>= 14'} + crc32-stream@6.0.0: dependencies: - crc-32: 1.2.0 + crc-32: 1.2.2 readable-stream: 4.5.2 - dev: true - /create-require/1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + create-require@1.1.1: {} - /cross-fetch/4.0.0: - resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} + cross-fetch@4.0.0(encoding@0.1.13): dependencies: - node-fetch: 2.6.12 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding - dev: true - /cross-spawn/6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} + cross-spawn@6.0.5: dependencies: nice-try: 1.0.5 path-key: 2.0.1 - semver: 5.7.1 + semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 - dev: true - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true - /crosspath/1.0.0: - resolution: {integrity: sha512-mpjkSErNO6vioL/Cde2aF4UBysPFEMyn+1AN1t7Oc4yqvzSRWe8iBte4P8BHyjo64OmC+ZBxwjIqmpSpIWiQ7Q==} - engines: {node: '>=10.0.0'} + crosspath@1.0.0: dependencies: - '@types/node': 16.11.21 - dev: true + '@types/node': 16.18.106 - /crypt/0.0.2: - resolution: {integrity: sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=} - dev: false + crypt@0.0.2: {} - /css-shorthand-properties/1.1.1: - resolution: {integrity: sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==} - dev: true + css-shorthand-properties@1.1.1: {} - /css-value/0.0.1: - resolution: {integrity: sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==} - dev: true + css-value@0.0.1: {} - /cssom/0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - dev: true + cssom@0.3.8: {} - /cssom/0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} - dev: true + cssom@0.4.4: {} - /cssstyle/2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} + cssstyle@2.3.0: dependencies: cssom: 0.3.8 - dev: true - /currently-unhandled/0.4.1: - resolution: {integrity: sha1-mI3zP+qxke95mmE2nddsF635V+o=} - engines: {node: '>=0.10.0'} + currently-unhandled@0.4.1: dependencies: array-find-index: 1.0.2 - dev: true - /dashdash/1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} + dashdash@1.14.1: dependencies: assert-plus: 1.0.0 - dev: true - /data-uri-to-buffer/4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: true + data-uri-to-buffer@4.0.1: {} - /data-uri-to-buffer/6.0.1: - resolution: {integrity: sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==} - engines: {node: '>= 14'} - dev: true + data-uri-to-buffer@6.0.2: {} - /data-urls/2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} + data-urls@2.0.0: dependencies: - abab: 2.0.5 + abab: 2.0.6 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 - dev: true - /date-time/3.1.0: - resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} - engines: {node: '>=6'} + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + date-time@3.1.0: dependencies: time-zone: 1.0.0 - dev: true - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + debug@2.6.9: dependencies: ms: 2.0.0 - dev: true - /debug/4.3.1: - resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.1: dependencies: ms: 2.1.2 - dev: true - /debug/4.3.3: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4: dependencies: ms: 2.1.2 - dev: true - /debug/4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.6: dependencies: ms: 2.1.2 - dev: true - /decamelize/6.0.0: - resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + decamelize@6.0.0: {} - /decimal.js/10.2.1: - resolution: {integrity: sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==} - dev: true + decimal.js@10.4.3: {} - /decode-uri-component/0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: true + decode-uri-component@0.2.2: {} - /decompress-response/6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 - /dedent/0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dev: true + dedent@0.7.0: {} - /deep-equal/2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} + deep-equal@2.2.3: dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 isarray: 2.0.5 - object-is: 1.1.5 + object-is: 1.1.6 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - side-channel: 1.0.4 + regexp.prototype.flags: 1.5.2 + side-channel: 1.0.6 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.13 - dev: true + which-collection: 1.0.2 + which-typed-array: 1.1.15 - /deep-is/0.1.3: - resolution: {integrity: sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==} - dev: true + deep-is@0.1.4: {} - /deepmerge-ts/5.1.0: - resolution: {integrity: sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==} - engines: {node: '>=16.0.0'} - dev: true + deepmerge-ts@5.1.0: {} - /deepmerge/4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} - engines: {node: '>=0.10.0'} - dev: true + deepmerge@4.3.1: {} - /defaults/1.0.3: - resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} + defaults@1.0.4: dependencies: clone: 1.0.4 - dev: true - /defer-to-connect/2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} + defer-to-connect@2.0.1: {} - /define-data-property/1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} + define-data-property@1.1.4: dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - dev: true - - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} - engines: {node: '>= 0.4'} - dependencies: - object-keys: 1.1.1 - dev: true - /define-properties/1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 - dev: true - /degenerator/5.0.1: - resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} - engines: {node: '>= 14'} + degenerator@5.0.1: dependencies: ast-types: 0.13.4 escodegen: 2.1.0 esprima: 4.0.1 - dev: true - /del/6.0.0: - resolution: {integrity: sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==} - engines: {node: '>=10'} + del@6.1.1: dependencies: globby: 11.1.0 - graceful-fs: 4.2.4 + graceful-fs: 4.2.11 is-glob: 4.0.3 is-path-cwd: 2.2.0 - is-path-inside: 3.0.2 + is-path-inside: 3.0.3 p-map: 4.0.0 rimraf: 3.0.2 slash: 3.0.0 - dev: true - /delayed-stream/1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true + delayed-stream@1.0.0: {} - /delegates/1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: true + delegates@1.0.0: {} - /depd/1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - dev: true + depd@2.0.0: {} - /depd/2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: true + dequal@2.0.3: {} - /destroy/1.0.4: - resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} - dev: true + destroy@1.2.0: {} - /detect-newline/3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true + detect-newline@3.1.0: {} - /devtools-protocol/0.0.1147663: - resolution: {integrity: sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==} - dev: true + devtools-protocol@0.0.1147663: {} - /devtools-protocol/0.0.1302984: - resolution: {integrity: sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==} - dev: true + devtools-protocol@0.0.1302984: {} - /diff-sequences/27.5.1: - resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true + diff-sequences@27.5.1: {} - /diff-sequences/29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /diff/4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true + diff@4.0.2: {} - /diff/5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dev: true + diff@5.2.0: {} - /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dev: true - /docker-modem/3.0.3: - resolution: {integrity: sha512-Tgkn2a+yiNP9FoZgMa/D9Wk+D2Db///0KOyKSYZRJa8w4+DzKyzQMkczKSdR/adQ0x46BOpeNkoyEOKjPhCzjw==} - engines: {node: '>= 8.0'} + docker-modem@3.0.8: dependencies: - debug: 4.3.4 - readable-stream: 3.6.0 + debug: 4.3.6 + readable-stream: 3.6.2 split-ca: 1.0.1 - ssh2: 1.5.0 + ssh2: 1.15.0 transitivePeerDependencies: - supports-color - dev: true - /dockerode/3.3.1: - resolution: {integrity: sha512-AS2mr8Lp122aa5n6d99HkuTNdRV1wkkhHwBdcnY6V0+28D3DSYwhxAk85/mM9XwD3RMliTxyr63iuvn5ZblFYQ==} - engines: {node: '>= 8.0'} + dockerode@3.3.5: dependencies: - docker-modem: 3.0.3 + '@balena/dockerignore': 1.0.2 + docker-modem: 3.0.8 tar-fs: 2.0.1 transitivePeerDependencies: - supports-color - dev: true - /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /dom-accessibility-api/0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dev: true + dom-accessibility-api@0.5.16: {} - /domexception/2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} + domexception@2.0.1: dependencies: webidl-conversions: 5.0.0 - dev: true - /dot-case/3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.3.1 - dev: true - - /dotenv/16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} - engines: {node: '>=12'} - dev: true + tslib: 2.7.0 - /duplexer/0.1.1: - resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} - dev: true + dotenv@16.4.5: {} - /duplexer/0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true + duplexer@0.1.1: {} - /duplexer2/0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - dependencies: - readable-stream: 2.3.7 - dev: true + duplexer@0.1.2: {} - /eastasianwidth/0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true + eastasianwidth@0.2.0: {} - /easy-table/1.2.0: - resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==} + easy-table@1.2.0: dependencies: ansi-regex: 5.0.1 optionalDependencies: wcwidth: 1.0.1 - dev: true - /ecc-jsbn/0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + ecc-jsbn@0.1.2: dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 - dev: true - /edge-paths/3.0.5: - resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} - engines: {node: '>=14.0.0'} + edge-paths@3.0.5: dependencies: - '@types/which': 2.0.1 + '@types/which': 2.0.2 which: 2.0.2 - dev: true - - /edgedriver/5.3.8: - resolution: {integrity: sha512-FWLPDuwJDeGGgtmlqTXb4lQi/HV9yylLo1F9O1g9TLqSemA5T6xH28seUIfyleVirLFtDQyKNUxKsMhMT4IfnA==} - hasBin: true - requiresBuild: true - dependencies: - '@wdio/logger': 8.16.17 - decamelize: 6.0.0 - edge-paths: 3.0.5 - node-fetch: 3.3.2 - unzipper: 0.10.14 - which: 4.0.0 - dev: true - /edgedriver/5.6.0: - resolution: {integrity: sha512-IeJXEczG+DNYBIa9gFgVYTqrawlxmc9SUqUsWU2E98jOsO/amA7wzabKOS8Bwgr/3xWoyXCJ6yGFrbFKrilyyQ==} - hasBin: true - requiresBuild: true + edgedriver@5.6.1: dependencies: '@wdio/logger': 8.38.0 - '@zip.js/zip.js': 2.7.47 + '@zip.js/zip.js': 2.7.52 decamelize: 6.0.0 edge-paths: 3.0.5 + fast-xml-parser: 4.5.0 node-fetch: 3.3.2 which: 4.0.0 - dev: true - /ee-first/1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true + ee-first@1.1.1: {} - /ejs/3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} - engines: {node: '>=0.10.0'} - hasBin: true + ejs@3.1.10: dependencies: - jake: 10.8.5 - dev: true + jake: 10.9.2 - /electron-to-chromium/1.4.51: - resolution: {integrity: sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ==} - dev: true + electron-to-chromium@1.5.13: {} - /emittery/0.10.1: - resolution: {integrity: sha512-OBSS9uVXbpgqEGq2V5VnpfCu9vSnfiR9eYVJmxFYToNIcWRHkM4BAFbJe/PWjf/pQdEL7OPxd2jOW/bJiyX7gg==} - engines: {node: '>=12'} - dev: true + emittery@0.10.2: {} - /emittery/0.8.1: - resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} - engines: {node: '>=10'} - dev: true + emittery@0.8.1: {} - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true + emoji-regex@8.0.0: {} - /emoji-regex/9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true + emoji-regex@9.2.2: {} - /encodeurl/1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true + encodeurl@1.0.2: {} - /encoding/0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 - dev: true optional: true - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - /enhance-visitors/1.0.0: - resolution: {integrity: sha1-qpRdBdpGVnKh69OP7i7T2oUY6Vo=} - engines: {node: '>=4.0.0'} + enhance-visitors@1.0.0: dependencies: lodash: 4.17.21 - dev: true - /env-paths/2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: true + env-paths@2.2.1: {} - /err-code/2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: true + err-code@2.0.3: {} - /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - dev: true - /es-abstract/1.18.0-next.2: - resolution: {integrity: sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.0.2 - has: 1.0.3 - has-symbols: 1.0.1 - is-callable: 1.2.3 - is-negative-zero: 2.0.1 - is-regex: 1.1.2 - object-inspect: 1.9.0 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.2 object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.3 - string.prototype.trimstart: 1.0.3 - dev: true + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 - /es-get-iterator/1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + es-define-property@1.0.0: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 - dev: true - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-object-atoms@1.0.0: dependencies: - is-callable: 1.2.3 - is-date-object: 1.0.2 - is-symbol: 1.0.3 - dev: true + es-errors: 1.3.0 - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - /escape-html/1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 - /escape-string-regexp/1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true + escalade@3.2.0: {} - /escape-string-regexp/2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true + escape-html@1.0.3: {} - /escape-string-regexp/4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true + escape-string-regexp@1.0.5: {} - /escape-string-regexp/5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: true + escape-string-regexp@2.0.0: {} - /escodegen/2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 5.2.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 - dev: true + escape-string-regexp@4.0.0: {} - /escodegen/2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true + escape-string-regexp@5.0.0: {} + + escodegen@2.1.0: dependencies: esprima: 4.0.1 - estraverse: 5.2.0 + estraverse: 5.3.0 esutils: 2.0.3 optionalDependencies: source-map: 0.6.1 - dev: true - /eslint-plugin-ava/13.2.0_eslint@8.11.0: - resolution: {integrity: sha512-i5B5izsEdERKQLruk1nIWzTTE7C26/ju8qQf7JeyRv32XT2lRMW0zMFZNhIrEf5/5VvpSz2rqrV7UcjClGbKsw==} - engines: {node: '>=12.22 <13 || >=14.17 <15 || >=16.4'} - peerDependencies: - eslint: '>=7.22.0' + eslint-plugin-ava@13.2.0(eslint@8.11.0): dependencies: enhance-visitors: 1.0.0 eslint: 8.11.0 - eslint-utils: 3.0.0_eslint@8.11.0 - espree: 9.3.0 + eslint-utils: 3.0.0(eslint@8.11.0) + espree: 9.6.1 espurify: 2.1.1 import-modules: 2.1.0 micro-spelling-correcter: 1.1.1 pkg-dir: 5.0.0 resolve-from: 5.0.0 - dev: true - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - dev: true - /eslint-scope/7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 - estraverse: 5.2.0 - dev: true + estraverse: 5.3.0 - /eslint-utils/3.0.0_eslint@8.11.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' + eslint-utils@3.0.0(eslint@8.11.0): dependencies: eslint: 8.11.0 - eslint-visitor-keys: 2.0.0 - dev: true + eslint-visitor-keys: 2.1.0 - /eslint-visitor-keys/2.0.0: - resolution: {integrity: sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys/3.2.0: - resolution: {integrity: sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@2.1.0: {} - /eslint-visitor-keys/3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint/8.11.0: - resolution: {integrity: sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.11.0: dependencies: - '@eslint/eslintrc': 1.2.1 - '@humanwhocodes/config-array': 0.9.2 + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.9.5 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.6 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.11.0 - eslint-visitor-keys: 3.3.0 - espree: 9.3.1 - esquery: 1.4.0 + eslint-scope: 7.2.2 + eslint-utils: 3.0.0(eslint@8.11.0) + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.12.0 - ignore: 5.2.0 + globals: 13.24.0 + ignore: 5.3.2 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -5641,158 +10215,91 @@ packages: json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.0.4 + minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 + optionator: 0.9.4 regexpp: 3.2.0 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 - v8-compile-cache: 2.2.0 + v8-compile-cache: 2.4.0 transitivePeerDependencies: - supports-color - dev: true - - /espree/9.3.0: - resolution: {integrity: sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.7.0 - acorn-jsx: 5.3.1_acorn@8.7.0 - eslint-visitor-keys: 3.2.0 - dev: true - /espree/9.3.1: - resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: - acorn: 8.7.0 - acorn-jsx: 5.3.1_acorn@8.7.0 - eslint-visitor-keys: 3.3.0 - dev: true + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 3.4.3 - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true + esprima@4.0.1: {} - /espurify/2.1.1: - resolution: {integrity: sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==} - dev: true + espurify@2.1.1: {} - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} + esquery@1.6.0: dependencies: - estraverse: 5.2.0 - dev: true + estraverse: 5.3.0 - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: - estraverse: 5.2.0 - dev: true + estraverse: 5.3.0 - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true + estraverse@4.3.0: {} - /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /estree-walker/0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true + estree-walker@0.6.1: {} - /estree-walker/1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true + estree-walker@1.0.1: {} - /estree-walker/2.0.1: - resolution: {integrity: sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==} - dev: true + estree-walker@2.0.1: {} - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true + estree-walker@2.0.2: {} - /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /etag/1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: true + etag@1.8.1: {} - /event-target-shim/5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true + event-target-shim@5.0.1: {} - /events/3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true + events@3.3.0: {} - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 human-signals: 2.1.0 - is-stream: 2.0.0 + is-stream: 2.0.1 merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa/8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@8.0.1: dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true - /exit-on-epipe/1.0.1: - resolution: {integrity: sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==} - engines: {node: '>=0.8'} - dev: true - - /exit/0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true + exit@0.1.2: {} - /expect-webdriverio/4.12.2_typescript@4.6.2: - resolution: {integrity: sha512-tmfOzPWTWzGa0678Ru5qmGX1g8v3AtDdK4Ko64WV4l3jSrcudMTxCOyeY0LWSN30923BBqZaWJwlx/u+T6UNBw==} - engines: {node: '>=16 || >=18 || >=20'} + expect-webdriverio@4.15.4(encoding@0.1.13)(typescript@4.6.4): dependencies: - '@vitest/snapshot': 1.4.0 + '@vitest/snapshot': 2.0.5 expect: 29.7.0 jest-matcher-utils: 29.7.0 lodash.isequal: 4.5.0 optionalDependencies: - '@wdio/globals': 8.39.1_typescript@4.6.2 + '@wdio/globals': 8.39.1(encoding@0.1.13)(typescript@4.6.4) '@wdio/logger': 8.38.0 - webdriverio: 8.39.1_typescript@4.6.2 + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) transitivePeerDependencies: - bufferutil - devtools @@ -5800,426 +10307,256 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /expect/27.5.1: - resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + expect@27.5.1: dependencies: '@jest/types': 27.5.1 jest-get-type: 27.5.1 jest-matcher-utils: 27.5.1 jest-message-util: 27.5.1 - dev: true - /expect/29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - dev: true - /express/4.17.1: - resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} - engines: {node: '>= 0.10.0'} + express@4.19.2: dependencies: - accepts: 1.3.7 + accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.19.0 - content-disposition: 0.5.3 - content-type: 1.0.4 - cookie: 0.4.0 + body-parser: 1.20.2 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 - depd: 1.1.2 + depd: 2.0.0 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.1.2 + finalhandler: 1.2.0 fresh: 0.5.2 + http-errors: 2.0.0 merge-descriptors: 1.0.1 methods: 1.1.2 - on-finished: 2.3.0 + on-finished: 2.4.1 parseurl: 1.3.3 path-to-regexp: 0.1.7 - proxy-addr: 2.0.6 - qs: 6.7.0 + proxy-addr: 2.0.7 + qs: 6.11.0 range-parser: 1.2.1 - safe-buffer: 5.1.2 - send: 0.17.1 - serve-static: 1.14.1 - setprototypeof: 1.1.1 - statuses: 1.5.0 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 type-is: 1.6.18 utils-merge: 1.0.1 vary: 1.1.2 - dev: true - /extend/3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true + extend@3.0.2: {} - /external-editor/3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + external-editor@3.1.0: dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true - /extract-zip/2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true + extract-zip@2.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.6 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.9.1 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color - dev: true - /extsprintf/1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - dev: true + extsprintf@1.3.0: {} - /fast-deep-equal/2.0.1: - resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} - dev: true + fast-deep-equal@2.0.1: {} - /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-deep-equal@3.1.3: {} - /fast-diff/1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true + fast-diff@1.3.0: {} - /fast-fifo/1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - dev: true + fast-fifo@1.3.2: {} - /fast-glob/3.2.11: - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: - '@nodelib/fs.stat': 2.0.3 - '@nodelib/fs.walk': 1.2.4 + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.4 - dev: true + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-levenshtein/2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-xml-parser@4.5.0: + dependencies: + strnum: 1.0.5 - /fastq/1.10.0: - resolution: {integrity: sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==} + fastq@1.17.1: dependencies: reusify: 1.0.4 - dev: true - /fb-watchman/2.0.1: - resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} + fb-watchman@2.0.2: dependencies: bser: 2.1.1 - dev: true - /fd-slicer/1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fd-slicer2@1.2.0: dependencies: pend: 1.2.0 - dev: true - /fd-slicer2/1.2.0: - resolution: {integrity: sha512-3lBUNUckhMZduCc4g+Pw4Ve16LD9vpX9b8qUkkKq2mgDRLYWzblszZH2luADnJqjJe+cypngjCuKRm/IW12rRw==} + fd-slicer@1.1.0: dependencies: pend: 1.2.0 - dev: true - /fetch-blob/3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true + web-streams-polyfill: 3.3.3 - /figures/4.0.0: - resolution: {integrity: sha512-VnYcWq6H6F0qDN0QnorznBr0abEovifzUokmnezpKZBUbDmbLAt7LMryOp1TKFVxLxyNYkxEkCEADZR58U9oSw==} - engines: {node: '>=12'} + figures@4.0.1: dependencies: escape-string-regexp: 5.0.0 - is-unicode-supported: 1.1.0 - dev: true + is-unicode-supported: 1.3.0 - /figures/5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} + figures@5.0.0: dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 - dev: true - /file-entry-cache/6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: - flat-cache: 3.0.4 - dev: true + flat-cache: 3.2.0 - /filelist/1.0.1: - resolution: {integrity: sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==} + filelist@1.0.4: dependencies: - minimatch: 3.1.2 - dev: true + minimatch: 5.1.6 - /filesize/6.1.0: - resolution: {integrity: sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==} - engines: {node: '>= 0.4.0'} - dev: true + filesize@6.4.0: {} - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + filesize@9.0.11: {} + + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - dev: true - /filter-obj/1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} - dev: true + filter-obj@1.1.0: {} - /finalhandler/1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} + finalhandler@1.2.0: dependencies: debug: 2.6.9 encodeurl: 1.0.2 escape-html: 1.0.3 - on-finished: 2.3.0 + on-finished: 2.4.1 parseurl: 1.3.3 - statuses: 1.5.0 + statuses: 2.0.1 unpipe: 1.0.0 - dev: true - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up/5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - - /find-up/6.2.0: - resolution: {integrity: sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.0.0 - path-exists: 5.0.0 - dev: true - /find-up/6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + find-up@6.3.0: dependencies: locate-path: 7.2.0 path-exists: 5.0.0 - dev: true - /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: - flatted: 3.2.4 + flatted: 3.3.1 + keyv: 4.5.4 rimraf: 3.0.2 - dev: true - /flatted/3.2.4: - resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} - dev: true + flatted@3.3.1: {} - /flushwritable/1.0.0: - resolution: {integrity: sha512-3VELfuWCLVzt5d2Gblk8qcqFro6nuwvxwMzHaENVDHI7rxcBRtMCwTk/E9FXcgh+82DSpavPNDueA9+RxXJoFg==} - dev: true + flushwritable@1.0.0: {} - /follow-redirects/1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: true + follow-redirects@1.15.6: {} - /for-each/0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: - is-callable: 1.2.3 - dev: true + is-callable: 1.2.7 - /foreground-child/3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.3.0: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - dev: true - /forever-agent/0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: true + forever-agent@0.6.1: {} - /form-data-encoder/2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} - dev: true + form-data-encoder@2.1.4: {} - /form-data/2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} + form-data@2.3.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.27 - dev: true + mime-types: 2.1.35 - /form-data/3.0.0: - resolution: {integrity: sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==} - engines: {node: '>= 6'} + form-data@3.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.27 - dev: true + mime-types: 2.1.35 - /form-data/4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + form-data@4.0.0: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.27 - dev: true + mime-types: 2.1.35 - /formdata-polyfill/4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - dev: true - - /forwarded/0.1.2: - resolution: {integrity: sha512-Ua9xNhH0b8pwE3yRbFfXJvfdWF0UHNCdeyb2sbi9Ul/M+r3PTdrz7Cv4SCfZRMjmzEM9PhraqfZFbGTIg3OMyA==} - engines: {node: '>= 0.6'} - dev: true - /fresh/0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: true + forwarded@0.2.0: {} - /fs-constants/1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true + fresh@0.5.2: {} - /fs-extra/11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.9 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true + fs-constants@1.0.0: {} - /fs-extra/11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} + fs-extra@11.2.0: dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - - /fs-extra/8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.9 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true + universalify: 2.0.1 - /fs-minipass/2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} + fs-minipass@2.1.0: dependencies: - minipass: 3.3.4 - dev: true + minipass: 3.3.6 - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} - dev: true + fs.realpath@1.0.0: {} - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true + fsevents@2.3.3: optional: true - /fstream/1.0.12: - resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} - engines: {node: '>=0.6'} - dependencies: - graceful-fs: 4.2.9 - inherits: 2.0.4 - mkdirp: 0.5.6 - rimraf: 2.7.1 - dev: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true + function-bind@1.1.2: {} - /function-bind/1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} - dev: true + functional-red-black-tree@1.0.1: {} - /functions-have-names/1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /gauge/2.7.4: - resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} + gauge@2.7.4: dependencies: aproba: 1.2.0 console-control-strings: 1.1.0 @@ -6229,137 +10566,96 @@ packages: string-width: 1.0.2 strip-ansi: 3.0.1 wide-align: 1.1.5 - dev: true - /gaze/1.1.3: - resolution: {integrity: sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==} - engines: {node: '>= 4.0.0'} + gaze@1.1.3: dependencies: - globule: 1.3.2 - dev: true + globule: 1.3.4 - /geckodriver/4.3.3: - resolution: {integrity: sha512-we2c2COgxFkLVuoknJNx+ioP+7VDq0sr6SCqWHTzlA4kzIbzR0EQ1Pps34s8WrsOnQqPC8a4sZV9dRPROOrkSg==} - engines: {node: ^16.13 || >=18 || >=20} - hasBin: true - requiresBuild: true + geckodriver@4.4.4: dependencies: - '@wdio/logger': 8.38.0 + '@wdio/logger': 9.0.4 + '@zip.js/zip.js': 2.7.52 decamelize: 6.0.0 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 node-fetch: 3.3.2 - tar-fs: 3.0.5 - unzipper: 0.10.14 + tar-fs: 3.0.6 which: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /gensync/1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true + gensync@1.0.0-beta.2: {} - /get-intrinsic/1.0.2: - resolution: {integrity: sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.1 - dev: true + get-caller-file@2.0.5: {} - /get-intrinsic/1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.4: dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 - dev: true + hasown: 2.0.2 - /get-package-type/0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true + get-package-type@0.1.0: {} - /get-port/7.0.0: - resolution: {integrity: sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw==} - engines: {node: '>=16'} - dev: true + get-port@7.1.0: {} - /get-ready/1.0.0: - resolution: {integrity: sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw==} - dev: true + get-ready@1.0.0: {} - /get-stream/5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + get-stream@5.2.0: dependencies: pump: 3.0.0 - /get-stream/6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + get-stream@6.0.1: {} - /get-stream/8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true + get-stream@8.0.1: {} - /get-uri/6.0.2: - resolution: {integrity: sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==} - engines: {node: '>= 14'} + get-symbol-description@1.0.2: dependencies: - basic-ftp: 5.0.3 - data-uri-to-buffer: 6.0.1 - debug: 4.3.4 - fs-extra: 8.1.0 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + get-uri@6.0.3: + dependencies: + basic-ftp: 5.0.5 + data-uri-to-buffer: 6.0.2 + debug: 4.3.6 + fs-extra: 11.2.0 transitivePeerDependencies: - supports-color - dev: true - /getpass/0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + getpass@0.1.7: dependencies: assert-plus: 1.0.0 - dev: true - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - dev: true - /glob-parent/6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob/10.3.1: - resolution: {integrity: sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob@10.4.5: dependencies: - foreground-child: 3.1.1 - jackspeak: 2.2.1 - minimatch: 9.0.2 - minipass: 6.0.2 - path-scurry: 1.10.0 - dev: true + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 - /glob/7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - deprecated: Glob versions prior to v9 are no longer supported + glob@7.1.7: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.8 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@7.2.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6367,522 +10663,294 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob/7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /globals/11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true + globals@11.12.0: {} - /globals/13.12.0: - resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globby/11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.11 - ignore: 5.2.0 + fast-glob: 3.3.2 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - dev: true - /globby/13.1.1: - resolution: {integrity: sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globby@13.2.2: dependencies: dir-glob: 3.0.1 - fast-glob: 3.2.11 - ignore: 5.2.0 + fast-glob: 3.3.2 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 - dev: true - /globule/1.3.2: - resolution: {integrity: sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==} - engines: {node: '>= 0.10'} + globule@1.3.4: dependencies: - glob: 7.1.6 + glob: 7.1.7 lodash: 4.17.21 - minimatch: 3.0.4 - dev: true + minimatch: 3.0.8 - /google-closure-compiler-java/20210808.0.0: - resolution: {integrity: sha512-7dEQfBzOdwdjwa/Pq8VAypNBKyWRrOcKjnNYOO9gEg2hjh8XVMeQzTqw4uANfVvvANGdE/JjD+HF6zHVgLRwjg==} - dev: true + google-closure-compiler-java@20210808.0.0: {} - /google-closure-compiler-linux/20210808.0.0: - resolution: {integrity: sha512-byKi5ITUiWRvEIcQo76i1siVnOwrTmG+GNcBG4cJ7x8IE6+4ki9rG5pUe4+DOYHkfk52XU6XHt9aAAgCcFDKpg==} - cpu: [x64, x86] - os: [linux] - requiresBuild: true - dev: true + google-closure-compiler-linux@20210808.0.0: optional: true - /google-closure-compiler-osx/20210808.0.0: - resolution: {integrity: sha512-iwyAY6dGj1FrrBdmfwKXkjtTGJnqe8F+9WZbfXxiBjkWLtIsJt2dD1+q7g/sw3w8mdHrGQAdxtDZP/usMwj/Rg==} - cpu: [x64, x86, arm64] - os: [darwin] - requiresBuild: true - dev: true + google-closure-compiler-osx@20210808.0.0: optional: true - /google-closure-compiler-windows/20210808.0.0: - resolution: {integrity: sha512-VI+UUYwtGWDYwpiixrWRD8EklHgl6PMbiEaHxQSrQbH8PDXytwaOKqmsaH2lWYd5Y/BOZie2MzjY7F5JI69q1w==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + google-closure-compiler-windows@20210808.0.0: optional: true - /google-closure-compiler/20210808.0.0: - resolution: {integrity: sha512-+R2+P1tT1lEnDDGk8b+WXfyVZgWjcCK9n1mmZe8pMEzPaPWxqK7GMetLVWnqfTDJ5Q+LRspOiFBv3Is+0yuhCA==} - engines: {node: '>=10'} - hasBin: true + google-closure-compiler@20210808.0.0: dependencies: chalk: 2.4.2 google-closure-compiler-java: 20210808.0.0 - minimist: 1.2.5 + minimist: 1.2.8 vinyl: 2.2.1 vinyl-sourcemaps-apply: 0.2.1 optionalDependencies: google-closure-compiler-linux: 20210808.0.0 google-closure-compiler-osx: 20210808.0.0 google-closure-compiler-windows: 20210808.0.0 - dev: true - - /gopd/1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.2 - dev: true - /got/11.8.5: - resolution: {integrity: sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==} - engines: {node: '>=10.19.0'} + gopd@1.0.1: dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.5 - '@types/cacheable-request': 6.0.1 - '@types/responselike': 1.0.0 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.2 - decompress-response: 6.0.0 - http2-wrapper: 1.0.0-beta.5.2 - lowercase-keys: 2.0.0 - p-cancelable: 2.0.0 - responselike: 2.0.0 - dev: false + get-intrinsic: 1.2.4 - /got/11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + got@11.8.6: dependencies: '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.5 - '@types/cacheable-request': 6.0.1 - '@types/responselike': 1.0.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 cacheable-lookup: 5.0.4 - cacheable-request: 7.0.2 + cacheable-request: 7.0.4 decompress-response: 6.0.0 - http2-wrapper: 1.0.0-beta.5.2 + http2-wrapper: 1.0.3 lowercase-keys: 2.0.0 - p-cancelable: 2.0.0 - responselike: 2.0.0 - dev: true + p-cancelable: 2.1.1 + responselike: 2.0.1 - /got/12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} + got@12.6.1: dependencies: - '@sindresorhus/is': 5.3.0 + '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.12 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 - dev: true - /graceful-fs/4.2.4: - resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==} - dev: true + graceful-fs@4.2.11: {} - /graceful-fs/4.2.9: - resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} - dev: true - - /grapheme-splitter/1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true + grapheme-splitter@1.0.4: {} - /gzip-size/6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 - dev: true - /har-schema/2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - dev: true + har-schema@2.0.0: {} - /har-validator/5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported + har-validator@5.1.5: dependencies: ajv: 6.12.6 har-schema: 2.0.0 - dev: true - /has-bigints/1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + has-bigints@1.0.2: {} - /has-flag/3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true + has-flag@3.0.0: {} - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true + has-flag@4.0.0: {} - /has-property-descriptors/1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.2: dependencies: - get-intrinsic: 1.2.2 - dev: true + es-define-property: 1.0.0 - /has-proto/1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true - - /has-symbols/1.0.1: - resolution: {integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==} - engines: {node: '>= 0.4'} - dev: true + has-proto@1.0.3: {} - /has-symbols/1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true + has-symbols@1.0.3: {} - /has-tostringtag/1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 - dev: true - - /has-unicode/2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: true - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true + has-unicode@2.0.1: {} - /hash.js/1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: true - /hasown/2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - dev: true - /header-case/2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + header-case@2.0.4: dependencies: capital-case: 1.0.4 - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /helpertypes/0.0.17: - resolution: {integrity: sha512-muWKRSBsqN3MzqLdh82QfV7vWWwAYvHh3On87z898X+xZ5H2tPRQ5Y6hHA3BXSE+TueztA07iw5bInjwAT3x8A==} - engines: {node: '>=10.0.0'} - dev: true + helpertypes@0.0.18: {} - /hosted-git-info/2.8.8: - resolution: {integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==} - dev: true + hosted-git-info@2.8.9: {} - /hosted-git-info/4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + hosted-git-info@4.1.0: dependencies: lru-cache: 6.0.0 - dev: true - /hosted-git-info/7.0.1: - resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} - engines: {node: ^16.14.0 || >=18.0.0} + hosted-git-info@7.0.2: dependencies: - lru-cache: 10.0.1 - dev: true + lru-cache: 10.4.3 - /html-encoding-sniffer/2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} + html-encoding-sniffer@2.0.1: dependencies: whatwg-encoding: 1.0.5 - dev: true - - /html-escaper/2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - /http-cache-semantics/4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + html-escaper@2.0.2: {} - /http-errors/1.7.2: - resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} - engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.1 - statuses: 1.5.0 - toidentifier: 1.0.0 - dev: true + http-cache-semantics@4.1.1: {} - /http-errors/1.7.3: - resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} - engines: {node: '>= 0.6'} + http-errors@2.0.0: dependencies: - depd: 1.1.2 + depd: 2.0.0 inherits: 2.0.4 - setprototypeof: 1.1.1 - statuses: 1.5.0 - toidentifier: 1.0.0 - dev: true + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 - /http-proxy-agent/4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} + http-proxy-agent@4.0.1: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true - /http-proxy-agent/7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.0 - debug: 4.3.4 + agent-base: 7.1.1 + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true - /http-signature/1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} + http-signature@1.2.0: dependencies: assert-plus: 1.0.0 jsprim: 1.4.2 - sshpk: 1.17.0 - dev: true + sshpk: 1.18.0 - /http2-wrapper/1.0.0-beta.5.2: - resolution: {integrity: sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==} - engines: {node: '>=10.19.0'} + http2-wrapper@1.0.3: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - /http2-wrapper/2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} - engines: {node: '>=10.19.0'} + http2-wrapper@2.2.1: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - dev: true - /https-proxy-agent/5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true - /https-proxy-agent/7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} + https-proxy-agent@7.0.5: dependencies: - agent-base: 7.1.0 - debug: 4.3.4 + agent-base: 7.1.1 + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + human-signals@2.1.0: {} - /human-signals/5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true + human-signals@5.0.0: {} - /humanize-ms/1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 - dev: true - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - dev: true - /iconv-lite/0.5.2: - resolution: {integrity: sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==} - engines: {node: '>=0.10.0'} + iconv-lite@0.5.2: dependencies: safer-buffer: 2.1.2 - dev: true - /iconv-lite/0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 - dev: true optional: true - /ieee754/1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true + ieee754@1.2.1: {} - /ignore-by-default/2.0.0: - resolution: {integrity: sha512-+mQSgMRiFD3L3AOxLYOCxjIq4OnAmo5CIuC+lj5ehCJcPtV++QacEV7FdpzvYxH6DaOySWzQU6RR0lPLy37ckA==} - engines: {node: '>=10 <11 || >=12 <13 || >=14'} - dev: true + ignore-by-default@2.1.0: {} - /ignore-walk/3.0.4: - resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} + ignore-walk@3.0.4: dependencies: minimatch: 3.1.2 - dev: true - /ignore/5.2.0: - resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} - engines: {node: '>= 4'} - dev: true + ignore@5.3.2: {} - /immediate/3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - dev: true + immediate@3.0.6: {} - /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /import-local/3.0.2: - resolution: {integrity: sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==} - engines: {node: '>=8'} - hasBin: true + import-local@3.2.0: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true - /import-meta-resolve/4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} - dev: true + import-meta-resolve@4.1.0: {} - /import-modules/2.1.0: - resolution: {integrity: sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==} - engines: {node: '>=8'} - dev: true + import-modules@2.1.0: {} - /imurmurhash/0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /indent-string/4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true + indent-string@4.0.0: {} - /indent-string/5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - dev: true + indent-string@5.0.0: {} - /infer-owner/1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - dev: true + infer-owner@1.0.4: {} - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits/2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - dev: true + inherits@2.0.3: {} - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true + inherits@2.0.4: {} - /inquirer/9.2.12: - resolution: {integrity: sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==} - engines: {node: '>=14.18.0'} + inquirer@9.2.12: dependencies: - '@ljharb/through': 2.3.11 + '@ljharb/through': 2.3.13 ansi-escapes: 4.3.2 chalk: 5.3.0 cli-cursor: 3.1.0 @@ -6897,448 +10965,241 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: true - /internal-slot/1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} - engines: {node: '>= 0.4'} + internal-slot@1.0.7: dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 - dev: true + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 - /ip-regex/4.2.0: - resolution: {integrity: sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A==} - engines: {node: '>=8'} - dev: true + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 - /ip/1.1.8: - resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} - dev: true + ip-regex@4.3.0: {} - /ip/2.0.1: - resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} - dev: true + ip@2.0.1: {} - /ipaddr.js/1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: true + ipaddr.js@1.9.1: {} - /irregular-plurals/3.3.0: - resolution: {integrity: sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==} - engines: {node: '>=8'} - dev: true + irregular-plurals@3.5.0: {} - /is-arguments/1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + is-arguments@1.1.1: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 - dev: true + call-bind: 1.0.7 + has-tostringtag: 1.0.2 - /is-array-buffer/3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.4: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - dev: true + call-bind: 1.0.7 + get-intrinsic: 1.2.4 - /is-arrayish/0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true + is-arrayish@0.2.1: {} - /is-bigint/1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: - binary-extensions: 2.1.0 - dev: true + binary-extensions: 2.3.0 - /is-boolean-object/1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 - dev: true + call-bind: 1.0.7 + has-tostringtag: 1.0.2 - /is-callable/1.2.3: - resolution: {integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-ci/2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true + is-ci@2.0.0: dependencies: ci-info: 2.0.0 - dev: true - /is-core-module/2.2.0: - resolution: {integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==} + is-core-module@2.15.1: dependencies: - has: 1.0.3 - dev: true + hasown: 2.0.2 - /is-core-module/2.8.1: - resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + is-data-view@1.0.1: dependencies: - has: 1.0.3 - dev: true - - /is-date-object/1.0.2: - resolution: {integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==} - engines: {node: '>= 0.4'} - dev: true + is-typed-array: 1.1.13 - /is-date-object/1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: - has-tostringtag: 1.0.0 - dev: true + has-tostringtag: 1.0.2 - /is-error/2.2.2: - resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} - dev: true + is-error@2.2.2: {} - /is-extglob/2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true + is-extglob@2.1.1: {} - /is-fullwidth-code-point/1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} + is-fullwidth-code-point@1.0.0: dependencies: number-is-nan: 1.0.1 - dev: true - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true + is-fullwidth-code-point@3.0.0: {} - /is-fullwidth-code-point/4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true + is-fullwidth-code-point@4.0.0: {} - /is-generator-fn/2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true + is-generator-fn@2.1.0: {} - /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - dev: true - /is-interactive/1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true + is-interactive@1.0.0: {} - /is-lambda/1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: true + is-lambda@1.0.1: {} - /is-map/2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - dev: true + is-map@2.0.3: {} - /is-module/1.0.0: - resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} - dev: true + is-module@1.0.0: {} - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.3: {} - /is-number-object/1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: - has-tostringtag: 1.0.0 - dev: true + has-tostringtag: 1.0.2 - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-path-cwd/2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true + is-number@7.0.0: {} - /is-path-inside/3.0.2: - resolution: {integrity: sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==} - engines: {node: '>=8'} - dev: true + is-path-cwd@2.2.0: {} - /is-plain-obj/4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: true + is-path-inside@3.0.3: {} - /is-plain-object/5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: true + is-plain-obj@4.1.0: {} - /is-potential-custom-element-name/1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true + is-plain-object@5.0.0: {} - /is-promise/4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - dev: true + is-potential-custom-element-name@1.0.1: {} - /is-reference/1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 0.0.45 - dev: true + is-promise@4.0.0: {} - /is-regex/1.1.2: - resolution: {integrity: sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==} - engines: {node: '>= 0.4'} + is-reference@1.2.1: dependencies: - call-bind: 1.0.2 - has-symbols: 1.0.1 - dev: true + '@types/estree': 1.0.5 - /is-regex/1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 - dev: true + call-bind: 1.0.7 + has-tostringtag: 1.0.2 - /is-set/2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - dev: true + is-set@2.0.3: {} - /is-shared-array-buffer/1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.3: dependencies: - call-bind: 1.0.5 - dev: true - - /is-stream/2.0.0: - resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==} - engines: {node: '>=8'} - dev: true + call-bind: 1.0.7 - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true + is-stream@2.0.1: {} - /is-stream/3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-stream@3.0.0: {} - /is-string/1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: - has-tostringtag: 1.0.0 - dev: true + has-tostringtag: 1.0.2 - /is-symbol/1.0.3: - resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: - has-symbols: 1.0.1 - dev: true + has-symbols: 1.0.3 - /is-typed-array/1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.13 - dev: true + which-typed-array: 1.1.15 - /is-typedarray/1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: true + is-typedarray@1.0.0: {} - /is-unicode-supported/0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true + is-unicode-supported@0.1.0: {} - /is-unicode-supported/1.1.0: - resolution: {integrity: sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==} - engines: {node: '>=12'} - dev: true + is-unicode-supported@1.3.0: {} - /is-unicode-supported/1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - dev: true + is-url@1.2.4: {} - /is-url/1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - dev: true + is-weakmap@2.0.2: {} - /is-weakmap/2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - dev: true + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.7 - /is-weakset/2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakset@2.0.3: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - dev: true + call-bind: 1.0.7 + get-intrinsic: 1.2.4 - /is2/2.0.6: - resolution: {integrity: sha512-+Z62OHOjA6k2sUDOKXoZI3EXv7Fb1K52jpTBLbkfx62bcUeSsrTBLhEquCRDKTx0XE5XbHcG/S2vrtE3lnEDsQ==} - engines: {node: '>=v0.10.0'} + is2@2.0.9: dependencies: - deep-is: 0.1.3 - ip-regex: 4.2.0 + deep-is: 0.1.4 + ip-regex: 4.3.0 is-url: 1.2.4 - dev: true - - /isarray/0.0.1: - resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} - dev: true - /isarray/1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true + isarray@1.0.0: {} - /isarray/2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isbot/3.3.4: - resolution: {integrity: sha512-a6o/e6nBMoRGvoovg5NT2r/N7S4398yCDXc6HgEOILdBAjYv05SX1MBhgc8SHnEJdRyLfOpAPqc10ezLWkj7rQ==} - engines: {node: '>=12'} - dev: true + isbot@3.4.5: {} - /isexe/2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true + isexe@2.0.0: {} - /isexe/3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: true + isexe@3.1.1: {} - /isstream/0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: true + isstream@0.1.2: {} - /istanbul-lib-coverage/3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true + istanbul-lib-coverage@3.2.2: {} - /istanbul-lib-instrument/5.1.0: - resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} - engines: {node: '>=8'} + istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.12.10 - '@babel/parser': 7.16.12 - '@istanbuljs/schema': 0.1.2 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + '@babel/core': 7.25.2 + '@babel/parser': 7.25.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + istanbul-lib-report@3.0.1: dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-lib-source-maps/4.0.0: - resolution: {integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==} - engines: {node: '>=8'} + istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 + debug: 4.3.6 + istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-reports/3.1.3: - resolution: {integrity: sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==} - engines: {node: '>=8'} + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true + istanbul-lib-report: 3.0.1 - /jackspeak/2.2.1: - resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==} - engines: {node: '>=14'} + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: true - /jake/10.8.5: - resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} - engines: {node: '>=10'} - hasBin: true + jake@10.9.2: dependencies: - async: 3.2.4 + async: 3.2.6 chalk: 4.1.2 - filelist: 1.0.1 + filelist: 1.0.4 minimatch: 3.1.2 - dev: true - /jasmine-core/5.1.1: - resolution: {integrity: sha512-UrzO3fL7nnxlQXlvTynNAenL+21oUQRlzqQFsA2U11ryb4+NLOCOePZ70PTojEaUKhiFugh7dG0Q+I58xlPdWg==} - dev: true + jasmine-core@5.2.0: {} - /jasmine/5.1.0: - resolution: {integrity: sha512-prmJlC1dbLhti4nE4XAPDWmfJesYO15sjGXVp7Cs7Ym5I9Xtwa/hUHxxJXjnpfLO72+ySttA0Ztf8g/RiVnUKw==} - hasBin: true + jasmine@5.2.0: dependencies: - glob: 10.3.1 - jasmine-core: 5.1.1 - dev: true + glob: 10.4.5 + jasmine-core: 5.2.0 - /jest-changed-files/27.5.1: - resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-changed-files@27.5.1: dependencies: '@jest/types': 27.5.1 execa: 5.1.1 - throat: 6.0.1 - dev: true + throat: 6.0.2 - /jest-circus/27.5.1: - resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-circus@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 @@ -7357,33 +11218,24 @@ packages: jest-util: 27.5.1 pretty-format: 27.5.1 slash: 3.0.0 - stack-utils: 2.0.5 - throat: 6.0.1 + stack-utils: 2.0.6 + throat: 6.0.2 transitivePeerDependencies: - supports-color - dev: true - /jest-cli/27.5.1: - resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-cli@27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)): dependencies: - '@jest/core': 27.5.1 + '@jest/core': 27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.9 - import-local: 3.0.2 - jest-config: 27.5.1 + graceful-fs: 4.2.11 + import-local: 3.2.0 + jest-config: 27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)) jest-util: 27.5.1 jest-validate: 27.5.1 - prompts: 2.4.0 + prompts: 2.4.2 yargs: 16.2.0 transitivePeerDependencies: - bufferutil @@ -7391,29 +11243,20 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /jest-cli/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-cli@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)): dependencies: - '@jest/core': 27.5.1_ts-node@10.9.1 + '@jest/core': 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.9 - import-local: 3.0.2 - jest-config: 27.5.1_ts-node@10.9.1 + graceful-fs: 4.2.11 + import-local: 3.2.0 + jest-config: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) jest-util: 27.5.1 jest-validate: 27.5.1 - prompts: 2.4.0 + prompts: 2.4.2 yargs: 16.2.0 transitivePeerDependencies: - bufferutil @@ -7421,26 +11264,18 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /jest-config/27.5.1: - resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true + jest-config@27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)): dependencies: - '@babel/core': 7.12.10 + '@babel/core': 7.25.2 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1_@babel+core@7.12.10 + babel-jest: 27.5.1(@babel/core@7.25.2) chalk: 4.1.2 - ci-info: 3.3.0 - deepmerge: 4.2.2 - glob: 7.2.0 - graceful-fs: 4.2.9 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 jest-circus: 27.5.1 jest-environment-jsdom: 27.5.1 jest-environment-node: 27.5.1 @@ -7451,36 +11286,30 @@ packages: jest-runner: 27.5.1 jest-util: 27.5.1 jest-validate: 27.5.1 - micromatch: 4.0.4 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 27.5.1 slash: 3.0.0 strip-json-comments: 3.1.1 + optionalDependencies: + ts-node: 10.9.2(@types/node@14.6.4)(typescript@4.6.4) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - dev: true - /jest-config/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true + jest-config@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)): dependencies: - '@babel/core': 7.12.10 + '@babel/core': 7.25.2 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1_@babel+core@7.12.10 + babel-jest: 27.5.1(@babel/core@7.25.2) chalk: 4.1.2 - ci-info: 3.3.0 - deepmerge: 4.2.2 - glob: 7.2.0 - graceful-fs: 4.2.9 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 jest-circus: 27.5.1 jest-environment-jsdom: 27.5.1 jest-environment-node: 27.5.1 @@ -7491,69 +11320,50 @@ packages: jest-runner: 27.5.1 jest-util: 27.5.1 jest-validate: 27.5.1 - micromatch: 4.0.4 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 27.5.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1_3a45c3db8dee5edcd277f201fb244988 + optionalDependencies: + ts-node: 10.9.2(@types/node@20.16.3)(typescript@4.6.4) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - dev: true - /jest-diff/27.5.1: - resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-diff@27.5.1: dependencies: chalk: 4.1.2 diff-sequences: 27.5.1 jest-get-type: 27.5.1 pretty-format: 27.5.1 - dev: true - /jest-diff/29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-diff@29.7.0: dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-docblock/27.5.1: - resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-docblock@27.5.1: dependencies: detect-newline: 3.1.0 - dev: true - /jest-each/27.5.1: - resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-each@27.5.1: dependencies: '@jest/types': 27.5.1 chalk: 4.1.2 jest-get-type: 27.5.1 jest-util: 27.5.1 pretty-format: 27.5.1 - dev: true - /jest-environment-jsdom-global/3.0.0_jest-environment-jsdom@27.5.1: - resolution: {integrity: sha512-+7ZNxuB/35ybGug9vMaBYontqI7T8KhnUU55wtT5OYw6GRfDn2Vzak2YRvBwFjdm0so0Qz7KAL6NtEB0r+3x+g==} - engines: {node: '>= 12'} - peerDependencies: - jest-environment-jsdom: 22.x || 23.x || 24.x || 25.x || 26.x || 27.x + jest-environment-jsdom-global@3.0.0(jest-environment-jsdom@27.5.1): dependencies: jest-environment-jsdom: 27.5.1 - dev: true - /jest-environment-jsdom/27.5.1: - resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-environment-jsdom@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 @@ -7567,11 +11377,8 @@ packages: - canvas - supports-color - utf-8-validate - dev: true - /jest-environment-node/27.5.1: - resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-environment-node@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 @@ -7579,41 +11386,29 @@ packages: '@types/node': 14.6.4 jest-mock: 27.5.1 jest-util: 27.5.1 - dev: true - /jest-get-type/27.5.1: - resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true + jest-get-type@27.5.1: {} - /jest-get-type/29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-get-type@29.6.3: {} - /jest-haste-map/27.5.1: - resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-haste-map@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/graceful-fs': 4.1.4 + '@types/graceful-fs': 4.1.9 '@types/node': 14.6.4 - anymatch: 3.1.2 - fb-watchman: 2.0.1 - graceful-fs: 4.2.9 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 jest-regex-util: 27.5.1 jest-serializer: 27.5.1 jest-util: 27.5.1 jest-worker: 27.5.1 - micromatch: 4.0.4 - walker: 1.0.7 + micromatch: 4.0.8 + walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 - dev: true + fsevents: 2.3.3 - /jest-jasmine2/27.5.1: - resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-jasmine2@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/source-map': 27.5.1 @@ -7631,139 +11426,98 @@ packages: jest-snapshot: 27.5.1 jest-util: 27.5.1 pretty-format: 27.5.1 - throat: 6.0.1 + throat: 6.0.2 transitivePeerDependencies: - supports-color - dev: true - /jest-leak-detector/27.5.1: - resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-leak-detector@27.5.1: dependencies: jest-get-type: 27.5.1 pretty-format: 27.5.1 - dev: true - /jest-matcher-utils/27.5.1: - resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-matcher-utils@27.5.1: dependencies: chalk: 4.1.2 jest-diff: 27.5.1 jest-get-type: 27.5.1 pretty-format: 27.5.1 - dev: true - /jest-matcher-utils/29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-message-util/26.6.2: - resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} - engines: {node: '>= 10.14.2'} + jest-message-util@26.6.2: dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.24.7 '@jest/types': 26.6.2 - '@types/stack-utils': 2.0.0 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 - graceful-fs: 4.2.9 - micromatch: 4.0.4 + graceful-fs: 4.2.11 + micromatch: 4.0.8 pretty-format: 26.6.2 slash: 3.0.0 - stack-utils: 2.0.5 - dev: true + stack-utils: 2.0.6 - /jest-message-util/27.5.1: - resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-message-util@27.5.1: dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.24.7 '@jest/types': 27.5.1 - '@types/stack-utils': 2.0.0 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 - graceful-fs: 4.2.9 - micromatch: 4.0.4 + graceful-fs: 4.2.11 + micromatch: 4.0.8 pretty-format: 27.5.1 slash: 3.0.0 - stack-utils: 2.0.5 - dev: true + stack-utils: 2.0.6 - /jest-message-util/29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.0 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 - graceful-fs: 4.2.9 - micromatch: 4.0.4 + graceful-fs: 4.2.11 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 - stack-utils: 2.0.5 - dev: true + stack-utils: 2.0.6 - /jest-mock/27.5.1: - resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-mock@27.5.1: dependencies: '@jest/types': 27.5.1 '@types/node': 14.6.4 - dev: true - /jest-pnp-resolver/1.2.2_jest-resolve@27.5.1: - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: + jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): + optionalDependencies: jest-resolve: 27.5.1 - dev: true - /jest-regex-util/27.5.1: - resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true + jest-regex-util@27.5.1: {} - /jest-resolve-dependencies/27.5.1: - resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-resolve-dependencies@27.5.1: dependencies: '@jest/types': 27.5.1 jest-regex-util: 27.5.1 jest-snapshot: 27.5.1 transitivePeerDependencies: - supports-color - dev: true - /jest-resolve/27.5.1: - resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-resolve@27.5.1: dependencies: '@jest/types': 27.5.1 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jest-haste-map: 27.5.1 - jest-pnp-resolver: 1.2.2_jest-resolve@27.5.1 + jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) jest-util: 27.5.1 jest-validate: 27.5.1 - resolve: 1.22.0 - resolve.exports: 1.1.0 + resolve: 1.22.8 + resolve.exports: 1.1.1 slash: 3.0.0 - dev: true - /jest-runner/27.5.1: - resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-runner@27.5.1: dependencies: '@jest/console': 27.5.1 '@jest/environment': 27.5.1 @@ -7773,7 +11527,7 @@ packages: '@types/node': 14.6.4 chalk: 4.1.2 emittery: 0.8.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jest-docblock: 27.5.1 jest-environment-jsdom: 27.5.1 jest-environment-node: 27.5.1 @@ -7785,17 +11539,14 @@ packages: jest-util: 27.5.1 jest-worker: 27.5.1 source-map-support: 0.5.21 - throat: 6.0.1 + throat: 6.0.2 transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - dev: true - /jest-runtime/27.5.1: - resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-runtime@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 @@ -7805,11 +11556,11 @@ packages: '@jest/transform': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 + cjs-module-lexer: 1.4.0 + collect-v8-coverage: 1.0.2 execa: 5.1.1 - glob: 7.2.0 - graceful-fs: 4.2.9 + glob: 7.2.3 + graceful-fs: 4.2.11 jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-mock: 27.5.1 @@ -7821,33 +11572,27 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /jest-serializer/27.5.1: - resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-serializer@27.5.1: dependencies: '@types/node': 14.6.4 - graceful-fs: 4.2.9 - dev: true + graceful-fs: 4.2.11 - /jest-snapshot/27.5.1: - resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-snapshot@27.5.1: dependencies: - '@babel/core': 7.12.10 - '@babel/generator': 7.12.11 - '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.12.10 - '@babel/traverse': 7.12.10 - '@babel/types': 7.16.8 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__traverse': 7.11.0 - '@types/prettier': 2.1.5 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.12.10 + '@types/babel__traverse': 7.20.6 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) chalk: 4.1.2 expect: 27.5.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 jest-diff: 27.5.1 jest-get-type: 27.5.1 jest-haste-map: 27.5.1 @@ -7856,73 +11601,56 @@ packages: jest-util: 27.5.1 natural-compare: 1.4.0 pretty-format: 27.5.1 - semver: 7.3.5 + semver: 7.6.3 transitivePeerDependencies: - supports-color - dev: true - /jest-standard-reporter/2.0.0: - resolution: {integrity: sha512-JhV3qzNzs5u/T1mzN9ivVrf2i4xYOQJgyPMKQbAmwRAZIprCpkikt8GF1kQKrP5ch1qBMn5xYyNdUUOKi8bltA==} + jest-standard-reporter@2.0.0: dependencies: '@jest/console': 26.6.2 chalk: 4.1.2 jest-util: 26.6.2 path: 0.12.7 slash: 3.0.0 - string-length: 4.0.1 - dev: true + string-length: 4.0.2 - /jest-util/26.6.2: - resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} - engines: {node: '>= 10.14.2'} + jest-util@26.6.2: dependencies: '@jest/types': 26.6.2 '@types/node': 14.6.4 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 is-ci: 2.0.0 - micromatch: 4.0.4 - dev: true + micromatch: 4.0.8 - /jest-util/27.5.1: - resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-util@27.5.1: dependencies: '@jest/types': 27.5.1 '@types/node': 14.6.4 chalk: 4.1.2 - ci-info: 3.3.0 - graceful-fs: 4.2.9 + ci-info: 3.9.0 + graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /jest-util/29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 14.6.4 chalk: 4.1.2 - ci-info: 3.3.0 - graceful-fs: 4.2.9 + ci-info: 3.9.0 + graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /jest-validate/27.5.1: - resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-validate@27.5.1: dependencies: '@jest/types': 27.5.1 - camelcase: 6.2.0 + camelcase: 6.3.0 chalk: 4.1.2 jest-get-type: 27.5.1 leven: 3.1.0 pretty-format: 27.5.1 - dev: true - /jest-watcher/27.5.1: - resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-watcher@27.5.1: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 @@ -7930,1309 +11658,754 @@ packages: ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 - string-length: 4.0.1 - dev: true + string-length: 4.0.2 - /jest-worker/26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} + jest-worker@26.6.2: dependencies: '@types/node': 14.6.4 merge-stream: 2.0.0 supports-color: 7.2.0 - dev: true - /jest-worker/27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + jest-worker@27.5.1: dependencies: '@types/node': 14.6.4 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true - /jest/27.5.1: - resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)): dependencies: - '@jest/core': 27.5.1 - import-local: 3.0.2 - jest-cli: 27.5.1 + '@jest/core': 27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)) + import-local: 3.2.0 + jest-cli: 27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)) transitivePeerDependencies: - bufferutil - canvas - supports-color - ts-node - utf-8-validate - dev: true - /jest/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)): dependencies: - '@jest/core': 27.5.1_ts-node@10.9.1 - import-local: 3.0.2 - jest-cli: 27.5.1_ts-node@10.9.1 + '@jest/core': 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) + import-local: 3.2.0 + jest-cli: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) transitivePeerDependencies: - bufferutil - canvas - supports-color - ts-node - utf-8-validate - dev: true - /js-cleanup/1.2.0: - resolution: {integrity: sha512-JeDD0yiiSt80fXzAVa/crrS0JDPQljyBG/RpOtaSbyDq03VHa9szJWMaWOYU/bcTn412uMN2MxApXq8v79cUiQ==} - engines: {node: ^10.14.2 || >=12.0.0} + js-cleanup@1.2.0: dependencies: - magic-string: 0.25.7 + magic-string: 0.25.9 perf-regexes: 1.0.1 skip-regex: 1.0.2 - dev: true - /js-string-escape/1.0.1: - resolution: {integrity: sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=} - engines: {node: '>= 0.8'} - dev: true + js-string-escape@1.0.1: {} - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true - /js-yaml/4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /jsbn/0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - dev: true + jsbn@0.1.1: {} - /jsdom/16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true + jsbn@1.1.0: {} + + jsdom@16.7.0: dependencies: - abab: 2.0.5 - acorn: 8.7.0 + abab: 2.0.6 + acorn: 8.12.1 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 data-urls: 2.0.0 - decimal.js: 10.2.1 + decimal.js: 10.4.3 domexception: 2.0.1 - escodegen: 2.0.0 - form-data: 3.0.0 + escodegen: 2.1.0 + form-data: 3.0.1 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.0 + nwsapi: 2.2.12 parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 - tough-cookie: 4.0.0 + tough-cookie: 4.1.4 w3c-hr-time: 1.0.2 w3c-xmlserializer: 2.0.0 webidl-conversions: 6.1.0 whatwg-encoding: 1.0.5 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 - ws: 7.5.6 + ws: 7.5.10 xml-name-validator: 3.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - - /jsesc/2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - /json-buffer/3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + jsesc@2.5.2: {} - /json-parse-better-errors/1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true + json-buffer@3.0.1: {} - /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + json-parse-better-errors@1.0.2: {} - /json-parse-even-better-errors/3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + json-parse-even-better-errors@2.3.1: {} - /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-parse-even-better-errors@3.0.2: {} - /json-schema/0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: true + json-schema-traverse@0.4.1: {} - /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-schema@0.4.0: {} - /json-stringify-safe/5.0.1: - resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json5/2.1.3: - resolution: {integrity: sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==} - engines: {node: '>=6'} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true + json-stringify-safe@5.0.1: {} - /jsonfile/4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.9 - dev: true + json5@2.2.3: {} - /jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: - graceful-fs: 4.2.9 - dev: true - - /jsonparse/1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: true + graceful-fs: 4.2.11 - /jsprim/1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} + jsonparse@1.3.1: {} + + jsprim@1.4.2: dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 json-schema: 0.4.0 verror: 1.10.0 - dev: true - /jstimezonedetect/1.0.7: - resolution: {integrity: sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ==} - dev: false + jstimezonedetect@1.0.7: {} - /jszip/3.10.1: - resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + jszip@3.10.1: dependencies: lie: 3.3.0 pako: 1.0.11 - readable-stream: 2.3.7 + readable-stream: 2.3.8 setimmediate: 1.0.5 - dev: true - /just-extend/4.1.1: - resolution: {integrity: sha512-aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==} - dev: true + just-extend@6.2.0: {} - /keyv/4.5.2: - resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - /kleur/3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true + kleur@3.0.3: {} - /ky/0.33.2: - resolution: {integrity: sha512-f6oS2rKUcPu5FzdqCDbFpmzis/JlqFZw8uIHm/jf8Kc3vtnW+VDhuashOAKyBZv8bFiZFZUMNxTC0JtahEvujA==} - engines: {node: '>=14.16'} - dev: true + ky@0.33.3: {} - /lazystream/1.0.0: - resolution: {integrity: sha512-/330KFbmC/zKdtZoVDRwvkJ8snrJyBPfoZ39zsJl2O24HOE1CTNiEbeZmHXmjBVxTSSv7JlJEXPYhU83DhA2yg==} - engines: {node: '>= 0.6.3'} + lazystream@1.0.1: dependencies: - readable-stream: 2.3.7 - dev: true - - /leven/3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true + readable-stream: 2.3.8 - /levn/0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - dev: true + leven@3.1.0: {} - /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lie/3.3.0: - resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + lie@3.3.0: dependencies: immediate: 3.0.6 - dev: true - - /lines-and-columns/1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - /lines-and-columns/2.0.3: - resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + lines-and-columns@1.2.4: {} - /listenercount/1.0.1: - resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} - dev: true + lines-and-columns@2.0.4: {} - /load-json-file/4.0.0: - resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} - engines: {node: '>=4'} + load-json-file@4.0.0: dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 - dev: true - /load-json-file/7.0.1: - resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + load-json-file@7.0.1: {} - /locate-app/2.1.0: - resolution: {integrity: sha512-rcVo/iLUxrd9d0lrmregK/Z5Y5NCpSwf9KlMbPpOHmKmdxdQY1Fj8NDQ5QymJTryCsBLqwmniFv2f3JKbk9Bvg==} + locate-app@2.4.37: dependencies: - n12: 0.4.0 + '@promptbook/utils': 0.70.0-1 type-fest: 2.13.0 userhome: 1.0.0 - dev: true - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path/6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - - /locate-path/7.0.0: - resolution: {integrity: sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true - /locate-path/7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + locate-path@7.2.0: dependencies: p-locate: 6.0.0 - dev: true - - /lodash.clonedeep/4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - dev: true - /lodash.flattendeep/4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - dev: true + lodash.clonedeep@4.5.0: {} - /lodash.get/4.4.2: - resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} - dev: true + lodash.flattendeep@4.4.0: {} - /lodash.isequal/4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true + lodash.get@4.4.2: {} - /lodash.memoize/4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true + lodash.isequal@4.5.0: {} - /lodash.merge/4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.memoize@4.1.2: {} - /lodash.pickby/4.6.0: - resolution: {integrity: sha512-AZV+GsS/6ckvPOVQPXSiFFacKvKB4kOQu6ynt9wz0F3LO4R9Ij4K1ddYsIytDpSgLz88JHd9P+oaLeej5/Sl7Q==} - dev: true + lodash.merge@4.6.2: {} - /lodash.set/4.3.2: - resolution: {integrity: sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=} - dev: true + lodash.pickby@4.6.0: {} - /lodash.union/4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - dev: true + lodash.union@4.6.0: {} - /lodash.zip/4.2.0: - resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} - dev: true + lodash.zip@4.2.0: {} - /lodash/4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true + lodash@4.17.21: {} - /log-symbols/4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true - /loglevel-plugin-prefix/0.8.4: - resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} - dev: true + loglevel-plugin-prefix@0.8.4: {} - /loglevel/1.7.1: - resolution: {integrity: sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==} - engines: {node: '>= 0.6.0'} - dev: true + loglevel@1.9.1: {} - /lower-case/2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lower-case@2.0.2: dependencies: - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /lowercase-keys/2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + lowercase-keys@2.0.0: {} - /lowercase-keys/3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + lowercase-keys@3.0.0: {} - /lru-cache/10.0.1: - resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} - engines: {node: 14 || >=16.14} - dev: true + lru-cache@10.4.3: {} - /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: true - /lru-cache/7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: true + lru-cache@7.18.3: {} - /lz-string/1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true - dev: true + lz-string@1.5.0: {} - /magic-string/0.25.7: - resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} + magic-string@0.25.7: dependencies: sourcemap-codec: 1.4.8 - dev: true - /magic-string/0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + magic-string@0.25.9: dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true + sourcemap-codec: 1.4.8 - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + magic-string@0.26.7: dependencies: - semver: 6.3.0 - dev: true + sourcemap-codec: 1.4.8 - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 - /make-fetch-happen/9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} + make-dir@4.0.0: + dependencies: + semver: 7.6.3 + + make-error@1.3.6: {} + + make-fetch-happen@9.1.0: dependencies: - agentkeepalive: 4.2.1 + agentkeepalive: 4.5.0 cacache: 15.3.0 http-cache-semantics: 4.1.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 6.0.0 - minipass: 3.3.4 + minipass: 3.3.6 minipass-collect: 1.0.2 minipass-fetch: 1.4.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - negotiator: 0.6.2 + negotiator: 0.6.3 promise-retry: 2.0.1 socks-proxy-agent: 6.2.1 ssri: 8.0.1 transitivePeerDependencies: - supports-color - dev: true - /makeerror/1.0.11: - resolution: {integrity: sha512-M/XvMZ6oK4edXjvg/ZYyzByg8kjpVrF/m0x3wbhOlzJfsQgFkqP1rJnLnJExOcslmLSSeLiN6NmF+cBoKJHGTg==} + makeerror@1.0.12: dependencies: - tmpl: 1.0.4 - dev: true + tmpl: 1.0.5 - /map-age-cleaner/0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} + map-age-cleaner@0.1.3: dependencies: p-defer: 1.0.0 - dev: true - /matcher/5.0.0: - resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + matcher@5.0.0: dependencies: escape-string-regexp: 5.0.0 - dev: true - /matchit/1.1.0: - resolution: {integrity: sha512-+nGYoOlfHmxe5BW5tE0EMJppXEwdSf8uBA1GTZC7Q77kbT35+VKLYJMzVNWCHSsga1ps1tPYFtFyvxvKzWVmMA==} - engines: {node: '>=6'} + matchit@1.1.0: dependencies: '@arr/every': 1.0.1 - dev: true - /md5-hex/3.0.1: - resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} - engines: {node: '>=8'} + md5-hex@3.0.1: dependencies: - blueimp-md5: 2.18.0 - dev: true + blueimp-md5: 2.19.0 - /media-typer/0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: true + media-typer@0.3.0: {} - /mem/9.0.2: - resolution: {integrity: sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==} - engines: {node: '>=12.20'} + mem@9.0.2: dependencies: map-age-cleaner: 0.1.3 mimic-fn: 4.0.0 - dev: true - /memorystream/0.3.1: - resolution: {integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI=} - engines: {node: '>= 0.10.0'} - dev: true + memorystream@0.3.1: {} - /merge-descriptors/1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: true + merge-descriptors@1.0.1: {} - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + merge-stream@2.0.0: {} - /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /methods/1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: true + methods@1.1.2: {} - /micro-spelling-correcter/1.1.1: - resolution: {integrity: sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==} - dev: true + micro-spelling-correcter@1.1.1: {} - /micromatch/4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - dev: true - /mime-db/1.44.0: - resolution: {integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==} - engines: {node: '>= 0.6'} - dev: true + mime-db@1.52.0: {} - /mime-types/2.1.27: - resolution: {integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: - mime-db: 1.44.0 - dev: true + mime-db: 1.52.0 - /mime/1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true + mime@1.6.0: {} - /mimic-fn/2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + mimic-fn@2.1.0: {} - /mimic-fn/4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + mimic-fn@4.0.0: {} - /mimic-response/1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} + mimic-response@1.0.1: {} - /mimic-response/3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} + mimic-response@3.1.0: {} - /mimic-response/4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + mimic-response@4.0.0: {} - /minimalistic-assert/1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: true + minimalistic-assert@1.0.1: {} - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + minimatch@3.0.8: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch/3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch/5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch/9.0.2: - resolution: {integrity: sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - dev: true - - /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} - dev: true - /minimist/1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true + minimist@1.2.8: {} - /minipass-collect/1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} + minipass-collect@1.0.2: dependencies: - minipass: 3.3.4 - dev: true + minipass: 3.3.6 - /minipass-fetch/1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} + minipass-fetch@1.4.1: dependencies: - minipass: 3.3.4 + minipass: 3.3.6 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 - dev: true - /minipass-flush/1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} + minipass-flush@1.0.5: dependencies: - minipass: 3.3.4 - dev: true + minipass: 3.3.6 - /minipass-json-stream/1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + minipass-json-stream@1.0.2: dependencies: jsonparse: 1.3.1 - minipass: 3.3.4 - dev: true + minipass: 3.3.6 - /minipass-pipeline/1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} + minipass-pipeline@1.2.4: dependencies: - minipass: 3.3.4 - dev: true + minipass: 3.3.6 - /minipass-sized/1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} + minipass-sized@1.0.3: dependencies: - minipass: 3.3.4 - dev: true + minipass: 3.3.6 - /minipass/3.3.4: - resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} - engines: {node: '>=8'} + minipass@3.3.6: dependencies: yallist: 4.0.0 - dev: true - /minipass/6.0.2: - resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} - engines: {node: '>=16 || 14 >=14.17'} - dev: true + minipass@5.0.0: {} - /minizlib/2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + minipass@7.1.2: {} + + minizlib@2.1.2: dependencies: - minipass: 3.3.4 + minipass: 3.3.6 yallist: 4.0.0 - dev: true - /mitt/3.0.0: - resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} - dev: true + mitt@3.0.0: {} - /mkdirp-classic/0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: true + mkdirp-classic@0.5.3: {} - /mkdirp/0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true + mkdirp@0.5.6: dependencies: minimist: 1.2.8 - dev: true - /mkdirp/1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true + mkdirp@1.0.4: {} - /module-details-from-path/1.0.3: - resolution: {integrity: sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=} - dev: true + module-details-from-path@1.0.3: {} - /moment-timezone/0.5.32: - resolution: {integrity: sha512-Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA==} + moment-timezone@0.5.45: dependencies: - moment: 2.29.1 - dev: true + moment: 2.30.1 - /moment/2.29.1: - resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} - dev: true + moment@2.29.1: {} - /morgan/1.10.0: - resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} - engines: {node: '>= 0.8.0'} + moment@2.30.1: {} + + morgan@1.10.0: dependencies: basic-auth: 2.0.1 debug: 2.6.9 depd: 2.0.0 on-finished: 2.3.0 on-headers: 1.0.2 - dev: true - - /ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true - /ms/2.1.1: - resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} - dev: true + ms@2.0.0: {} - /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + ms@2.1.2: {} - /mute-stream/1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + ms@2.1.3: {} - /n12/0.4.0: - resolution: {integrity: sha512-p/hj4zQ8d3pbbFLQuN1K9honUxiDDhueOWyFLw/XgBv+wZCE44bcLH4CIcsolOceJQduh4Jf7m/LfaTxyGmGtQ==} - dev: true + mute-stream@1.0.0: {} - /nan/2.15.0: - resolution: {integrity: sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==} - dev: true + nan@2.20.0: optional: true - /native-promise-only/0.8.1: - resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==} - dev: false + native-promise-only@0.8.1: {} - /natural-compare/1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /negotiator/0.6.2: - resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} - engines: {node: '>= 0.6'} - dev: true + negotiator@0.6.3: {} - /netmask/2.0.2: - resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} - engines: {node: '>= 0.4.0'} - dev: true + netmask@2.0.2: {} - /nice-try/1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true + nice-try@1.0.5: {} - /nise/5.1.1: - resolution: {integrity: sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==} + nise@5.1.9: dependencies: - '@sinonjs/commons': 1.8.3 - '@sinonjs/fake-timers': 9.1.1 - '@sinonjs/text-encoding': 0.7.1 - just-extend: 4.1.1 - path-to-regexp: 1.8.0 - dev: true + '@sinonjs/commons': 3.0.1 + '@sinonjs/fake-timers': 11.3.1 + '@sinonjs/text-encoding': 0.7.3 + just-extend: 6.2.0 + path-to-regexp: 6.2.2 - /no-case/3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /nock/13.2.4: - resolution: {integrity: sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug==} - engines: {node: '>= 10.13'} + nock@13.2.9: dependencies: - debug: 4.3.3 + debug: 4.3.6 json-stringify-safe: 5.0.1 - lodash.set: 4.3.2 + lodash: 4.17.21 propagate: 2.0.1 transitivePeerDependencies: - supports-color - dev: true - /node-domexception/1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true + node-domexception@1.0.0: {} - /node-fetch/2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 - dev: true + optionalDependencies: + encoding: 0.1.13 - /node-fetch/3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true - /node-gyp/7.1.2: - resolution: {integrity: sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==} - engines: {node: '>= 10.12.0'} - hasBin: true + node-gyp@7.1.2: dependencies: env-paths: 2.2.1 - glob: 7.2.0 - graceful-fs: 4.2.9 + glob: 7.2.3 + graceful-fs: 4.2.11 nopt: 5.0.0 npmlog: 4.1.2 request: 2.88.2 rimraf: 3.0.2 - semver: 7.3.5 - tar: 6.1.11 + semver: 7.6.3 + tar: 6.2.1 which: 2.0.2 - dev: true - /node-int64/0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true + node-int64@0.4.0: {} - /node-releases/2.0.1: - resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} - dev: true + node-releases@2.0.18: {} - /nofilter/3.1.0: - resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} - engines: {node: '>=12.19'} - dev: true + nofilter@3.1.0: {} - /nopt/5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true + nopt@5.0.0: dependencies: abbrev: 1.1.1 - dev: true - /normalize-package-data/2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: - hosted-git-info: 2.8.8 - resolve: 1.19.0 - semver: 5.7.1 + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data/6.0.0: - resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} - engines: {node: ^16.14.0 || >=18.0.0} + normalize-package-data@6.0.2: dependencies: - hosted-git-info: 7.0.1 - is-core-module: 2.8.1 - semver: 7.3.5 + hosted-git-info: 7.0.2 + semver: 7.6.3 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-path@3.0.0: {} - /normalize-url/6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} + normalize-url@6.1.0: {} - /normalize-url/8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} - engines: {node: '>=14.16'} - dev: true + normalize-url@8.0.1: {} - /npm-bundled/1.1.2: - resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} + npm-bundled@1.1.2: dependencies: npm-normalize-package-bin: 1.0.1 - dev: true - /npm-install-checks/4.0.0: - resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} - engines: {node: '>=10'} + npm-install-checks@4.0.0: dependencies: - semver: 7.3.5 - dev: true + semver: 7.6.3 - /npm-normalize-package-bin/1.0.1: - resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} - dev: true + npm-normalize-package-bin@1.0.1: {} - /npm-package-arg/8.1.5: - resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} - engines: {node: '>=10'} + npm-package-arg@8.1.5: dependencies: hosted-git-info: 4.1.0 - semver: 7.3.5 + semver: 7.6.3 validate-npm-package-name: 3.0.0 - dev: true - /npm-packlist/2.2.2: - resolution: {integrity: sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==} - engines: {node: '>=10'} - hasBin: true + npm-packlist@2.2.2: dependencies: - glob: 7.2.0 + glob: 7.2.3 ignore-walk: 3.0.4 npm-bundled: 1.1.2 npm-normalize-package-bin: 1.0.1 - dev: true - /npm-pick-manifest/6.1.1: - resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} + npm-pick-manifest@6.1.1: dependencies: npm-install-checks: 4.0.0 npm-normalize-package-bin: 1.0.1 npm-package-arg: 8.1.5 - semver: 7.3.5 - dev: true + semver: 7.6.3 - /npm-registry-fetch/11.0.0: - resolution: {integrity: sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==} - engines: {node: '>=10'} + npm-registry-fetch@11.0.0: dependencies: make-fetch-happen: 9.1.0 - minipass: 3.3.4 + minipass: 3.3.6 minipass-fetch: 1.4.1 - minipass-json-stream: 1.0.1 + minipass-json-stream: 1.0.2 minizlib: 2.1.2 npm-package-arg: 8.1.5 transitivePeerDependencies: - supports-color - dev: true - /npm-run-all/4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true + npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 chalk: 2.4.2 cross-spawn: 6.0.5 memorystream: 0.3.1 - minimatch: 3.0.4 + minimatch: 3.1.2 pidtree: 0.3.1 read-pkg: 3.0.0 - shell-quote: 1.7.2 - string.prototype.padend: 3.1.1 - dev: true + shell-quote: 1.8.1 + string.prototype.padend: 3.1.6 - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: true - /npm-run-path/5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - dev: true - /npmlog/4.1.2: - resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} + npmlog@4.1.2: dependencies: are-we-there-yet: 1.1.7 console-control-strings: 1.1.0 gauge: 2.7.4 set-blocking: 2.0.0 - dev: true - /number-is-nan/1.0.1: - resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} - engines: {node: '>=0.10.0'} - dev: true + number-is-nan@1.0.1: {} - /nwsapi/2.2.0: - resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} - dev: true - - /oauth-sign/0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - dev: true + nwsapi@2.2.12: {} - /object-assign/4.1.1: - resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} - engines: {node: '>=0.10.0'} - dev: true + oauth-sign@0.9.0: {} - /object-inspect/1.12.0: - resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} - dev: true + object-assign@4.1.1: {} - /object-inspect/1.9.0: - resolution: {integrity: sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==} - dev: true + object-inspect@1.13.2: {} - /object-is/1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} + object-is@1.1.6: dependencies: - call-bind: 1.0.5 - define-properties: 1.1.3 - dev: true - - /object-keys/1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 - /object-path/0.11.8: - resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} - engines: {node: '>= 10.12.0'} - dev: true + object-keys@1.1.1: {} - /object.assign/4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.1 - object-keys: 1.1.1 - dev: true + object-path@0.11.8: {} - /object.assign/4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.5: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /on-finished/2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} + on-finished@2.3.0: dependencies: ee-first: 1.1.1 - dev: true - /on-headers/1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - dev: true + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 - /once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + on-headers@1.0.2: {} + + once@1.4.0: dependencies: wrappy: 1.0.2 - /onetime/5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: true - /onetime/6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - dev: true - /optionator/0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - dependencies: - deep-is: 0.1.3 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 - dev: true - - /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} + optionator@0.9.4: dependencies: - deep-is: 0.1.3 + deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 - dev: true + word-wrap: 1.2.5 - /ora/5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.1 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true - /os-tmpdir/1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true + os-tmpdir@1.0.2: {} - /p-cancelable/2.0.0: - resolution: {integrity: sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==} - engines: {node: '>=8'} + p-cancelable@2.1.1: {} - /p-cancelable/3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - dev: true + p-cancelable@3.0.0: {} - /p-defer/1.0.0: - resolution: {integrity: sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=} - engines: {node: '>=4'} - dev: true + p-defer@1.0.0: {} - /p-event/5.0.1: - resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-event@5.0.1: dependencies: - p-timeout: 5.0.2 - dev: true + p-timeout: 5.1.0 - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - - /p-limit/3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-limit/4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-limit@4.0.0: dependencies: - yocto-queue: 1.0.0 - dev: true + yocto-queue: 1.1.1 - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate/5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-locate/6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@6.0.0: dependencies: p-limit: 4.0.0 - dev: true - /p-map/4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-map/5.3.0: - resolution: {integrity: sha512-SRbIQFoLYNezHkqZslqeg963HYUtqOrfMCxjNrFOpJ19WTYuq26rQoOXeX8QQiMLUlLqdYV/7PuDsdYJ7hLE1w==} - engines: {node: '>=12'} + p-map@5.5.0: dependencies: - aggregate-error: 4.0.0 - dev: true + aggregate-error: 4.0.1 - /p-timeout/5.0.2: - resolution: {integrity: sha512-sEmji9Yaq+Tw+STwsGAE56hf7gMy9p0tQfJojIAamB7WHJYJKf1qlsg9jqBWG8q9VCxKPhZaP/AcXwEoBcYQhQ==} - engines: {node: '>=12'} - dev: true + p-timeout@5.1.0: {} - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /pac-proxy-agent/7.0.1: - resolution: {integrity: sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==} - engines: {node: '>= 14'} + pac-proxy-agent@7.0.2: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 - agent-base: 7.1.0 - debug: 4.3.4 - get-uri: 6.0.2 + agent-base: 7.1.1 + debug: 4.3.6 + get-uri: 6.0.3 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 - pac-resolver: 7.0.0 - socks-proxy-agent: 8.0.2 + https-proxy-agent: 7.0.5 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.4 transitivePeerDependencies: - supports-color - dev: true - /pac-resolver/7.0.0: - resolution: {integrity: sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==} - engines: {node: '>= 14'} + pac-resolver@7.0.1: dependencies: degenerator: 5.0.1 - ip: 1.1.8 netmask: 2.0.2 - dev: true - /package-name-regex/2.0.5: - resolution: {integrity: sha512-F0lX+FBs/Bo7KWY6EuUXj+oarXU0Og1R2Zdg3F/fVcNw3pPQAKFKxUrugno0Ds5NUztlx/gRLnQW9MF+7VTqAw==} - engines: {node: '>=12'} - dev: true + package-json-from-dist@1.0.0: {} - /pacote/11.3.5: - resolution: {integrity: sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==} - engines: {node: '>=10'} - hasBin: true + package-name-regex@2.0.5: {} + + pacote@11.3.5: dependencies: '@npmcli/git': 2.1.0 '@npmcli/installed-package-contents': 1.0.7 @@ -9242,7 +12415,7 @@ packages: chownr: 2.0.0 fs-minipass: 2.1.0 infer-owner: 1.0.4 - minipass: 3.3.4 + minipass: 3.3.6 mkdirp: 1.0.4 npm-package-arg: 8.1.5 npm-packlist: 2.2.2 @@ -9252,619 +12425,370 @@ packages: read-package-json-fast: 2.0.3 rimraf: 3.0.2 ssri: 8.0.1 - tar: 6.1.11 + tar: 6.2.1 transitivePeerDependencies: - supports-color - dev: true - /pako/1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - dev: true + pako@1.0.11: {} - /param-case/3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse-json/4.0.0: - resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} - engines: {node: '>=4'} + parse-json@4.0.0: dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 - dev: true - /parse-json/5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true - /parse-json/7.1.0: - resolution: {integrity: sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==} - engines: {node: '>=16'} + parse-json@7.1.1: dependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 - json-parse-even-better-errors: 3.0.0 - lines-and-columns: 2.0.3 + json-parse-even-better-errors: 3.0.2 + lines-and-columns: 2.0.4 type-fest: 3.13.1 - dev: true - /parse-ms/2.1.0: - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} - engines: {node: '>=6'} - dev: true + parse-ms@2.1.0: {} - /parse5/6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: true + parse5@6.0.1: {} - /parseurl/1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true + parseurl@1.3.3: {} - /pascal-case/3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /path-case/3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + path-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.3.1 - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + tslib: 2.7.0 - /path-exists/5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + path-exists@4.0.0: {} - /path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-exists@5.0.0: {} - /path-key/2.0.1: - resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=} - engines: {node: '>=4'} - dev: true + path-is-absolute@1.0.1: {} - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-key@2.0.1: {} - /path-key/4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true + path-key@3.1.1: {} - /path-parse/1.0.6: - resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} - dev: true + path-key@4.0.0: {} - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true + path-parse@1.0.7: {} - /path-scurry/1.10.0: - resolution: {integrity: sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: dependencies: - lru-cache: 10.0.1 - minipass: 6.0.2 - dev: true + lru-cache: 10.4.3 + minipass: 7.1.2 - /path-to-regexp/0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: true + path-to-regexp@0.1.7: {} - /path-to-regexp/1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - dependencies: - isarray: 0.0.1 - dev: true + path-to-regexp@6.2.2: {} - /path-type/3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + path-type@3.0.0: dependencies: pify: 3.0.0 - dev: true - /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /path/0.12.7: - resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + path@0.12.7: dependencies: process: 0.11.10 util: 0.10.4 - dev: true - /pathe/1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pend/1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: true + pathe@1.1.2: {} - /perf-regexes/1.0.1: - resolution: {integrity: sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng==} - engines: {node: '>=6.14'} - dev: true + pend@1.2.0: {} - /performance-now/2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: true + perf-regexes@1.0.1: {} - /picocolors/1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true + performance-now@2.1.0: {} - /picomatch/2.2.2: - resolution: {integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==} - engines: {node: '>=8.6'} - dev: true + picocolors@1.1.0: {} - /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picomatch@2.3.1: {} - /pidtree/0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + pidtree@0.3.1: {} - /pify/3.0.0: - resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} - engines: {node: '>=4'} - dev: true + pify@3.0.0: {} - /pirates/4.0.4: - resolution: {integrity: sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==} - engines: {node: '>= 6'} - dev: true + pirates@4.0.6: {} - /pkg-conf/4.0.0: - resolution: {integrity: sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + pkg-conf@4.0.0: dependencies: - find-up: 6.2.0 + find-up: 6.3.0 load-json-file: 7.0.1 - dev: true - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - dev: true - /pkg-dir/5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} + pkg-dir@5.0.0: dependencies: find-up: 5.0.0 - dev: true - /plur/5.1.0: - resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + plur@5.1.0: dependencies: - irregular-plurals: 3.3.0 - dev: true + irregular-plurals: 3.5.0 - /polka/0.5.2: - resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==} + polka@0.5.2: dependencies: '@polka/url': 0.5.0 trouter: 2.0.1 - dev: true - /prelude-ls/1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - dev: true + possible-typed-array-names@1.0.0: {} - /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /pretty-format/26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} + pretty-format@26.6.2: dependencies: '@jest/types': 26.6.2 ansi-regex: 5.0.1 ansi-styles: 4.3.0 - react-is: 17.0.1 - dev: true + react-is: 17.0.2 - /pretty-format/27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 - react-is: 17.0.1 - dev: true + react-is: 17.0.2 - /pretty-format/29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true + react-is: 18.3.1 - /pretty-ms/7.0.1: - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} - engines: {node: '>=10'} + pretty-ms@7.0.1: dependencies: parse-ms: 2.1.0 - dev: true - - /printj/1.1.2: - resolution: {integrity: sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==} - engines: {node: '>=0.8'} - hasBin: true - dev: true - /process-nextick-args/2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true + process-nextick-args@2.0.1: {} - /process/0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: true + process@0.11.10: {} - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true + progress@2.0.3: {} - /promise-inflight/1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - dev: true + promise-inflight@1.0.1: {} - /promise-retry/2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + promise-retry@2.0.1: dependencies: err-code: 2.0.3 retry: 0.12.0 - dev: true - /prompts/2.4.0: - resolution: {integrity: sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: true - /propagate/2.0.1: - resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} - engines: {node: '>= 8'} - dev: true + propagate@2.0.1: {} - /proxy-addr/2.0.6: - resolution: {integrity: sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==} - engines: {node: '>= 0.10'} + proxy-addr@2.0.7: dependencies: - forwarded: 0.1.2 + forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: true - /proxy-agent/6.3.0: - resolution: {integrity: sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==} - engines: {node: '>= 14'} + proxy-agent@6.3.0: dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 debug: 4.3.4 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 lru-cache: 7.18.3 - pac-proxy-agent: 7.0.1 + pac-proxy-agent: 7.0.2 proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.2 + socks-proxy-agent: 8.0.4 transitivePeerDependencies: - supports-color - dev: true - /proxy-agent/6.3.1: - resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==} - engines: {node: '>= 14'} + proxy-agent@6.3.1: dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 debug: 4.3.4 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 lru-cache: 7.18.3 - pac-proxy-agent: 7.0.1 + pac-proxy-agent: 7.0.2 proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.2 + socks-proxy-agent: 8.0.4 transitivePeerDependencies: - supports-color - dev: true - /proxy-agent/6.4.0: - resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==} - engines: {node: '>= 14'} + proxy-agent@6.4.0: dependencies: - agent-base: 7.1.0 - debug: 4.3.4 + agent-base: 7.1.1 + debug: 4.3.6 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 lru-cache: 7.18.3 - pac-proxy-agent: 7.0.1 + pac-proxy-agent: 7.0.2 proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.2 + socks-proxy-agent: 8.0.4 transitivePeerDependencies: - supports-color - dev: true - /proxy-from-env/1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true + proxy-from-env@1.1.0: {} - /psl/1.8.0: - resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} - dev: true + psl@1.9.0: {} - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} - dev: true + punycode@2.3.1: {} - /puppeteer-core/20.9.0_typescript@4.6.2: - resolution: {integrity: sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==} - engines: {node: '>=16.3.0'} - peerDependencies: - typescript: '>= 4.7.4' - peerDependenciesMeta: - typescript: - optional: true + puppeteer-core@20.9.0(encoding@0.1.13)(typescript@4.6.4): dependencies: - '@puppeteer/browsers': 1.4.6_typescript@4.6.2 - chromium-bidi: 0.4.16_devtools-protocol@0.0.1147663 - cross-fetch: 4.0.0 + '@puppeteer/browsers': 1.4.6(typescript@4.6.4) + chromium-bidi: 0.4.16(devtools-protocol@0.0.1147663) + cross-fetch: 4.0.0(encoding@0.1.13) debug: 4.3.4 devtools-protocol: 0.0.1147663 - typescript: 4.6.2 ws: 8.13.0 + optionalDependencies: + typescript: 4.6.4 transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - dev: true - /qs/6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - dev: true + qs@6.11.0: + dependencies: + side-channel: 1.0.6 - /qs/6.7.0: - resolution: {integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==} - engines: {node: '>=0.6'} - dev: true + qs@6.5.3: {} - /query-selector-shadow-dom/1.0.0: - resolution: {integrity: sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==} - dev: true + query-selector-shadow-dom@1.0.1: {} - /query-string/7.1.3: - resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} - engines: {node: '>=6'} + query-string@7.1.3: dependencies: decode-uri-component: 0.2.2 filter-obj: 1.1.0 split-on-first: 1.1.0 strict-uri-encode: 2.0.0 - dev: true - /queue-tick/1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - dev: true + querystringify@2.2.0: {} - /quick-lru/5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + queue-microtask@1.2.3: {} - /randombytes/2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + queue-tick@1.0.1: {} + + quick-lru@5.1.1: {} + + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - dev: true - /randomcolor/0.6.2: - resolution: {integrity: sha512-Mn6TbyYpFgwFuQ8KJKqf3bqqY9O1y37/0jgSK/61PUxV4QfIMv0+K2ioq8DfOjkBslcjwSzRfIDEXfzA9aCx7A==} - dev: false + randomcolor@0.6.2: {} - /range-parser/1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true + range-parser@1.2.1: {} - /raw-body/2.4.0: - resolution: {integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==} - engines: {node: '>= 0.8'} + raw-body@2.5.2: dependencies: - bytes: 3.1.0 - http-errors: 1.7.2 + bytes: 3.1.2 + http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true - /react-is/17.0.1: - resolution: {integrity: sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==} - dev: true + react-is@17.0.2: {} - /react-is/18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + react-is@18.3.1: {} - /read-package-json-fast/2.0.3: - resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} - engines: {node: '>=10'} + read-package-json-fast@2.0.3: dependencies: json-parse-even-better-errors: 2.3.1 npm-normalize-package-bin: 1.0.1 - dev: true - /read-pkg-up/10.0.0: - resolution: {integrity: sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==} - engines: {node: '>=16'} + read-pkg-up@10.0.0: dependencies: find-up: 6.3.0 read-pkg: 8.1.0 type-fest: 3.13.1 - dev: true - /read-pkg/3.0.0: - resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} - engines: {node: '>=4'} + read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 - dev: true - /read-pkg/8.1.0: - resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} - engines: {node: '>=16'} + read-pkg@8.1.0: dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 6.0.0 - parse-json: 7.1.0 - type-fest: 4.4.0 - dev: true + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 6.0.2 + parse-json: 7.1.1 + type-fest: 4.26.0 - /readable-stream/2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + readable-stream@2.3.8: dependencies: - core-util-is: 1.0.2 + core-util-is: 1.0.3 inherits: 2.0.4 isarray: 1.0.0 process-nextick-args: 2.0.1 safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true - /readable-stream/3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true - /readable-stream/4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-stream@4.5.2: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 string_decoder: 1.3.0 - dev: true - /readdir-glob/1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + readdir-glob@1.1.3: dependencies: minimatch: 5.1.6 - dev: true - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - dev: true - /recursive-readdir/2.2.3: - resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} - engines: {node: '>=6.0.0'} + recursive-readdir@2.2.3: dependencies: minimatch: 3.1.2 - dev: true - /regenerator-runtime/0.13.9: - resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} - dev: true + regenerator-runtime@0.14.1: {} - /regexp.prototype.flags/1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - set-function-name: 2.0.1 - dev: true + es-errors: 1.3.0 + set-function-name: 2.0.2 - /regexpp/3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true + regexpp@3.2.0: {} - /remove-trailing-separator/1.1.0: - resolution: {integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=} - dev: true + remove-trailing-separator@1.1.0: {} - /replace-ext/1.0.1: - resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} - engines: {node: '>= 0.10'} - dev: true + replace-ext@1.0.1: {} - /request/2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + request@2.88.2: dependencies: aws-sign2: 0.7.0 - aws4: 1.11.0 + aws4: 1.13.2 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -9875,7 +12799,7 @@ packages: is-typedarray: 1.0.0 isstream: 0.1.2 json-stringify-safe: 5.0.1 - mime-types: 2.1.27 + mime-types: 2.1.35 oauth-sign: 0.9.0 performance-now: 2.1.0 qs: 6.5.3 @@ -9883,642 +12807,393 @@ packages: tough-cookie: 2.5.0 tunnel-agent: 0.6.0 uuid: 3.4.0 - dev: true - /require-directory/2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true + require-directory@2.1.1: {} - /resolve-alpn/1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + requires-port@1.0.0: {} - /resolve-cwd/3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + resolve-alpn@1.2.1: {} + + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - dev: true - - /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + resolve-from@4.0.0: {} - /resolve.exports/1.1.0: - resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} - engines: {node: '>=10'} - dev: true + resolve-from@5.0.0: {} - /resolve/1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - dependencies: - is-core-module: 2.2.0 - path-parse: 1.0.6 - dev: true + resolve.exports@1.1.1: {} - /resolve/1.22.0: - resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} - hasBin: true + resolve@1.22.8: dependencies: - is-core-module: 2.8.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /responselike/2.0.0: - resolution: {integrity: sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==} + responselike@2.0.1: dependencies: lowercase-keys: 2.0.0 - /responselike/3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} + responselike@3.0.0: dependencies: lowercase-keys: 3.0.0 - dev: true - /resq/1.10.0: - resolution: {integrity: sha512-hCUd0xMalqtPDz4jXIqs0M5Wnv/LZXN8h7unFOo4/nvExT9dDPbhwd3udRxLlp0HgBnHcV009UlduE9NZi7A6w==} + resq@1.11.0: dependencies: fast-deep-equal: 2.0.1 - dev: true - /restore-cursor/3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - - /retry/0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: true - /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + retry@0.12.0: {} - /rgb2hex/0.2.5: - resolution: {integrity: sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==} - dev: true + reusify@1.0.4: {} - /rimraf/2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.2.0 - dev: true + rgb2hex@0.2.5: {} - /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: - glob: 7.2.0 - dev: true + glob: 7.2.3 - /rollup-plugin-cleanup/3.2.1_rollup@2.70.1: - resolution: {integrity: sha512-zuv8EhoO3TpnrU8MX8W7YxSbO4gmOR0ny06Lm3nkFfq0IVKdBUtHwhVzY1OAJyNCIAdLiyPnOrU0KnO0Fri1GQ==} - engines: {node: ^10.14.2 || >=12.0.0} - peerDependencies: - rollup: '>=2.0' + rollup-plugin-cleanup@3.2.1(rollup@2.70.2): dependencies: js-cleanup: 1.2.0 - rollup: 2.70.1 + rollup: 2.70.2 rollup-pluginutils: 2.8.2 - dev: true - /rollup-plugin-filesize/9.1.2: - resolution: {integrity: sha512-m2fE9hFaKgWKisJzyWXctOFKlgMRelo/58HgeC0lXUK/qykxiqkr6bsrotlvo2bvrwPsjgT7scNdQSr6qtl37A==} - engines: {node: '>=10.0.0'} + rollup-plugin-filesize@9.1.2: dependencies: - '@babel/runtime': 7.18.9 + '@babel/runtime': 7.25.6 boxen: 5.1.2 brotli-size: 4.0.0 colors: 1.4.0 - filesize: 6.1.0 + filesize: 6.4.0 gzip-size: 6.0.0 pacote: 11.3.5 - terser: 5.15.0 + terser: 5.31.6 transitivePeerDependencies: - supports-color - dev: true - - /rollup-plugin-license/2.6.1_rollup@2.70.1: - resolution: {integrity: sha512-JPtlXF0tZKyHztKJsyd3HHmQFSkXei+596Xrb/a/bHIdDhvFuNSKimCKkQpoXyspfeVQk7CNay1MyGpFHAXjvg==} - engines: {node: '>=10.0.0'} - peerDependencies: - rollup: ^1.0.0 || ^2.0.0 - dependencies: - commenting: 1.1.0 - glob: 7.2.0 - lodash: 4.17.21 - magic-string: 0.25.7 - mkdirp: 1.0.4 - moment: 2.29.1 - package-name-regex: 2.0.5 - rollup: 2.70.1 - spdx-expression-validate: 2.0.0 - spdx-satisfies: 5.0.1 - dev: true - - /rollup-plugin-sizes/1.0.4_rollup@2.70.1: - resolution: {integrity: sha512-sZtFW+X/d4qytqFG6aKxhUj5aJadxOpMZbDrB9j9GpMKrXy2jt4RD/xbfnagbSbH+0q1kBcNd8L9tuoETjOu6g==} - peerDependencies: - rollup: ^2.0.0 - dependencies: - filesize: 6.1.0 - module-details-from-path: 1.0.3 - rollup: 2.70.1 - dev: true - - /rollup-plugin-terser/7.0.2_rollup@2.70.1: - resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser - peerDependencies: - rollup: ^2.0.0 - dependencies: - '@babel/code-frame': 7.16.7 - jest-worker: 26.6.2 - rollup: 2.70.1 - serialize-javascript: 4.0.0 - terser: 5.15.0 - dev: true - - /rollup-plugin-ts/2.0.5_rollup@2.70.1+typescript@4.6.2: - resolution: {integrity: sha512-yLfu46XsheAEDs+OxCMnHszble9pYwGYDML82lpMw3x/65kgwd9UQSkPX0HZGk+6L+MN8hFgqeh+SPmv+uOz1w==} - engines: {node: '>=10.0.0', npm: '>=7.0.0', pnpm: '>=3.2.0', yarn: '>=1.13'} - peerDependencies: - '@babel/core': '>=6.x || >=7.x' - '@babel/plugin-transform-runtime': '>=6.x || >=7.x' - '@babel/preset-env': '>=6.x || >=7.x' - '@babel/runtime': '>=6.x || >=7.x' - '@swc/core': '>=1.x' - '@swc/helpers': '>=0.2' - rollup: '>=1.x || >=2.x' - typescript: '>=3.2.x || >= 4.x' - peerDependenciesMeta: - '@babel/core': - optional: true - '@babel/plugin-transform-runtime': - optional: true - '@babel/preset-env': - optional: true - '@babel/runtime': - optional: true - '@swc/core': - optional: true - '@swc/helpers': - optional: true + + rollup-plugin-license@2.6.1(rollup@2.70.2): + dependencies: + commenting: 1.1.0 + glob: 7.2.0 + lodash: 4.17.21 + magic-string: 0.25.7 + mkdirp: 1.0.4 + moment: 2.29.1 + package-name-regex: 2.0.5 + rollup: 2.70.2 + spdx-expression-validate: 2.0.0 + spdx-satisfies: 5.0.1 + + rollup-plugin-sizes@1.0.6(rollup@2.70.2): + dependencies: + filesize: 9.0.11 + module-details-from-path: 1.0.3 + rollup: 2.70.2 + + rollup-plugin-terser@7.0.2(rollup@2.70.2): + dependencies: + '@babel/code-frame': 7.24.7 + jest-worker: 26.6.2 + rollup: 2.70.2 + serialize-javascript: 4.0.0 + terser: 5.31.6 + + rollup-plugin-ts@2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4): dependencies: - '@rollup/pluginutils': 4.1.2 + '@rollup/pluginutils': 4.2.1 '@wessberg/stringutil': 1.0.19 - browserslist: 4.19.1 - browserslist-generator: 1.0.65 + browserslist: 4.23.3 + browserslist-generator: 1.0.66 chalk: 4.1.2 - compatfactory: 0.0.12_typescript@4.6.2 + compatfactory: 0.0.13(typescript@4.6.4) crosspath: 1.0.0 - magic-string: 0.25.7 - rollup: 2.70.1 - ts-clone-node: 0.3.30_typescript@4.6.2 - tslib: 2.3.1 - typescript: 4.6.2 - dev: true + magic-string: 0.26.7 + rollup: 2.70.2 + ts-clone-node: 0.3.32(typescript@4.6.4) + tslib: 2.7.0 + typescript: 4.6.4 + optionalDependencies: + '@babel/core': 7.25.2 + '@babel/runtime': 7.25.6 - /rollup-pluginutils/2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + rollup-pluginutils@2.8.2: dependencies: estree-walker: 0.6.1 - dev: true - /rollup/2.70.1: - resolution: {integrity: sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==} - engines: {node: '>=10.0.0'} - hasBin: true + rollup@2.70.2: optionalDependencies: - fsevents: 2.3.2 - dev: true + fsevents: 2.3.3 - /run-async/3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} - dev: true + run-async@3.0.0: {} - /run-parallel/1.1.10: - resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} - dev: true + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 - /rxjs/7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + rxjs@7.8.1: dependencies: - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /safaridriver/0.0.6: - resolution: {integrity: sha512-cU8eBBOOoCsPKb3o/lvx8ppYWFVmTsnAu2MofkPbUPCfDvyFRtD8VyOGwWTtuJTdMNIC+dPnOgaoPNnsk7zs0Q==} - dev: true + safaridriver@0.0.6: {} - /safaridriver/0.1.0: - resolution: {integrity: sha512-azzzIP3gR1TB9bVPv7QO4Zjw0rR1BWEU/s2aFdUMN48gxDjxEB13grAEuXDmkKPgE74cObymDxmAmZnL3clj4w==} - dev: true + safaridriver@0.1.2: {} - /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true + safe-buffer@5.1.2: {} - /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true + safe-buffer@5.2.1: {} - /saucelabs/7.5.0: - resolution: {integrity: sha512-wq89BtE7xb4ns7ApbgAshaUgXHlPoseytPTNwaVQNPwAaD+0klYpBrsCy/Lj77EJ+kf/vKvX1tjhRT67eDyCXg==} - hasBin: true + safe-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + + safer-buffer@2.1.2: {} + + saucelabs@7.5.0: dependencies: change-case: 4.1.2 - compressing: 1.10.0 + compressing: 1.10.1 form-data: 4.0.0 got: 11.8.6 hash.js: 1.1.7 query-string: 7.1.3 tunnel: 0.0.6 yargs: 17.7.2 - dev: true - /saxes/5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} + saxes@5.0.1: dependencies: xmlchars: 2.2.0 - dev: true - /semver/5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true + semver@5.7.2: {} - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true + semver@7.6.3: {} - /send/0.17.1: - resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} - engines: {node: '>= 0.8.0'} + send@0.18.0: dependencies: debug: 2.6.9 - depd: 1.1.2 - destroy: 1.0.4 + depd: 2.0.0 + destroy: 1.2.0 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 fresh: 0.5.2 - http-errors: 1.7.3 + http-errors: 2.0.0 mime: 1.6.0 - ms: 2.1.1 - on-finished: 2.3.0 + ms: 2.1.3 + on-finished: 2.4.1 range-parser: 1.2.1 - statuses: 1.5.0 - dev: true + statuses: 2.0.1 - /sentence-case/3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + sentence-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.3.1 + tslib: 2.7.0 upper-case-first: 2.0.2 - dev: true - /serialize-error/11.0.2: - resolution: {integrity: sha512-o43i0jLcA0LXA5Uu+gI1Vj+lF66KR9IAcy0ThbGq1bAMPN+k5IgSHsulfnqf/ddKAz6dWf+k8PD5hAr9oCSHEQ==} - engines: {node: '>=14.16'} + serialize-error@11.0.3: dependencies: type-fest: 2.19.0 - dev: true - /serialize-error/7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} + serialize-error@7.0.1: dependencies: type-fest: 0.13.1 - dev: true - /serialize-javascript/4.0.0: - resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + serialize-javascript@4.0.0: dependencies: randombytes: 2.1.0 - dev: true - /serve-static/1.14.1: - resolution: {integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==} - engines: {node: '>= 0.8.0'} + serve-static@1.15.0: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.17.1 - dev: true + send: 0.18.0 - /set-blocking/2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: true + set-blocking@2.0.0: {} - /set-function-length/1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} + set-function-length@1.2.2: dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - dev: true + has-property-descriptors: 1.0.2 - /set-function-name/2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + set-function-name@2.0.2: dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 - dev: true + has-property-descriptors: 1.0.2 - /setimmediate/1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: true + setimmediate@1.0.5: {} - /setprototypeof/1.1.1: - resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} - dev: true + setprototypeof@1.2.0: {} - /sha1/1.1.1: - resolution: {integrity: sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=} + sha1@1.1.1: dependencies: charenc: 0.0.2 crypt: 0.0.2 - dev: false - /shebang-command/1.2.0: - resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} - engines: {node: '>=0.10.0'} + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 - dev: true - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex/1.0.0: - resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} - engines: {node: '>=0.10.0'} - dev: true + shebang-regex@1.0.0: {} - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} - /shell-quote/1.7.2: - resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} - dev: true + shell-quote@1.8.1: {} - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - object-inspect: 1.12.0 - dev: true + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 - /signal-exit/3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + signal-exit@3.0.7: {} - /signal-exit/4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true + signal-exit@4.1.0: {} - /sinon/13.0.1: - resolution: {integrity: sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==} + sinon@13.0.2: dependencies: - '@sinonjs/commons': 1.8.3 - '@sinonjs/fake-timers': 9.1.1 - '@sinonjs/samsam': 6.1.1 - diff: 5.0.0 - nise: 5.1.1 + '@sinonjs/commons': 1.8.6 + '@sinonjs/fake-timers': 9.1.2 + '@sinonjs/samsam': 6.1.3 + diff: 5.2.0 + nise: 5.1.9 supports-color: 7.2.0 - dev: true - /sisteransi/1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true + sisteransi@1.0.5: {} - /skip-regex/1.0.2: - resolution: {integrity: sha512-pEjMUbwJ5Pl/6Vn6FsamXHXItJXSRftcibixDmNCWbWhic0hzHrwkMZo0IZ7fMRH9KxcWDFSkzhccB4285PutA==} - engines: {node: '>=4.2'} - dev: true + skip-regex@1.0.2: {} - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slash/4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true + slash@4.0.0: {} - /slice-ansi/5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slice-ansi@5.0.0: dependencies: - ansi-styles: 6.1.0 + ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true - /smart-buffer/4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: true + smart-buffer@4.2.0: {} - /snake-case/3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /socks-proxy-agent/6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} + socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.7.0 + debug: 4.3.6 + socks: 2.8.3 transitivePeerDependencies: - supports-color - dev: true - /socks-proxy-agent/8.0.2: - resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} - engines: {node: '>= 14'} + socks-proxy-agent@8.0.4: dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - socks: 2.7.1 + agent-base: 7.1.1 + debug: 4.3.6 + socks: 2.8.3 transitivePeerDependencies: - supports-color - dev: true - - /socks/2.7.0: - resolution: {integrity: sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.1 - smart-buffer: 4.2.0 - dev: true - /socks/2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + socks@2.8.3: dependencies: - ip: 2.0.1 + ip-address: 9.0.5 smart-buffer: 4.2.0 - dev: true - /source-map-support/0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: - buffer-from: 1.1.1 + buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map/0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true + source-map@0.5.7: {} - /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true + source-map@0.6.1: {} - /source-map/0.7.3: - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} - engines: {node: '>= 8'} - dev: true + source-map@0.7.4: {} - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - dev: true + sourcemap-codec@1.4.8: {} - /spdx-compare/1.0.0: - resolution: {integrity: sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==} + spacetrim@0.11.39: {} + + spdx-compare@1.0.0: dependencies: array-find-index: 1.0.2 spdx-expression-parse: 3.0.1 spdx-ranges: 2.1.1 - dev: true - /spdx-correct/3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.7 - dev: true + spdx-license-ids: 3.0.20 - /spdx-exceptions/2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true + spdx-exceptions@2.5.0: {} - /spdx-expression-parse/3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.7 - dev: true + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 - /spdx-expression-validate/2.0.0: - resolution: {integrity: sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==} + spdx-expression-validate@2.0.0: dependencies: spdx-expression-parse: 3.0.1 - dev: true - /spdx-license-ids/3.0.7: - resolution: {integrity: sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==} - dev: true + spdx-license-ids@3.0.20: {} - /spdx-ranges/2.1.1: - resolution: {integrity: sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==} - dev: true + spdx-ranges@2.1.1: {} - /spdx-satisfies/5.0.1: - resolution: {integrity: sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==} + spdx-satisfies@5.0.1: dependencies: spdx-compare: 1.0.0 spdx-expression-parse: 3.0.1 spdx-ranges: 2.1.1 - dev: true - /split-ca/1.0.1: - resolution: {integrity: sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=} - dev: true + split-ca@1.0.1: {} - /split-on-first/1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} - dev: true + split-on-first@1.1.0: {} - /split2/4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: true + split2@4.2.0: {} - /sprintf-js/1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + sprintf-js@1.0.3: {} - /ssh2/1.5.0: - resolution: {integrity: sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==} - engines: {node: '>=10.16.0'} - requiresBuild: true + sprintf-js@1.1.3: {} + + ssh2@1.15.0: dependencies: - asn1: 0.2.4 + asn1: 0.2.6 bcrypt-pbkdf: 1.0.2 optionalDependencies: - cpu-features: 0.0.2 - nan: 2.15.0 - dev: true + cpu-features: 0.0.10 + nan: 2.20.0 - /sshpk/1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} - engines: {node: '>=0.10.0'} - hasBin: true + sshpk@1.18.0: dependencies: - asn1: 0.2.4 + asn1: 0.2.6 assert-plus: 1.0.0 bcrypt-pbkdf: 1.0.2 dashdash: 1.14.1 @@ -10527,776 +13202,536 @@ packages: jsbn: 0.1.1 safer-buffer: 2.1.2 tweetnacl: 0.14.5 - dev: true - /ssri/8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} + ssri@8.0.1: dependencies: - minipass: 3.3.4 - dev: true + minipass: 3.3.6 - /stack-utils/2.0.5: - resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /statuses/1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: true + statuses@2.0.1: {} - /stop-iteration-iterator/1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} + stop-iteration-iterator@1.0.0: dependencies: - internal-slot: 1.0.6 - dev: true + internal-slot: 1.0.7 - /stream-buffers/3.0.2: - resolution: {integrity: sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==} - engines: {node: '>= 0.10.0'} - dev: true + stream-buffers@3.0.3: {} - /streamifier/0.1.1: - resolution: {integrity: sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg==} - engines: {node: '>=0.10'} - dev: true + streamifier@0.1.1: {} - /streamx/2.15.1: - resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + streamx@2.20.0: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 - dev: true + text-decoder: 1.1.1 + optionalDependencies: + bare-events: 2.4.2 - /strict-uri-encode/2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} - dev: true + strict-uri-encode@2.0.0: {} - /string-length/4.0.1: - resolution: {integrity: sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==} - engines: {node: '>=10'} + string-length@4.0.2: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - dev: true - /string-width/1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} + string-width@1.0.2: dependencies: code-point-at: 1.1.0 is-fullwidth-code-point: 1.0.0 strip-ansi: 3.0.1 - dev: true - /string-width/4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true - /string-width/5.1.0: - resolution: {integrity: sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.0.1 - dev: true + strip-ansi: 7.1.0 - /string-width/5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string.prototype.padend@3.1.6: dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /string.prototype.padend/3.1.1: - resolution: {integrity: sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.18.0-next.2 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /string.prototype.trimend/1.0.3: - resolution: {integrity: sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==} + string.prototype.trimend@1.0.8: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /string.prototype.trimstart/1.0.3: - resolution: {integrity: sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==} + string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /string_decoder/1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - dev: true - /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: true - /strip-ansi/3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} + strip-ansi@3.0.1: dependencies: ansi-regex: 2.1.1 - dev: true - /strip-ansi/6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - dev: true - /strip-ansi/7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - dev: true - /strip-ansi/7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true + strip-bom@3.0.0: {} - /strip-bom/3.0.0: - resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} - engines: {node: '>=4'} - dev: true + strip-bom@4.0.0: {} - /strip-bom/4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true + strip-final-newline@2.0.0: {} - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-final-newline@3.0.0: {} - /strip-final-newline/3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + strip-json-comments@3.1.1: {} - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strnum@1.0.5: {} - /supertap/3.0.1: - resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + supertap@3.0.1: dependencies: indent-string: 5.0.0 js-yaml: 3.14.1 serialize-error: 7.0.1 - strip-ansi: 7.0.1 - dev: true + strip-ansi: 7.1.0 - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - dev: true - /supports-hyperlinks/2.1.0: - resolution: {integrity: sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==} - engines: {node: '>=8'} + supports-hyperlinks@2.3.0: dependencies: has-flag: 4.0.0 supports-color: 7.2.0 - dev: true - /supports-preserve-symlinks-flag/1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true + supports-preserve-symlinks-flag@1.0.0: {} - /symbol-tree/3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: true + symbol-tree@3.2.4: {} - /tar-fs/2.0.1: - resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + tar-fs@2.0.1: dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 pump: 3.0.0 - tar-stream: 2.1.4 - dev: true + tar-stream: 2.2.0 - /tar-fs/3.0.4: - resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + tar-fs@3.0.4: dependencies: mkdirp-classic: 0.5.3 pump: 3.0.0 - tar-stream: 3.1.6 - dev: true + tar-stream: 3.1.7 - /tar-fs/3.0.5: - resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==} + tar-fs@3.0.6: dependencies: pump: 3.0.0 - tar-stream: 3.1.6 + tar-stream: 3.1.7 optionalDependencies: - bare-fs: 2.2.2 - bare-path: 2.1.0 - dev: true + bare-fs: 2.3.3 + bare-path: 2.1.3 - /tar-stream/1.6.2: - resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} - engines: {node: '>= 0.8.0'} + tar-stream@1.6.2: dependencies: bl: 1.2.3 buffer-alloc: 1.2.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 - readable-stream: 2.3.7 + readable-stream: 2.3.8 to-buffer: 1.1.1 xtend: 4.0.2 - dev: true - /tar-stream/2.1.4: - resolution: {integrity: sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==} - engines: {node: '>=6'} + tar-stream@2.2.0: dependencies: bl: 4.1.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true + readable-stream: 3.6.2 - /tar-stream/3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + tar-stream@3.1.7: dependencies: - b4a: 1.6.4 + b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.15.1 - dev: true + streamx: 2.20.0 - /tar/6.1.11: - resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} - engines: {node: '>= 10'} + tar@6.2.1: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 3.3.4 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: true - /tcp-port-used/1.0.2: - resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} + tcp-port-used@1.0.2: dependencies: debug: 4.3.1 - is2: 2.0.6 + is2: 2.0.9 transitivePeerDependencies: - supports-color - dev: true - /temp-dir/2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - dev: true + temp-dir@2.0.0: {} - /terminal-link/2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} + terminal-link@2.1.1: dependencies: ansi-escapes: 4.3.2 - supports-hyperlinks: 2.1.0 - dev: true + supports-hyperlinks: 2.3.0 - /terser/5.15.0: - resolution: {integrity: sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==} - engines: {node: '>=10'} - hasBin: true + terser@5.31.6: dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.7.0 + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 - dev: true - /test-exclude/6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: - '@istanbuljs/schema': 0.1.2 - glob: 7.2.0 + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 minimatch: 3.1.2 - dev: true - /text-table/0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-decoder@1.1.1: + dependencies: + b4a: 1.6.6 - /throat/6.0.1: - resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} - dev: true + text-table@0.2.0: {} - /through/2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true + throat@6.0.2: {} - /time-zone/1.0.0: - resolution: {integrity: sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=} - engines: {node: '>=4'} - dev: true + through@2.3.8: {} - /tmp/0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + time-zone@1.0.0: {} + + tinyrainbow@1.2.0: {} + + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - dev: true - /tmpl/1.0.4: - resolution: {integrity: sha512-9tP427gQBl7Mx3vzr3mquZ+Rq+1sAqIJb5dPSYEjWMYsqitxARsFCHkZS3sDptHAmrUPCZfzXNZqSuBIHdpV5A==} - dev: true + tmpl@1.0.5: {} - /to-buffer/1.1.1: - resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} - dev: true + to-buffer@1.1.1: {} - /to-fast-properties/2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true + to-fast-properties@2.0.0: {} - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - /toidentifier/1.0.0: - resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} - engines: {node: '>=0.6'} - dev: true + toidentifier@1.0.1: {} - /tough-cookie/2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} + tough-cookie@2.5.0: dependencies: - psl: 1.8.0 - punycode: 2.1.1 - dev: true + psl: 1.9.0 + punycode: 2.3.1 - /tough-cookie/4.0.0: - resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} - engines: {node: '>=6'} + tough-cookie@4.1.4: dependencies: - psl: 1.8.0 - punycode: 2.1.1 - universalify: 0.1.2 - dev: true + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 - /tr46/0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true + tr46@0.0.3: {} - /tr46/2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} + tr46@2.1.0: dependencies: - punycode: 2.1.1 - dev: true - - /traverse/0.3.9: - resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - dev: true + punycode: 2.3.1 - /trouter/2.0.1: - resolution: {integrity: sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==} - engines: {node: '>=6'} + trouter@2.0.1: dependencies: matchit: 1.1.0 - dev: true - /ts-clone-node/0.3.30_typescript@4.6.2: - resolution: {integrity: sha512-T9RLibxk0UBHelLUnSIZNyTxlPzcEk+KFFLXBUAG9YFJ3gPOYRrgD/RHnrlAxwEJ9Gq5S/iB8m3tcuTKtgf5Rw==} - engines: {node: '>=10.0.0'} - peerDependencies: - typescript: ^3.x || ^4.x + ts-clone-node@0.3.32(typescript@4.6.4): dependencies: - compatfactory: 0.0.12_typescript@4.6.2 - typescript: 4.6.2 - dev: true + compatfactory: 0.0.13(typescript@4.6.4) + typescript: 4.6.4 - /ts-jest/27.1.3_60149d457e34ffba7d4e845dde6a1263: - resolution: {integrity: sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@types/jest': ^27.0.0 - babel-jest: '>=27.0.0 <28' - esbuild: ~0.14.0 - jest: ^27.0.0 - typescript: '>=3.8 <5.0' - peerDependenciesMeta: - '@babel/core': - optional: true - '@types/jest': - optional: true - babel-jest: - optional: true - esbuild: - optional: true + ts-jest@27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)))(typescript@4.6.4): dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 27.5.1(ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4)) + jest-util: 27.5.1 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.6.3 + typescript: 4.6.4 + yargs-parser: 20.2.9 + optionalDependencies: + '@babel/core': 7.25.2 '@types/jest': 27.4.1 + babel-jest: 27.5.1(@babel/core@7.25.2) + + ts-jest@27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4): + dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1 + jest: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) jest-util: 27.5.1 - json5: 2.1.3 + json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.3.5 - typescript: 4.6.2 - yargs-parser: 20.2.4 - dev: true + semver: 7.6.3 + typescript: 4.6.4 + yargs-parser: 20.2.9 + optionalDependencies: + '@babel/core': 7.25.2 + '@types/jest': 27.4.1 + babel-jest: 27.5.1(@babel/core@7.25.2) + + ts-node@10.9.2(@types/node@14.6.4)(typescript@4.6.4): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 14.6.4 + acorn: 8.12.1 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.6.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 - /ts-node/10.9.1_3a45c3db8dee5edcd277f201fb244988: - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - '@types/node': 14.6.4 - acorn: 8.7.0 - acorn-walk: 8.2.0 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.16.3 + acorn: 8.12.1 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.6.2 + typescript: 4.6.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true + optional: true - /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true + tslib@1.14.1: {} - /tslib/2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + tslib@2.7.0: {} - /tsutils/3.21.0_typescript@4.6.2: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + tsutils@3.21.0(typescript@4.6.4): dependencies: tslib: 1.14.1 - typescript: 4.6.2 - dev: true + typescript: 4.6.4 - /tunnel-agent/0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - dev: true - - /tunnel/0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - dev: true - /tweetnacl/0.14.5: - resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} - dev: true + tunnel@0.0.6: {} - /type-check/0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - dev: true + tweetnacl@0.14.5: {} - /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + type-detect@4.0.8: {} - /type-fest/0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - dev: true + type-detect@4.1.0: {} - /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.13.1: {} - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest/2.13.0: - resolution: {integrity: sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==} - engines: {node: '>=12.20'} - dev: true + type-fest@0.21.3: {} - /type-fest/2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - dev: true + type-fest@2.13.0: {} - /type-fest/3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - dev: true + type-fest@2.19.0: {} - /type-fest/4.4.0: - resolution: {integrity: sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==} - engines: {node: '>=16'} - dev: true + type-fest@3.13.1: {} - /type-is/1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-fest@4.26.0: {} + + type-is@1.6.18: dependencies: media-typer: 0.3.0 - mime-types: 2.1.27 - dev: true + mime-types: 2.1.35 - /typedarray-to-buffer/3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 - dev: true - /typescript/4.6.2: - resolution: {integrity: sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true + typescript@4.6.4: {} - /ua-parser-js/1.0.2: - resolution: {integrity: sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==} - dev: true + ua-parser-js@1.0.38: {} - /unbzip2-stream/1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + unbzip2-stream@1.4.3: dependencies: buffer: 5.7.1 through: 2.3.8 - dev: true - /undici-types/5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true + undici-types@5.26.5: {} - /unique-filename/1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + undici-types@6.19.8: {} + + unique-filename@1.1.1: dependencies: unique-slug: 2.0.2 - dev: true - /unique-slug/2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + unique-slug@2.0.2: dependencies: imurmurhash: 0.1.4 - dev: true - /universalify/0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true + universalify@0.2.0: {} - /universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true + universalify@2.0.1: {} - /unpipe/1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: true - - /unzipper/0.10.14: - resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} - dependencies: - big-integer: 1.6.51 - binary: 0.3.0 - bluebird: 3.4.7 - buffer-indexof-polyfill: 1.0.2 - duplexer2: 0.1.4 - fstream: 1.0.12 - graceful-fs: 4.2.9 - listenercount: 1.0.1 - readable-stream: 2.3.7 - setimmediate: 1.0.5 - dev: true + unpipe@1.0.0: {} - /upper-case-first/2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: - tslib: 2.3.1 - dev: true + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 - /upper-case/2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + upper-case-first@2.0.2: dependencies: - tslib: 2.3.1 - dev: true + tslib: 2.7.0 - /uri-js/4.4.0: - resolution: {integrity: sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==} + upper-case@2.0.2: dependencies: - punycode: 2.1.1 - dev: true + tslib: 2.7.0 - /userhome/1.0.0: - resolution: {integrity: sha512-ayFKY3H+Pwfy4W98yPdtH1VqH4psDeyW8lYYFzfecR9d6hqLpqhecktvYR3SEEXt7vG0S1JEpciI3g94pMErig==} - engines: {node: '>= 0.8.0'} - dev: true + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 - /util-deprecate/1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 - /util/0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + userhome@1.0.0: {} + + util-deprecate@1.0.2: {} + + util@0.10.4: dependencies: inherits: 2.0.3 - dev: true - /utils-merge/1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true + utils-merge@1.0.1: {} - /uuid/3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true + uuid@3.4.0: {} - /uuid/8.1.0: - resolution: {integrity: sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==} - hasBin: true - dev: true + uuid@8.1.0: {} - /v8-compile-cache-lib/3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /v8-compile-cache/2.2.0: - resolution: {integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==} - dev: true + v8-compile-cache@2.4.0: {} - /v8-to-istanbul/8.1.1: - resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@8.1.1: dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - convert-source-map: 1.7.0 - source-map: 0.7.3 - dev: true + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 1.9.0 + source-map: 0.7.4 - /validate-npm-package-license/3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: - spdx-correct: 3.1.1 + spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - dev: true - /validate-npm-package-name/3.0.0: - resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + validate-npm-package-name@3.0.0: dependencies: builtins: 1.0.3 - dev: true - /vary/1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: true + vary@1.1.2: {} - /verror/1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + verror@1.10.0: dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 - dev: true - /vinyl-sourcemaps-apply/0.2.1: - resolution: {integrity: sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=} + vinyl-sourcemaps-apply@0.2.1: dependencies: source-map: 0.5.7 - dev: true - /vinyl/2.2.1: - resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} - engines: {node: '>= 0.10'} + vinyl@2.2.1: dependencies: clone: 2.1.2 clone-buffer: 1.0.0 @@ -11304,133 +13739,81 @@ packages: cloneable-readable: 1.1.3 remove-trailing-separator: 1.1.0 replace-ext: 1.0.1 - dev: true - /w3c-hr-time/1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. + w3c-hr-time@1.0.2: dependencies: browser-process-hrtime: 1.0.0 - dev: true - /w3c-xmlserializer/2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} + w3c-xmlserializer@2.0.0: dependencies: xml-name-validator: 3.0.0 - dev: true - /wait-port/1.0.4: - resolution: {integrity: sha512-w8Ftna3h6XSFWWc2JC5gZEgp64nz8bnaTp5cvzbJSZ53j+omktWTDdwXxEF0jM8YveviLgFWvNGrSvRHnkyHyw==} - engines: {node: '>=10'} - hasBin: true + wait-port@1.1.0: dependencies: chalk: 4.1.2 commander: 9.5.0 - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true - /walker/1.0.7: - resolution: {integrity: sha512-cF4je9Fgt6sj1PKfuFt9jpQPeHosM+Ryma/hfY9U7uXGKM7pJCsF0v2r55o+Il54+i77SyYWetB4tD1dEygRkw==} + walker@1.0.8: dependencies: - makeerror: 1.0.11 - dev: true + makeerror: 1.0.12 - /wcwidth/1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - requiresBuild: true + wcwidth@1.0.1: dependencies: - defaults: 1.0.3 - dev: true + defaults: 1.0.4 - /wdio-chromedriver-service/8.1.1_c7bce63581aea0b27bc74a6bea04d05f: - resolution: {integrity: sha512-pN3GiOkTIMnalfq4PJAHdX95pDp1orHnTY8W1fIbd6ok81ba97UjerTgS7lUDRUh1p0MAm35Ww0uc0/9wzB7SA==} - engines: {node: ^16.13 || >=18} - peerDependencies: - '@wdio/types': ^7.0.0 || ^8.0.0-alpha.219 - chromedriver: '*' - webdriverio: ^7.0.0 || ^8.0.0-alpha.219 - peerDependenciesMeta: - '@wdio/types': - optional: true - chromedriver: - optional: true + wdio-chromedriver-service@8.1.1(@wdio/types@8.39.0)(chromedriver@126.0.5)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)): dependencies: - '@wdio/logger': 8.16.17 - '@wdio/types': 8.39.0 - chromedriver: 126.0.5 - fs-extra: 11.1.0 + '@wdio/logger': 8.38.0 + fs-extra: 11.2.0 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.39.1_typescript@4.6.2 + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + optionalDependencies: + '@wdio/types': 8.39.0 + chromedriver: 126.0.5 transitivePeerDependencies: - supports-color - dev: true - /wdio-edgedriver-service/3.0.3_@wdio+types@8.39.0: - resolution: {integrity: sha512-oHKUFnh9Nn4s749Yl8hp20xvfF8GnK4jNV84qoy52/a0ETgWh0FG5qlRVXBIqIulqhGlfrCgL5/pIizMnEix1w==} - engines: {node: ^16.13 || >=18} - peerDependencies: - '@wdio/types': ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - '@wdio/types': - optional: true + wdio-edgedriver-service@3.0.3(@wdio/types@8.39.0): dependencies: - '@wdio/logger': 8.16.17 - '@wdio/types': 8.39.0 - edgedriver: 5.3.8 - get-port: 7.0.0 + '@wdio/logger': 8.38.0 + edgedriver: 5.6.1 + get-port: 7.1.0 split2: 4.2.0 - wait-port: 1.0.4 + wait-port: 1.1.0 + optionalDependencies: + '@wdio/types': 8.39.0 transitivePeerDependencies: - supports-color - dev: true - /wdio-safaridriver-service/2.1.1_11917679ce69388bd88480f7734310d5: - resolution: {integrity: sha512-Rz8uls7EY0bHOZJpykmAMIQzT0gNe6lg32XdCjO/ppSvscWKP57lePGWD80RCU4kKnwX1TbrTivqfjl6vK/1rQ==} - engines: {node: ^16.13 || >=18} - peerDependencies: - '@wdio/types': ^7.0.0 || ^8.0.0-alpha.219 - webdriverio: ^7.0.0 || ^8.0.0-alpha.219 - peerDependenciesMeta: - '@wdio/types': - optional: true + wdio-safaridriver-service@2.1.1(@wdio/types@8.39.0)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)): dependencies: - '@types/split2': 4.2.1 - '@types/tcp-port-used': 1.0.1 - '@wdio/logger': 8.16.17 - '@wdio/types': 8.39.0 - fs-extra: 11.1.1 + '@types/split2': 4.2.3 + '@types/tcp-port-used': 1.0.4 + '@wdio/logger': 8.38.0 + fs-extra: 11.2.0 safaridriver: 0.0.6 split2: 4.2.0 tcp-port-used: 1.0.2 - webdriverio: 8.39.1_typescript@4.6.2 + webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) + optionalDependencies: + '@wdio/types': 8.39.0 transitivePeerDependencies: - supports-color - dev: true - /weakmap-polyfill/2.0.4: - resolution: {integrity: sha512-ZzxBf288iALJseijWelmECm/1x7ZwQn3sMYIkDr2VvZp7r6SEKuT8D0O9Wiq6L9Nl5mazrOMcmiZE/2NCenaxw==} - engines: {node: '>=8.10.0'} - dev: false + weakmap-polyfill@2.0.4: {} - /web-streams-polyfill/3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true + web-streams-polyfill@3.3.3: {} - /web-vitals/3.3.2: - resolution: {integrity: sha512-qRkpmSeKfEWAzNhtX541xA8gCJ+pqCqBmUlDVkVDSCSYUvfvNqF+k9g8I+uyreRcDBdfiJrd0/aLbTy5ydo49Q==} - dev: false + web-vitals@3.3.2: {} - /webdriver/8.39.0: - resolution: {integrity: sha512-Kc3+SfiH4ufyrIht683VT2vnJocx0pfH8rYdyPvEh1b2OYewtFTHK36k9rBDHZiBmk6jcSXs4M2xeFgOuon9Lg==} - engines: {node: ^16.13 || >=18} + webdriver@8.39.0: dependencies: - '@types/node': 20.11.30 - '@types/ws': 8.5.4 + '@types/node': 20.16.3 + '@types/ws': 8.5.12 '@wdio/config': 8.39.0 '@wdio/logger': 8.38.0 '@wdio/protocols': 8.38.0 @@ -11438,24 +13821,16 @@ packages: '@wdio/utils': 8.39.0 deepmerge-ts: 5.1.0 got: 12.6.1 - ky: 0.33.2 - ws: 8.13.0 + ky: 0.33.3 + ws: 8.18.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - /webdriverio/8.39.1_typescript@4.6.2: - resolution: {integrity: sha512-dPwLgLNtP+l4vnybz+YFxxH8nBKOP7j6VVzKtfDyTLDQg9rz3U8OA4xMMQCBucnrVXy3KcKxGqlnMa+c4IfWCQ==} - engines: {node: ^16.13 || >=18} - peerDependencies: - devtools: ^8.14.0 - peerDependenciesMeta: - devtools: - optional: true + webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4): dependencies: - '@types/node': 20.11.30 + '@types/node': 20.16.3 '@wdio/config': 8.39.0 '@wdio/logger': 8.38.0 '@wdio/protocols': 8.38.0 @@ -11463,22 +13838,22 @@ packages: '@wdio/types': 8.39.0 '@wdio/utils': 8.39.0 archiver: 7.0.1 - aria-query: 5.1.3 + aria-query: 5.3.0 css-shorthand-properties: 1.1.1 css-value: 0.0.1 devtools-protocol: 0.0.1302984 grapheme-splitter: 1.0.4 - import-meta-resolve: 4.0.0 + import-meta-resolve: 4.1.0 is-plain-obj: 4.1.0 jszip: 3.10.1 lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 - minimatch: 9.0.2 - puppeteer-core: 20.9.0_typescript@4.6.2 - query-selector-shadow-dom: 1.0.0 - resq: 1.10.0 + minimatch: 9.0.5 + puppeteer-core: 20.9.0(encoding@0.1.13)(typescript@4.6.4) + query-selector-shadow-dom: 1.0.1 + resq: 1.11.0 rgb2hex: 0.2.5 - serialize-error: 11.0.2 + serialize-error: 11.0.3 webdriver: 8.39.0 transitivePeerDependencies: - bufferutil @@ -11486,321 +13861,178 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /webidl-conversions/3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true + webidl-conversions@3.0.1: {} - /webidl-conversions/5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - dev: true + webidl-conversions@5.0.0: {} - /webidl-conversions/6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - dev: true + webidl-conversions@6.1.0: {} - /well-known-symbols/2.0.0: - resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} - engines: {node: '>=6'} - dev: true + well-known-symbols@2.0.0: {} - /whatwg-encoding/1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + whatwg-encoding@1.0.5: dependencies: iconv-lite: 0.4.24 - dev: true - /whatwg-mimetype/2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} - dev: true + whatwg-mimetype@2.3.0: {} - /whatwg-url/5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true - /whatwg-url/8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} + whatwg-url@8.7.0: dependencies: lodash: 4.17.21 tr46: 2.1.0 webidl-conversions: 6.1.0 - dev: true - /which-boxed-primitive/1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 - is-symbol: 1.0.3 - dev: true + is-symbol: 1.0.4 - /which-collection/1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.2: dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 - dev: true + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 - /which-typed-array/1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.15: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true + has-tostringtag: 1.0.2 - /which/1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + which@1.3.1: dependencies: isexe: 2.0.0 - dev: true - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - dev: true - /which/4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true + which@4.0.0: dependencies: isexe: 3.1.1 - dev: true - /wide-align/1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + wide-align@1.1.5: dependencies: - string-width: 4.2.3 - dev: true + string-width: 1.0.2 - /widest-line/3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + widest-line@3.1.0: dependencies: string-width: 4.2.3 - dev: true - /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true + word-wrap@1.2.5: {} - /wrap-ansi/6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi/7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi/8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: - ansi-styles: 6.1.0 + ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - dev: true - /wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrappy@1.0.2: {} - /write-file-atomic/3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + write-file-atomic@3.0.3: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - dev: true - /write-file-atomic/4.0.1: - resolution: {integrity: sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} + write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - dev: true - /ws/7.5.6: - resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@7.5.10: {} - /ws/8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.13.0: {} - /xml-name-validator/3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} - dev: true + ws@8.18.0: {} - /xmlchars/2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true + xml-name-validator@3.0.0: {} - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true + xmlchars@2.2.0: {} - /y18n/5.0.5: - resolution: {integrity: sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==} - engines: {node: '>=10'} - dev: true + xtend@4.0.2: {} - /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + y18n@5.0.8: {} - /yargs-parser/20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - dev: true + yallist@3.1.1: {} - /yargs-parser/21.0.0: - resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==} - engines: {node: '>=12'} - dev: true + yallist@4.0.0: {} - /yargs-parser/21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true + yargs-parser@20.2.9: {} - /yargs/16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.5 - yargs-parser: 20.2.4 - dev: true + yargs-parser@21.1.1: {} - /yargs/17.3.1: - resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==} - engines: {node: '>=12'} + yargs@16.2.0: dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 - y18n: 5.0.5 - yargs-parser: 21.0.0 - dev: true + y18n: 5.0.8 + yargs-parser: 20.2.9 - /yargs/17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} - engines: {node: '>=12'} + yargs@17.7.1: dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 - y18n: 5.0.5 + y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yargs/17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 - y18n: 5.0.5 + y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yauzl/2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - dev: true - /yazl/2.5.1: - resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} + yazl@2.5.1: dependencies: buffer-crc32: 0.2.13 - dev: true - /yn/3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yn@3.1.1: {} - /yocto-queue/0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /yocto-queue/1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@1.1.1: {} - /zip-stream/6.0.1: - resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} - engines: {node: '>= 14'} + zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 compress-commons: 6.0.2 readable-stream: 4.5.2 - dev: true - -registry: '' diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index c3dffe9dd..4b9f7b649 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "e9413fa93ea2c0ffe9295c8b78cb00150183502c", + "pnpmShrinkwrapHash": "eb82df4c18604f27a55346fce2f1d98d55b467f6", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/rush.json b/rush.json index 488c0fcc3..293255440 100644 --- a/rush.json +++ b/rush.json @@ -26,7 +26,7 @@ * Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation * for details about these alternatives. */ - "pnpmVersion": "6.27.1", + "pnpmVersion": "9.7.1", /** * Options that are only used when the PNPM package manager is selected From 1b658d3e49255cbc53221049bcb5e56a5de049a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Tue, 3 Sep 2024 09:11:35 +0200 Subject: [PATCH 045/277] Remove node-fetch from dev dependencies --- common/config/rush/pnpm-lock.yaml | 14 -------------- common/config/rush/repo-state.json | 2 +- trackers/javascript-tracker/package.json | 2 -- trackers/javascript-tracker/test/micro.ts | 1 - trackers/node-tracker/test/got_emitter.ts | 1 + 5 files changed, 2 insertions(+), 18 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 2241436b9..86aaccb2f 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -2481,9 +2481,6 @@ importers: '@types/node': specifier: ~14.6.0 version: 14.6.4 - '@types/node-fetch': - specifier: '2' - version: 2.6.11 '@types/youtube': specifier: ~0.0.46 version: 0.0.50 @@ -2538,9 +2535,6 @@ importers: lodash: specifier: ~4.17.21 version: 4.17.21 - node-fetch: - specifier: '2' - version: 2.7.0(encoding@0.1.13) npm-run-all: specifier: ~4.1.5 version: 4.1.5 @@ -3214,9 +3208,6 @@ packages: '@types/lodash@4.14.202': resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - '@types/node-fetch@2.6.11': - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - '@types/node@14.6.4': resolution: {integrity: sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ==} @@ -8533,11 +8524,6 @@ snapshots: '@types/lodash@4.14.202': {} - '@types/node-fetch@2.6.11': - dependencies: - '@types/node': 14.6.4 - form-data: 4.0.0 - '@types/node@14.6.4': {} '@types/node@16.18.106': {} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 4b9f7b649..98aeae6bc 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "eb82df4c18604f27a55346fce2f1d98d55b467f6", + "pnpmShrinkwrapHash": "d2b7857ec8d95c90fd800c6b48ae3be27839523f", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index ae4d9fc2b..e951416da 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -111,8 +111,6 @@ "wdio-chromedriver-service": "~8.1.1", "webdriverio": "~8.39.1", "@wdio/shared-store-service": "~8.39.1", - "node-fetch": "2", - "@types/node-fetch": "2", "@wdio/globals": "~8.39.1", "wdio-safaridriver-service": "~2.1.1", "wdio-edgedriver-service": "~3.0.3", diff --git a/trackers/javascript-tracker/test/micro.ts b/trackers/javascript-tracker/test/micro.ts index 5715cb9a2..d2719ad74 100644 --- a/trackers/javascript-tracker/test/micro.ts +++ b/trackers/javascript-tracker/test/micro.ts @@ -1,6 +1,5 @@ import Docker from 'dockerode'; import { Writable } from 'stream'; -import fetch from 'node-fetch'; export interface DockerWrapper { url: string; diff --git a/trackers/node-tracker/test/got_emitter.ts b/trackers/node-tracker/test/got_emitter.ts index c88968e57..439acbbcf 100644 --- a/trackers/node-tracker/test/got_emitter.ts +++ b/trackers/node-tracker/test/got_emitter.ts @@ -210,6 +210,7 @@ test('gotEmitter should add STM querystring parameter when sending POST requests }); test('gotEmitter should add STM querystring parameter when sending GET requests', async (t) => { + sinon.restore(); const testTime = new Date('2020-06-15T09:12:30.000Z').getTime(); const clock = sinon.useFakeTimers(testTime); From 79470a482e4a8e241e2e1a48aad71bc40f3c6ca0 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 29 Aug 2024 08:57:02 +0200 Subject: [PATCH 046/277] Fix integration tests to account for deprecated types --- .../test/functional/activityCallback.test.ts | 5 ++-- .../test/integration/buttonClick.test.ts | 5 ++-- .../test/integration/helpers.ts | 5 ++-- .../test/integration/integration.test.ts | 5 ++-- .../test/integration/onSessionUpdate.test.ts | 12 +++++---- .../test/media/media.test.ts | 24 ++++++++++------- .../test/media/vimeo.test.ts | 26 ++++++++++--------- .../test/media/youtube.test.ts | 21 ++++++++------- 8 files changed, 59 insertions(+), 44 deletions(-) diff --git a/trackers/javascript-tracker/test/functional/activityCallback.test.ts b/trackers/javascript-tracker/test/functional/activityCallback.test.ts index 79d4a22ba..0a5e9fb84 100644 --- a/trackers/javascript-tracker/test/functional/activityCallback.test.ts +++ b/trackers/javascript-tracker/test/functional/activityCallback.test.ts @@ -9,8 +9,9 @@ declare var findFirstEventForPageViewId: (id: string) => Record declare var findLastEventForPageViewId: (id: string) => Record; describe('Activity tracking with callbacks', () => { - if (browser.capabilities.browserName === 'internet explorer') { - fit('Skip IE', () => true); + const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName; + if (browserName === 'internet explorer') { + fit('Skip IE', () => {}); return; } diff --git a/trackers/javascript-tracker/test/integration/buttonClick.test.ts b/trackers/javascript-tracker/test/integration/buttonClick.test.ts index bacaed1cf..c5c276f36 100644 --- a/trackers/javascript-tracker/test/integration/buttonClick.test.ts +++ b/trackers/javascript-tracker/test/integration/buttonClick.test.ts @@ -11,8 +11,9 @@ const loadUrlAndWait = async (url: string) => { }; describe('Snowplow Micro integration', () => { - if (browser.capabilities.browserName === 'internet explorer') { - fit('Skip IE', () => true); + const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName; + if (browserName === 'internet explorer') { + fit('Skip IE', () => {}); return; } diff --git a/trackers/javascript-tracker/test/integration/helpers.ts b/trackers/javascript-tracker/test/integration/helpers.ts index e71d298ca..7f0d95f97 100644 --- a/trackers/javascript-tracker/test/integration/helpers.ts +++ b/trackers/javascript-tracker/test/integration/helpers.ts @@ -1,5 +1,6 @@ import { WaitUntilOptions } from 'webdriverio'; import util from 'util'; +import { Capabilities } from '@wdio/types'; declare module WebdriverIO { interface Browser { @@ -48,8 +49,8 @@ export async function pageSetup() { if (!dockerUrl) { throw 'dockerInstanceUrl not available in `browser.sharedStore`'; } - const testIdentifier = - browser.capabilities.browserName + '_' + browser.capabilities.browserVersion + '_' + Math.random(); + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; + const testIdentifier = capabilities.browserName + '_' + capabilities.browserVersion + '_' + Math.random(); await browser.url('/index.html'); await browser.setCookies([ { name: 'container', value: dockerUrl }, diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index 28ba0966c..d3725a6ff 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -35,8 +35,9 @@ const geoContext = { }; describe('Snowplow Micro integration', () => { - if (browser.capabilities.browserName === 'internet explorer') { - fit('Skip IE', () => true); + const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName; + if (browserName === 'internet explorer') { + fit('Skip IE', () => {}); return; } diff --git a/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts b/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts index 9e77fd8e4..0e7fc4745 100644 --- a/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts +++ b/trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts @@ -1,18 +1,20 @@ import F from 'lodash/fp'; import { fetchResults } from '../micro'; import { pageSetup } from './helpers'; +import { Capabilities } from '@wdio/types'; describe('onSessionUpdate callback feature', () => { + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; if ( - browser.capabilities.browserName === 'internet explorer' && - (browser.capabilities.version === '9' || browser.capabilities.browserVersion === '10') + capabilities.browserName === 'internet explorer' && + (capabilities.version === '9' || capabilities.browserVersion === '10') ) { - fit('Skip IE 9 and 10', () => true); + fit('Skip IE 9 and 10', () => {}); return; } - if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') { - fit('Skip Safari 8', () => true); + if (capabilities.browserName === 'safari' && capabilities.version === '8.0') { + fit('Skip Safari 8', () => {}); return; } diff --git a/trackers/javascript-tracker/test/media/media.test.ts b/trackers/javascript-tracker/test/media/media.test.ts index a890669d9..dd57f12d9 100644 --- a/trackers/javascript-tracker/test/media/media.test.ts +++ b/trackers/javascript-tracker/test/media/media.test.ts @@ -1,6 +1,7 @@ import _ from 'lodash'; import { fetchResults } from '../micro'; import { pageSetup, waitUntil } from '../integration/helpers'; +import { Capabilities } from '@wdio/types'; const playVideoElement1Callback = () => { return (done: (_: void) => void) => { @@ -102,7 +103,8 @@ const makeExpectedEvent = ( }, }; - if (browser.capabilities.browserName === 'internet explorer') { + const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName; + if (browserName === 'internet explorer') { data.context[0].data.defaultMuted = false; } @@ -151,16 +153,17 @@ describe('Media Tracking', () => { } }; + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; if ( - browser.capabilities.browserName === 'internet explorer' && - (browser.capabilities.version === '9' || browser.capabilities.browserVersion === '10') + capabilities.browserName === 'internet explorer' && + (capabilities.version === '9' || capabilities.browserVersion === '10') ) { - fit('Skip IE 9 and 10', () => true); + fit('Skip IE 9 and 10', () => {}); return; } - if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') { - fit('Skip Safari 8', () => true); + if (capabilities.browserName === 'safari' && capabilities.version === '8.0') { + fit('Skip Safari 8', () => {}); return; } @@ -515,13 +518,14 @@ describe('Media Tracking', () => { Object.entries(expected).forEach(([name, properties]) => { // I can't find a good way of triggering an error event for firefox 53 or chrome 60, so they can // be skipped for now (events past 'error' are fired as a result of the error occouring) + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; if ( (name === 'error' && - browser.capabilities.browserName === 'firefox' && - browser.capabilities.browserVersion === '53.0') || - (browser.capabilities.browserName === 'chrome' && browser.capabilities.version === '60.0.3112.78') + capabilities.browserName === 'firefox' && + capabilities.browserVersion === '53.0') || + (capabilities.browserName === 'chrome' && capabilities.version === '60.0.3112.78') ) { - fit('Skip events from error', () => true); + fit('Skip events from error', () => {}); return; } else { it('tracks ' + name, () => { diff --git a/trackers/javascript-tracker/test/media/vimeo.test.ts b/trackers/javascript-tracker/test/media/vimeo.test.ts index d028fb3ea..4dab0a53d 100644 --- a/trackers/javascript-tracker/test/media/vimeo.test.ts +++ b/trackers/javascript-tracker/test/media/vimeo.test.ts @@ -1,6 +1,7 @@ import { VimeoEvent } from '@snowplow/browser-plugin-vimeo-tracking'; import { pageSetup } from '../integration/helpers'; import { fetchResults } from '../micro'; +import { Capabilities } from '@wdio/types'; function compareContextObjects(expected: any, received: any) { expect(expected.schema).toEqual(received.schema); @@ -51,37 +52,38 @@ const makeContext = () => { }; const skipBrowsers = (browser: any) => { - if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.version === '9') { - fit('Skip IE 9', () => true); + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; + if (capabilities.browserName === 'internet explorer' && capabilities.version === '9') { + fit('Skip IE 9', () => {}); return; } - if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.browserVersion === '10') { - fit('Skip IE 10', () => true); + if (capabilities.browserName === 'internet explorer' && capabilities.browserVersion === '10') { + fit('Skip IE 10', () => {}); return; } // element not interactable: Element is not displayed - if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.browserVersion === '11') { - fit('Skip IE 11', () => true); + if (capabilities.browserName === 'internet explorer' && capabilities.browserVersion === '11') { + fit('Skip IE 11', () => {}); return; } // Unknown command: {"name":"sendKeysToActiveElement","parameters":{"value":["k"]}} - if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') { - fit('Skip Safari 8', () => true); + if (capabilities.browserName === 'safari' && capabilities.version === '8.0') { + fit('Skip Safari 8', () => {}); return; } // Element is obscured (WARNING: The server did not provide any stacktrace information) - if (browser.capabilities.browserName === 'MicrosoftEdge' && browser.capabilities.browserVersion === '13.10586') { - fit('Skip Edge 13', () => true); + if (capabilities.browserName === 'MicrosoftEdge' && capabilities.browserVersion === '13.10586') { + fit('Skip Edge 13', () => {}); return; } // Driver info: driver.version: unknown - if (browser.capabilities.browserName === 'firefox' && browser.capabilities.version === '53.0') { - fit('Skip Firefox 53', () => true); + if (capabilities.browserName === 'firefox' && capabilities.version === '53.0') { + fit('Skip Firefox 53', () => {}); return; } }; diff --git a/trackers/javascript-tracker/test/media/youtube.test.ts b/trackers/javascript-tracker/test/media/youtube.test.ts index 9647e7b78..963ce868f 100644 --- a/trackers/javascript-tracker/test/media/youtube.test.ts +++ b/trackers/javascript-tracker/test/media/youtube.test.ts @@ -1,5 +1,6 @@ import { fetchResults } from '../micro'; import { pageSetup, waitUntil } from '../integration/helpers'; +import { Capabilities } from '@wdio/types'; declare var player: YT.Player; @@ -67,14 +68,15 @@ const compare = (expected: any, received: any) => { let log: Array = []; function shouldSkipBrowser(browser: any): boolean { + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; return ( - browser.capabilities.browserName === 'internet explorer' || + capabilities.browserName === 'internet explorer' || // Unknown command: {"name":"sendKeysToActiveElement","parameters":{"value":["k"]}}, Safari 12 keeps crashing - (browser.capabilities.browserName === 'safari' && browser.capabilities.browserVersion < 14) || + (capabilities.browserName === 'safari' && parseInt(capabilities.browserVersion ?? "") < 14) || // Element is obscured (WARNING: The server did not provide any stacktrace information) - (browser.capabilities.browserName === 'MicrosoftEdge' && browser.capabilities.browserVersion === '13.10586') || + (capabilities.browserName === 'MicrosoftEdge' && capabilities.browserVersion === '13.10586') || // Driver info: driver.version: unknown - (browser.capabilities.browserName === 'firefox' && browser.capabilities.version === '53.0') + (capabilities.browserName === 'firefox' && capabilities.version === '53.0') ); } @@ -112,7 +114,7 @@ describe('Youtube tracking', () => { describe('YouTube Tracker', () => { if (shouldSkipBrowser(browser)) { - fit('Skip browser', () => true); + fit('Skip browser', () => {}); return; } @@ -188,13 +190,14 @@ describe('Youtube tracking', () => { }; Object.entries(expected).forEach(([name, properties]) => { - if (browser.capabilities.browserName === 'internet explorer' && name === 'playbackratechange') { + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; + if (capabilities.browserName === 'internet explorer' && name === 'playbackratechange') { return; // The hotkey for playback rate change doesn't work in IE // Trying to create a key sequence to change the option in the UI has proved to be // very unreliable, so this test is skipped } - if (browser.capabilities.browserName === 'safari' && name == 'percentprogress') { + if (capabilities.browserName === 'safari' && name == 'percentprogress') { return; // percentprogress events seem not be tracked reliably in Safari, should investigate why } @@ -208,7 +211,7 @@ describe('Youtube tracking', () => { describe('YouTube Tracker (2 videos, 1 tracker)', () => { if (shouldSkipBrowser(browser)) { - fit('Skip browser', () => true); + fit('Skip browser', () => {}); return; } @@ -251,7 +254,7 @@ describe('Youtube tracking', () => { describe('YouTube Tracker (1 video, 2 trackers)', () => { if (shouldSkipBrowser(browser)) { - fit('Skip browser', () => true); + fit('Skip browser', () => {}); return; } From 813c1c0fd0f27eee292c70ebfe61dbcfeac11c4e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 08:15:15 +0000 Subject: [PATCH 047/277] Update changelogs [skip ci] --- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- .../release-3.24.3_2024-09-03-05-39.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 9 ++++++++- libraries/tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/tracker-core/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 9 ++++++++- .../browser-plugin-browser-features/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 12 ++++++++++++ .../CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-consent/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-consent/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 9 ++++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 9 ++++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-event-specifications/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-media/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-media/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 12 ++++++++++++ .../CHANGELOG.md | 9 ++++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 9 ++++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 9 ++++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 12 ++++++++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 9 ++++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 9 ++++++++- trackers/browser-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/browser-tracker/CHANGELOG.md | 9 ++++++++- trackers/javascript-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 9 ++++++++- trackers/node-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/node-tracker/CHANGELOG.md | 9 ++++++++- 102 files changed, 680 insertions(+), 374 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json delete mode 100644 common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json diff --git a/common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 1e9cfb5e7..000000000 --- a/common/changes/@snowplow/browser-plugin-ad-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-ad-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-ad-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 16f5ca224..000000000 --- a/common/changes/@snowplow/browser-plugin-browser-features/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-browser-features", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-browser-features" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 939dc1d2e..000000000 --- a/common/changes/@snowplow/browser-plugin-button-click-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-button-click-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-button-click-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 795890cd0..000000000 --- a/common/changes/@snowplow/browser-plugin-client-hints/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-client-hints", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-client-hints" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index ada8b1908..000000000 --- a/common/changes/@snowplow/browser-plugin-consent/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-consent", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-consent" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 20218806a..000000000 --- a/common/changes/@snowplow/browser-plugin-debugger/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-debugger", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-debugger" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 382de6f93..000000000 --- a/common/changes/@snowplow/browser-plugin-ecommerce/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-ecommerce", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 7241618fb..000000000 --- a/common/changes/@snowplow/browser-plugin-enhanced-consent/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-enhanced-consent", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-enhanced-consent" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 0c80c8ba2..000000000 --- a/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-enhanced-ecommerce", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-enhanced-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 96cfa0390..000000000 --- a/common/changes/@snowplow/browser-plugin-error-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-error-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-error-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 9ffd460ef..000000000 --- a/common/changes/@snowplow/browser-plugin-event-specifications/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-event-specifications", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-event-specifications" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 296a22b5b..000000000 --- a/common/changes/@snowplow/browser-plugin-focalmeter/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-focalmeter", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-focalmeter" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 6a6be0543..000000000 --- a/common/changes/@snowplow/browser-plugin-form-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-form-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-form-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 14c15d8a7..000000000 --- a/common/changes/@snowplow/browser-plugin-ga-cookies/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-ga-cookies", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-ga-cookies" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index d74d8fc4b..000000000 --- a/common/changes/@snowplow/browser-plugin-geolocation/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-geolocation", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-geolocation" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index dbc167bb8..000000000 --- a/common/changes/@snowplow/browser-plugin-link-click-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-link-click-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-link-click-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 216e835fd..000000000 --- a/common/changes/@snowplow/browser-plugin-media-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 4382a15ad..000000000 --- a/common/changes/@snowplow/browser-plugin-media/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-media", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-media" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index dce4583ff..000000000 --- a/common/changes/@snowplow/browser-plugin-optimizely-x/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-optimizely-x", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-optimizely-x" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index d83c18cba..000000000 --- a/common/changes/@snowplow/browser-plugin-optimizely/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-optimizely", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-optimizely" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index d30764eb6..000000000 --- a/common/changes/@snowplow/browser-plugin-performance-navigation-timing/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-performance-navigation-timing", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-performance-navigation-timing" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 17b11f42c..000000000 --- a/common/changes/@snowplow/browser-plugin-performance-timing/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-performance-timing", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-performance-timing" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index d3fd190d8..000000000 --- a/common/changes/@snowplow/browser-plugin-privacy-sandbox/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-privacy-sandbox", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-privacy-sandbox" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 60616413f..000000000 --- a/common/changes/@snowplow/browser-plugin-site-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-site-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-site-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index cd81ba31d..000000000 --- a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 134af12c8..000000000 --- a/common/changes/@snowplow/browser-plugin-timezone/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-timezone", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-timezone" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 979ca0206..000000000 --- a/common/changes/@snowplow/browser-plugin-vimeo-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-vimeo-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-vimeo-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 969299019..000000000 --- a/common/changes/@snowplow/browser-plugin-web-vitals/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-web-vitals", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-web-vitals" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index fb908384a..000000000 --- a/common/changes/@snowplow/browser-plugin-youtube-tracking/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-youtube-tracking", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-youtube-tracking" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 984e409a1..000000000 --- a/common/changes/@snowplow/browser-tracker-core/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 32795abab..000000000 --- a/common/changes/@snowplow/browser-tracker/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 9c7acb7e0..000000000 --- a/common/changes/@snowplow/javascript-tracker/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index 7e3c852e1..000000000 --- a/common/changes/@snowplow/node-tracker/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/node-tracker", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/node-tracker" -} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json b/common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json deleted file mode 100644 index a825e0bd5..000000000 --- a/common/changes/@snowplow/tracker-core/release-3.24.3_2024-09-03-05-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush", - "type": "none" - } - ], - "packageName": "@snowplow/tracker-core" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 71e6d689f..65cdb5fce 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-tracker-core_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-tracker-core_v3.24.2", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index aee0bca96..ff3e03285 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 491d70565..4f14e5433 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/tracker-core_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/tracker-core_v3.24.2", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index c7ee56703..2ff760b58 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 9904a246b..ef803483c 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.2", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 18ae88162..97946600e 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index b3e9a675d..b5a3fdd62 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-browser-features_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-browser-features_v3.24.2", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 2220692a1..ea5d443fc 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 0c393b9cf..58b65b1ed 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.2", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index ad4abef26..9d8aeb481 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 00836663b..5e2efb77d 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-client-hints_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-client-hints_v3.24.2", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 773dbb73f..b50a5b51e 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 249ff6e68..a7d201813 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-consent_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-consent_v3.24.2", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 769901edb..2f23dc088 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 68ed015f4..4b1b201a1 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-debugger_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-debugger_v3.24.2", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 36f8447e7..a4c7b69ea 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index eac96ec62..47d5f3ff5 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-ecommerce_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-ecommerce_v3.24.2", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index 4e10673f6..e85977989 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index ffacea3fd..606051615 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.2", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index cbdcffd94..e5cd63400 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 01b804d21..a33e31f17 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.2", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 109c8d145..76d510aeb 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index b0770a22f..c3e866dff 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-error-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-error-tracking_v3.24.2", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index 1e8be4d20..e862b857f 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index cea72f5c8..4af07669b 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-event-specifications_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-event-specifications_v3.24.2", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index d69fc1000..857d04d53 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index 19c440e8b..a16268e84 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-focalmeter_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-focalmeter_v3.24.2", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 208b0f2ab..ec0fe34bc 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index aed548a04..2e44f008c 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-form-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-form-tracking_v3.24.2", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 82e4fb48d..4a2d55618 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 2db9701fd..6cee0936a 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.2", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 53c7d1908..3d74fcf3a 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index db6777605..d604091d8 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-geolocation_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-geolocation_v3.24.2", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 499b14337..c90f45e8d 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index cc4d60ac5..9128a60b3 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.2", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index e7c9a41f9..7536885e7 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index efe3783c8..485677991 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-media-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-media-tracking_v3.24.2", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index c9e06e475..0365be94d 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index ac26731e6..a75bc6eb0 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-media_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-media_v3.24.2", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 484a1f4bf..844e123d6 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 0557284f6..22dcd5a13 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.2", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 7d595a117..9ad8fc330 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index d2ff68380..58121ef32 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-optimizely_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-optimizely_v3.24.2", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 441697132..4b6072823 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 1f027f62b..4e2220698 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.2", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 0f05f4ad1..23eb94fd1 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 368c63d69..611be00da 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-performance-timing_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-performance-timing_v3.24.2", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index a1885cd9e..6ee33d85b 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index b4093f6a2..82b61b832 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.2", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index a1a009fba..a29477a1c 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 19fe26dc8..5a799c15f 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-site-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-site-tracking_v3.24.2", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index e2c358371..98505197d 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 2adadefa0..9ecff3cf4 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.2", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index d7e28532e..a8a6bb57b 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 43effe683..e168b3a4a 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-timezone_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-timezone_v3.24.2", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 5c2bb1ac3..1b53d4e9e 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index d4d351013..60c01f139 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.2", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index af028c297..b6e97c3ef 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 66b95bd77..34cb103fe 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-web-vitals_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-web-vitals_v3.24.2", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 4c5fea9a0..1a14ac290 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index bf2f45764..faf31792c 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.2", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index be1af8692..eedc13a86 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index ff4499442..399341abe 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/browser-tracker_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/browser-tracker_v3.24.2", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index c9a8137bc..3b82dec40 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 1ec2e8f1b..25b606cb9 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/javascript-tracker_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/javascript-tracker_v3.24.2", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 168b35636..668f80575 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index d856d3719..f653e396d 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.24.3", + "tag": "@snowplow/node-tracker_v3.24.3", + "date": "Tue, 03 Sep 2024 08:15:14 GMT", + "comments": { + "none": [ + { + "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" + } + ] + } + }, { "version": "3.24.2", "tag": "@snowplow/node-tracker_v3.24.2", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index fe8589e97..99878bd8d 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Wed, 24 Jul 2024 08:59:00 GMT and should not be manually modified. +This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. + +## 3.24.3 +Tue, 03 Sep 2024 08:15:14 GMT + +### Updates + +- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush ## 3.24.2 Wed, 24 Jul 2024 08:59:00 GMT From d7f27530757f826f766cd196c2c4ba1c78856c43 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 08:15:15 +0000 Subject: [PATCH 048/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index f88611984..5ca6492f3 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.24.2", + "version": "3.24.3", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index ce5c06fb8..338ab84d9 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.24.2", + "version": "3.24.3", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 24c0342f4..b1b54370d 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.24.2", + "version": "3.24.3", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index 0cc8bb0d6..103c79f7e 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 29b6bd203..b18a9eca6 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index db6d9e500..2b0c19760 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 579cadbf6..98175096b 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index a7dce7dd0..bb7e3e312 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.24.2", + "version": "3.24.3", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 6041cd4c4..f9b0192d9 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.24.2", + "version": "3.24.3", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index f2720869d..92413d322 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.24.2", + "version": "3.24.3", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index f177ab310..14adf076a 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.24.2", + "version": "3.24.3", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 69fc44bd1..8866528f5 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.24.2", + "version": "3.24.3", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index bd4dd1958..8b53782d5 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index 27cf78a59..f206a2b9c 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.24.2", + "version": "3.24.3", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 8fa965def..774b12df0 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.24.2", + "version": "3.24.3", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index ff45b8ea9..fe92b4487 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index ce4b853d0..5844a1c62 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index f4ea30cc3..4badc4512 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index b6a5b3049..032c661e2 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index f710925c1..7163848cc 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 6d5cadab8..a2586a92c 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.24.2", + "version": "3.24.3", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 3d7ba6942..036e5b043 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index e5a954c88..14a5edd8e 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index 3da848999..d74497a4f 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 774575450..a50b121b0 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index b4d4edd28..04e066a11 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.24.2", + "version": "3.24.3", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 5a7f55bc2..8365c082b 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index f53375f7f..ad088f21b 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.24.2", + "version": "3.24.3", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 3fa1989a6..9bd33d264 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.24.2", + "version": "3.24.3", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 0650d65b0..e735ecc04 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index efc01217e..97249cc33 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.24.2", + "version": "3.24.3", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 9222d4a58..026d5c820 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.24.2", + "version": "3.24.3", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.2" + "@snowplow/browser-tracker": "~3.24.3" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 959b54aa6..f7b28ebc4 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.24.2", + "version": "3.24.3", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index e951416da..01aee466d 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.24.2", + "version": "3.24.3", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 281891e10..6f52f9046 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.24.2", + "version": "3.24.3", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 8030a456f38439609e7b746dfbbc51282bb515e7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 08:18:58 +0000 Subject: [PATCH 049/277] Applying documentation updates. From 20a02507af44ed37d1832bfdce5085416c5e4cc5 Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Wed, 25 Sep 2024 17:15:24 +1000 Subject: [PATCH 050/277] Handle optimizely.get not yet existing (#1343) Fixes a regression from 24928acd08164d42f95e3c1de88f63d6cdef1b67 that undoes the fix from #798. If `window.optimizely` exists, but `window.optimizely.get` does not yet exist, we never populate `state`. The fix for #798 added checks for dereferencing methods directly on the result, but provided no default for `getActiveExperimentIds()` meaning `experiment_ids` would also be `undefined` if `state` was. Originally the code used `lodash/map` to then iterate over `experiment_ids`, that was then updated to directly be `experiment_ids.map`; with no default this tries to dereference `undefined` to call the method, whereas `lodash/map` accepts `undefined` as a value and returns an empty array. This changes the plugin to: - bail out early if `state` isn't correctly populated - change some types to remove some cases of `any` that were obscuring the error - note that the global types are optional and may be `undefined` - removes the code for extracting subproperties, as it's not used and obscures the return type of `getOptimizelyXData` --- .../optim-x-race_2024-09-17-00-55.json | 10 ++++++++ .../browser-plugin-optimizely-x/src/index.ts | 25 +++++++++++-------- 2 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json diff --git a/common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json b/common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json new file mode 100644 index 000000000..a0e1c05ee --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-optimizely-x", + "comment": "Handle race when get method does not exist", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-optimizely-x" +} \ No newline at end of file diff --git a/plugins/browser-plugin-optimizely-x/src/index.ts b/plugins/browser-plugin-optimizely-x/src/index.ts index bd342eb16..b2233bf8d 100644 --- a/plugins/browser-plugin-optimizely-x/src/index.ts +++ b/plugins/browser-plugin-optimizely-x/src/index.ts @@ -33,6 +33,14 @@ import { OptimizelyxSummary } from './contexts'; declare global { interface Window { + /* + The following property is technically optional since the Optimizely SDK + loads asynchronously; the inner `get` is also optional for the older SDK + and during brief periods where the SDK is only partially loaded. + As Window interface type conflicts can break builds, we leave them as + non-optional for backwards compatibility, but changes to this plugin should + be aware that this interface may not be fully available. See #1343 + */ optimizely: { get: (property: string) => { [key: string]: any }; }; @@ -47,16 +55,12 @@ export function OptimizelyXPlugin(): BrowserPlugin { * Check that *both* optimizely and optimizely.get exist * * @param property - optimizely data property - * @param snd - optional nested property */ - function getOptimizelyXData(property: string, snd?: string) { + function getOptimizelyXData(property: string) { const windowOptimizelyAlias = window.optimizely; - let data; + let data: Record | undefined; if (windowOptimizelyAlias && typeof windowOptimizelyAlias.get === 'function') { data = windowOptimizelyAlias.get(property); - if (typeof snd !== 'undefined' && data !== undefined) { - data = data[snd]; - } } return data; } @@ -67,12 +71,13 @@ export function OptimizelyXPlugin(): BrowserPlugin { * @returns Array content of lite optimizely lite context */ function getOptimizelyXSummary(): OptimizelyxSummary[] { - var state = getOptimizelyXData('state'); - var experiment_ids = state && state.getActiveExperimentIds(); - var variationMap = state && state.getVariationMap(); + const state = getOptimizelyXData('state'); + if (state == null) return []; + var experiment_ids = state.getActiveExperimentIds() || []; + var variationMap = state.getVariationMap(); var visitor = getOptimizelyXData('visitor'); - return experiment_ids.map(function (activeExperiment: string) { + return experiment_ids.map((activeExperiment: string) => { var variation = variationMap[activeExperiment]; var variationName = (variation && variation.name && variation.name.toString()) || null; var variationId = variation && variation.id; From 372928690278646f925373ed400bf427649c21ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Wed, 25 Sep 2024 12:17:25 +0200 Subject: [PATCH 051/277] Update version of upload-artifact action to v4 --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cc062ed48..91b2d42c7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,26 +61,26 @@ jobs: run: node common/scripts/install-run-rush.js publish -p --pack --include-all - name: Upload packages - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: packages path: | ./common/temp/artifacts/packages/* - name: Upload sp.js artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: sp.js path: trackers/javascript-tracker/dist/sp.js - name: Upload sp.lite.js artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: sp.lite.js path: trackers/javascript-tracker/dist/sp.lite.js - name: Upload plugins - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: plugins.umd path: | From c978b62c28419fab85ec0341fa369da263837121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Wed, 25 Sep 2024 16:26:26 +0200 Subject: [PATCH 052/277] Skip YouTube integration tests since they are blocked on SauceLabs --- .../release-3.24.4_2024-09-25-14-28.json | 10 ++++++++++ trackers/javascript-tracker/test/wdio.default.conf.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json diff --git a/common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json b/common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json new file mode 100644 index 000000000..3fbfec8be --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Skip YouTube integration tests since they are blocked on SauceLabs", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/trackers/javascript-tracker/test/wdio.default.conf.ts b/trackers/javascript-tracker/test/wdio.default.conf.ts index 13b53718a..4c20f4dfa 100644 --- a/trackers/javascript-tracker/test/wdio.default.conf.ts +++ b/trackers/javascript-tracker/test/wdio.default.conf.ts @@ -13,7 +13,7 @@ export const config: Omit = { getFullPath('test/functional/*.test.ts'), getFullPath('test/integration/*.test.ts'), getFullPath('test/media/media.test.ts'), - getFullPath('test/media/youtube.test.ts'), + // YouTube and Vimeo tests are disabled since they block SauceLabs on CI ]], logLevel: 'warn', baseUrl: 'http://snowplow-js-tracker.local:8080', From ef5140f95946ba4b5f9e0ce70f0688da71f4abcc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 06:10:22 +0000 Subject: [PATCH 053/277] Update changelogs [skip ci] --- .../optim-x-race_2024-09-17-00-55.json | 10 ---------- .../release-3.24.4_2024-09-25-14-28.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 6 ++++++ libraries/browser-tracker-core/CHANGELOG.md | 7 ++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-event-specifications/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 12 ++++++++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 12 ++++++++++++ trackers/javascript-tracker/CHANGELOG.md | 9 ++++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 70 files changed, 424 insertions(+), 54 deletions(-) delete mode 100644 common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json delete mode 100644 common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json diff --git a/common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json b/common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json deleted file mode 100644 index a0e1c05ee..000000000 --- a/common/changes/@snowplow/browser-plugin-optimizely-x/optim-x-race_2024-09-17-00-55.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-plugin-optimizely-x", - "comment": "Handle race when get method does not exist", - "type": "none" - } - ], - "packageName": "@snowplow/browser-plugin-optimizely-x" -} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json b/common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json deleted file mode 100644 index 3fbfec8be..000000000 --- a/common/changes/@snowplow/javascript-tracker/release-3.24.4_2024-09-25-14-28.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/javascript-tracker", - "comment": "Skip YouTube integration tests since they are blocked on SauceLabs", - "type": "none" - } - ], - "packageName": "@snowplow/javascript-tracker" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 65cdb5fce..816a399b7 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-tracker-core_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-tracker-core_v3.24.3", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index ff3e03285..26757ef7b 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 4f14e5433..1fcc6bbf4 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/tracker-core_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/tracker-core_v3.24.3", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 2ff760b58..c20c83f67 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index ef803483c..c750def4b 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.3", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 97946600e..76c3e9e83 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index b5a3fdd62..6294a6a57 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-browser-features_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-browser-features_v3.24.3", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index ea5d443fc..123e150ac 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 58b65b1ed..8d83c84f7 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.3", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 9d8aeb481..5f3609f1e 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index 5e2efb77d..c3deb1b15 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-client-hints_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-client-hints_v3.24.3", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index b50a5b51e..bad9c5165 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index a7d201813..b5a9851d9 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-consent_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-consent_v3.24.3", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 2f23dc088..3bf3f0f71 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 4b1b201a1..7ea63a12a 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-debugger_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-debugger_v3.24.3", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index a4c7b69ea..4914ba990 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index 47d5f3ff5..f112f88c0 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-ecommerce_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-ecommerce_v3.24.3", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index e85977989..f74019189 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index 606051615..d03c33d06 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.3", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index e5cd63400..849e58304 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index a33e31f17..97e64b2ce 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.3", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 76d510aeb..03b09acdd 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index c3e866dff..fde5ea8c5 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-error-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-error-tracking_v3.24.3", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index e862b857f..a689f92de 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index 4af07669b..9bf838fdf 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-event-specifications_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-event-specifications_v3.24.3", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index 857d04d53..e911b70a9 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index a16268e84..bab0d9f11 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-focalmeter_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-focalmeter_v3.24.3", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index ec0fe34bc..b8618dc4e 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index 2e44f008c..a6d416fff 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-form-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-form-tracking_v3.24.3", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 4a2d55618..d8a953462 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index 6cee0936a..a813ae515 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.3", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index 3d74fcf3a..dd6fa7c2f 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index d604091d8..88694c059 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-geolocation_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-geolocation_v3.24.3", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index c90f45e8d..022d8982f 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index 9128a60b3..bb552134f 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.3", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 7536885e7..c7fbc9f50 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index 485677991..f18128ba8 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-media-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-media-tracking_v3.24.3", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 0365be94d..4ec233cdd 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index a75bc6eb0..c1c4b2a5c 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-media_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-media_v3.24.3", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 844e123d6..02a9fd8f5 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 22dcd5a13..7814d3d57 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": { + "none": [ + { + "comment": "Handle race when get method does not exist" + } + ] + } + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.3", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 9ad8fc330..9f56fba09 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +### Updates + +- Handle race when get method does not exist ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 58121ef32..be6512615 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-optimizely_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-optimizely_v3.24.3", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 4b6072823..3a53d2532 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 4e2220698..b7801f56a 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.3", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 23eb94fd1..db21db67a 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 611be00da..9f7ac0620 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-performance-timing_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-performance-timing_v3.24.3", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 6ee33d85b..7a2121abe 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 82b61b832..0dea54dbc 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.3", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index a29477a1c..169147690 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 5a799c15f..53fbbf048 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-site-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-site-tracking_v3.24.3", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 98505197d..c0631a7df 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index 9ecff3cf4..cb7073a61 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.3", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index a8a6bb57b..40efb509c 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index e168b3a4a..8c6d27ada 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-timezone_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-timezone_v3.24.3", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index 1b53d4e9e..a293f9271 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 60c01f139..3c573ac22 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.3", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index b6e97c3ef..11c4302be 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index 34cb103fe..d9798d442 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-web-vitals_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-web-vitals_v3.24.3", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 1a14ac290..769b8d933 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index faf31792c..e4ae3502c 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.3", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index eedc13a86..789d3ef06 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 399341abe..8a21d5604 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/browser-tracker_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/browser-tracker_v3.24.3", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 3b82dec40..5c7885756 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 25b606cb9..2d98259c0 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/javascript-tracker_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": { + "none": [ + { + "comment": "Skip YouTube integration tests since they are blocked on SauceLabs" + } + ] + } + }, { "version": "3.24.3", "tag": "@snowplow/javascript-tracker_v3.24.3", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 668f80575..a6e17dc82 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +### Updates + +- Skip YouTube integration tests since they are blocked on SauceLabs ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index f653e396d..ff87b88c1 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.24.4", + "tag": "@snowplow/node-tracker_v3.24.4", + "date": "Thu, 26 Sep 2024 06:10:22 GMT", + "comments": {} + }, { "version": "3.24.3", "tag": "@snowplow/node-tracker_v3.24.3", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 99878bd8d..03dd641c8 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Tue, 03 Sep 2024 08:15:14 GMT and should not be manually modified. +This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. + +## 3.24.4 +Thu, 26 Sep 2024 06:10:22 GMT + +_Version update only_ ## 3.24.3 Tue, 03 Sep 2024 08:15:14 GMT From 2d0433f58391c8378e4862564b2b2249c4ab648a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 06:10:22 +0000 Subject: [PATCH 054/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 5ca6492f3..4f7f3b1dd 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.24.3", + "version": "3.24.4", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 338ab84d9..8990e2f64 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.24.3", + "version": "3.24.4", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index b1b54370d..44f928a8f 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.24.3", + "version": "3.24.4", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index 103c79f7e..c50471db5 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index b18a9eca6..9c1a39051 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 2b0c19760..10597a87e 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index 98175096b..b6723ad07 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index bb7e3e312..d16980b6b 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.24.3", + "version": "3.24.4", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index f9b0192d9..9f16a7254 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.24.3", + "version": "3.24.4", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 92413d322..e971f4b95 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.24.3", + "version": "3.24.4", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 14adf076a..98de7803f 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.24.3", + "version": "3.24.4", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 8866528f5..d1dc1da66 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.24.3", + "version": "3.24.4", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 8b53782d5..a4b5f5b57 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index f206a2b9c..573a62375 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.24.3", + "version": "3.24.4", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 774b12df0..a50a8f1bf 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.24.3", + "version": "3.24.4", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index fe92b4487..b37d6b414 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 5844a1c62..c150b0239 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 4badc4512..058871525 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 032c661e2..260fb7830 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 7163848cc..cb90b62af 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index a2586a92c..abe24bee3 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.24.3", + "version": "3.24.4", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 036e5b043..879102c13 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 14a5edd8e..6f68b9146 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index d74497a4f..e02328585 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index a50b121b0..82c279a36 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 04e066a11..2c50edd8a 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.24.3", + "version": "3.24.4", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 8365c082b..5867317c6 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index ad088f21b..e208cca13 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.24.3", + "version": "3.24.4", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 9bd33d264..395f4754b 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.24.3", + "version": "3.24.4", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index e735ecc04..95b4b3b06 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 97249cc33..a7da0c85b 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.24.3", + "version": "3.24.4", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 026d5c820..3c08731ab 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.24.3", + "version": "3.24.4", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.3" + "@snowplow/browser-tracker": "~3.24.4" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index f7b28ebc4..e6b27a4df 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.24.3", + "version": "3.24.4", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 01aee466d..4b7696021 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.24.3", + "version": "3.24.4", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 6f52f9046..1a59007a3 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.24.3", + "version": "3.24.4", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 242269e862dd794cadad4f6fa81ab87c98df90b8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 06:14:07 +0000 Subject: [PATCH 055/277] Applying documentation updates. From 78d9ef859dbf7412fef9a7e088f6b7cbf5607fe2 Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Fri, 25 Oct 2024 18:26:44 +1100 Subject: [PATCH 056/277] Fix removal of context generator functions (#1361) --- ...ontext-generators-v3_2024-10-25-00-04.json | 10 +++++ libraries/tracker-core/src/contexts.ts | 40 +++++++++++++++++-- libraries/tracker-core/test/contexts.ts | 15 +++++++ 3 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json diff --git a/common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json b/common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json new file mode 100644 index 000000000..4755056bb --- /dev/null +++ b/common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Fix removal of global context generators", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/libraries/tracker-core/src/contexts.ts b/libraries/tracker-core/src/contexts.ts index 3aef58d00..bed5a9b0c 100644 --- a/libraries/tracker-core/src/contexts.ts +++ b/libraries/tracker-core/src/contexts.ts @@ -192,11 +192,9 @@ export function globalContexts(): GlobalContexts { removeGlobalContexts(contexts: Array): void { for (const context of contexts) { if (isConditionalContextProvider(context)) { - conditionalProviders = conditionalProviders.filter( - (item) => JSON.stringify(item) !== JSON.stringify(context) - ); + conditionalProviders = conditionalProviders.filter((item) => !compareProvider(context, item)); } else if (isContextPrimitive(context)) { - globalPrimitives = globalPrimitives.filter((item) => JSON.stringify(item) !== JSON.stringify(context)); + globalPrimitives = globalPrimitives.filter((item) => !compareProvider(context, item)); } } }, @@ -676,6 +674,40 @@ function evaluateProvider( return []; } +function compareProviderPart( + a: ContextFilter | RuleSet | ContextPrimitive, + b: ContextFilter | RuleSet | ContextPrimitive +): boolean { + if (typeof a === 'function') return a === b; + return JSON.stringify(a) === JSON.stringify(b); +} + +function compareProvider( + a: ConditionalContextProvider | ContextPrimitive, + b: ConditionalContextProvider | ContextPrimitive +): boolean { + if (isConditionalContextProvider(a)) { + if (!isConditionalContextProvider(b)) return false; + const [ruleA, primitivesA] = a; + const [ruleB, primitivesB] = b; + + if (!compareProviderPart(ruleA, ruleB)) return false; + if (Array.isArray(primitivesA)) { + if (!Array.isArray(primitivesB)) return false; + if (primitivesA.length !== primitivesB.length) return false; + return primitivesA.reduce((matches, a, i) => matches && compareProviderPart(a, primitivesB[i]), true); + } else { + if (Array.isArray(primitivesB)) return false; + return compareProviderPart(primitivesA, primitivesB); + } + } else if (isContextPrimitive(a)) { + if (!isContextPrimitive(b)) return false; + return compareProviderPart(a, b); + } + + return false; +} + function generateConditionals( providers: Array | ConditionalContextProvider, event: PayloadBuilder, diff --git a/libraries/tracker-core/test/contexts.ts b/libraries/tracker-core/test/contexts.ts index fb8c0f4ec..b1e511b94 100644 --- a/libraries/tracker-core/test/contexts.ts +++ b/libraries/tracker-core/test/contexts.ts @@ -237,6 +237,21 @@ test('Remove one of two global context primitives', (t) => { t.deepEqual(globalContexts.getGlobalPrimitives(), [webPageContext]); }); +test('Remove one of two global context generators', (t) => { + function a(): undefined { + return; + } + function b(): undefined { + return; + } + + const globalContexts = contexts.globalContexts(); + globalContexts.addGlobalContexts([a, b]); + t.deepEqual(globalContexts.getGlobalPrimitives(), [a, b]); + globalContexts.removeGlobalContexts([a]); + t.deepEqual(globalContexts.getGlobalPrimitives(), [b]); +}); + test('Remove one of two global context conditional providers', (t) => { const geolocationContext = { schema: 'iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0', From 38025a8c6a6a79878e03712db3fd255db8384a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Fri, 25 Oct 2024 10:06:33 +0200 Subject: [PATCH 057/277] Increase the size limit for sp.js to 26kb --- .bundlemonrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bundlemonrc.json b/.bundlemonrc.json index 57965c60b..00805baa2 100644 --- a/.bundlemonrc.json +++ b/.bundlemonrc.json @@ -12,7 +12,7 @@ }, { "path": "./trackers/javascript-tracker/dist/sp.js", - "maxSize": "25.5kb", + "maxSize": "26kb", "maxPercentIncrease": 10 }, { From 3aa9c940e073018a0b0fa3c6eaec626cfe97278c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 08:53:04 +0000 Subject: [PATCH 058/277] Update changelogs [skip ci] --- ...emove-context-generators-v3_2024-10-25-00-04.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 6 ++++++ libraries/browser-tracker-core/CHANGELOG.md | 7 ++++++- libraries/tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/tracker-core/CHANGELOG.md | 9 ++++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-event-specifications/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 6 ++++++ trackers/javascript-tracker/CHANGELOG.md | 7 ++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 69 files changed, 416 insertions(+), 44 deletions(-) delete mode 100644 common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json diff --git a/common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json b/common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json deleted file mode 100644 index 4755056bb..000000000 --- a/common/changes/@snowplow/tracker-core/remove-context-generators-v3_2024-10-25-00-04.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/tracker-core", - "comment": "Fix removal of global context generators", - "type": "none" - } - ], - "packageName": "@snowplow/tracker-core" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 816a399b7..21922b597 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-tracker-core_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-tracker-core_v3.24.4", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 26757ef7b..2326cf715 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 1fcc6bbf4..3a96e8049 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/tracker-core_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": { + "none": [ + { + "comment": "Fix removal of global context generators" + } + ] + } + }, { "version": "3.24.4", "tag": "@snowplow/tracker-core_v3.24.4", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index c20c83f67..6905d55dd 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +### Updates + +- Fix removal of global context generators ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index c750def4b..708b806d6 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.4", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 76c3e9e83..52c37cac3 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index 6294a6a57..f296eb5b3 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-browser-features_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-browser-features_v3.24.4", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 123e150ac..50bf72a25 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 8d83c84f7..767fe70a5 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.4", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 5f3609f1e..9468f09b2 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index c3deb1b15..ac46c554d 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-client-hints_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-client-hints_v3.24.4", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index bad9c5165..1245cc3ee 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index b5a9851d9..41aab371c 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-consent_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-consent_v3.24.4", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index 3bf3f0f71..e35bf42e3 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 7ea63a12a..72dddfde3 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-debugger_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-debugger_v3.24.4", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 4914ba990..07d2e6533 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index f112f88c0..c354d0899 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-ecommerce_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-ecommerce_v3.24.4", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index f74019189..b9cf2991a 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index d03c33d06..f73200d0e 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.4", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 849e58304..659b153a9 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index 97e64b2ce..fe5bd54c4 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.4", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 03b09acdd..0046eff4e 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index fde5ea8c5..5264b087b 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-error-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-error-tracking_v3.24.4", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index a689f92de..fd6993538 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index 9bf838fdf..f3b4345d7 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-event-specifications_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-event-specifications_v3.24.4", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index e911b70a9..8963a2b46 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index bab0d9f11..da6aa0a3f 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-focalmeter_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-focalmeter_v3.24.4", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index b8618dc4e..23c8d4b3e 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index a6d416fff..c08bd0549 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-form-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-form-tracking_v3.24.4", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index d8a953462..13a4953e9 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index a813ae515..fcb31fe84 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.4", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index dd6fa7c2f..f55c3a984 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 88694c059..77d48815e 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-geolocation_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-geolocation_v3.24.4", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 022d8982f..75da0a76b 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index bb552134f..ca4d7b702 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.4", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index c7fbc9f50..23fa92f4f 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index f18128ba8..ce396349e 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-media-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-media-tracking_v3.24.4", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index 4ec233cdd..dd9db1bad 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index c1c4b2a5c..b33fa3329 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-media_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-media_v3.24.4", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index 02a9fd8f5..ed220f02d 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index 7814d3d57..dd5793f69 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.4", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 9f56fba09..343705f14 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index be6512615..735ae8724 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-optimizely_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-optimizely_v3.24.4", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 3a53d2532..190fb6f5c 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index b7801f56a..127b7535b 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.4", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index db21db67a..7b5b1cca0 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index 9f7ac0620..f9a052f7d 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-performance-timing_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-performance-timing_v3.24.4", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 7a2121abe..0705ca80a 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 0dea54dbc..1fad8c32b 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.4", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 169147690..579efe8c7 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 53fbbf048..0c802f925 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-site-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-site-tracking_v3.24.4", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index c0631a7df..5fcb02d52 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index cb7073a61..f3cf4b52f 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.4", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 40efb509c..03d79f9b3 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 8c6d27ada..44f0b5133 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-timezone_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-timezone_v3.24.4", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index a293f9271..d658b4a6a 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 3c573ac22..2042779e2 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.4", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index 11c4302be..ac443ec4f 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index d9798d442..c099e55a4 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-web-vitals_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-web-vitals_v3.24.4", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 769b8d933..8a8d0d791 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index e4ae3502c..dd3f64719 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.4", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 789d3ef06..3702f9308 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 8a21d5604..379542f3a 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/browser-tracker_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/browser-tracker_v3.24.4", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 5c7885756..3ccd3ff11 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 2d98259c0..9cd207055 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/javascript-tracker_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/javascript-tracker_v3.24.4", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index a6e17dc82..4577678f0 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index ff87b88c1..1503765b4 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.24.5", + "tag": "@snowplow/node-tracker_v3.24.5", + "date": "Fri, 25 Oct 2024 08:53:04 GMT", + "comments": {} + }, { "version": "3.24.4", "tag": "@snowplow/node-tracker_v3.24.4", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index 03dd641c8..cc561e709 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Thu, 26 Sep 2024 06:10:22 GMT and should not be manually modified. +This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. + +## 3.24.5 +Fri, 25 Oct 2024 08:53:04 GMT + +_Version update only_ ## 3.24.4 Thu, 26 Sep 2024 06:10:22 GMT From 9a45d8546e5dce34e7824bff70c72208839e47f3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 08:53:04 +0000 Subject: [PATCH 059/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 4f7f3b1dd..d77bdc3b5 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.24.4", + "version": "3.24.5", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 8990e2f64..cdcebb97d 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.24.4", + "version": "3.24.5", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index 44f928a8f..d03e6b4bb 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.24.4", + "version": "3.24.5", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index c50471db5..7b496ffff 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 9c1a39051..1f35caa02 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 10597a87e..89e87dcb0 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index b6723ad07..bf1d935ed 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index d16980b6b..21262cc85 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.24.4", + "version": "3.24.5", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 9f16a7254..5210993e3 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.24.4", + "version": "3.24.5", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index e971f4b95..3f8235244 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.24.4", + "version": "3.24.5", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index 98de7803f..a22dd8444 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.24.4", + "version": "3.24.5", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index d1dc1da66..9215cd39b 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.24.4", + "version": "3.24.5", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index a4b5f5b57..0fb99b618 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index 573a62375..7538dccfb 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.24.4", + "version": "3.24.5", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index a50a8f1bf..236d4ca94 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.24.4", + "version": "3.24.5", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index b37d6b414..944b668f7 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index c150b0239..0ab1edaa1 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index 058871525..dec62d477 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 260fb7830..8bf1450f1 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index cb90b62af..4023f1bd0 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index abe24bee3..22df5eebd 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.24.4", + "version": "3.24.5", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index 879102c13..a851250ef 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 6f68b9146..9ab96a3a1 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index e02328585..c61b3f165 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index 82c279a36..e5a480753 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 2c50edd8a..5a5ad606c 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.24.4", + "version": "3.24.5", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 5867317c6..50776280b 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index e208cca13..6f8479e20 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.24.4", + "version": "3.24.5", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index 395f4754b..df22dd73b 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.24.4", + "version": "3.24.5", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 95b4b3b06..14a62ac31 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index a7da0c85b..25f60181e 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.24.4", + "version": "3.24.5", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 3c08731ab..2ebf7e30e 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.24.4", + "version": "3.24.5", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.4" + "@snowplow/browser-tracker": "~3.24.5" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index e6b27a4df..1328e452a 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.24.4", + "version": "3.24.5", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 4b7696021..0cc3ba2e5 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.24.4", + "version": "3.24.5", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 1a59007a3..43754a9b7 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.24.4", + "version": "3.24.5", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From 426269ca72e0aa21f455bd3ca401c1944daaf44a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 08:56:43 +0000 Subject: [PATCH 060/277] Applying documentation updates. From 740f9a3d222c12ea7b7ff93ba09c6034839fadfb Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Mon, 28 Oct 2024 11:04:58 +0100 Subject: [PATCH 061/277] Allow 0x0 viewport in browser context to avoid schema validation errors (#1365) --- .../issue-allow_zero_viewport_2024-10-28-09-31.json | 10 ++++++++++ .../browser-tracker-core/src/helpers/browser_props.ts | 6 +----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json b/common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json new file mode 100644 index 000000000..836c9fb3d --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Allow 0x0 viewport in browser context to avoid schema validation errors", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/helpers/browser_props.ts b/libraries/browser-tracker-core/src/helpers/browser_props.ts index 4a247550d..4deb313a1 100644 --- a/libraries/browser-tracker-core/src/helpers/browser_props.ts +++ b/libraries/browser-tracker-core/src/helpers/browser_props.ts @@ -103,11 +103,7 @@ function detectViewport() { height = e['clientHeight']; } - if (width >= 0 && height >= 0) { - return width + DIMENSION_SEPARATOR + height; - } else { - return null; - } + return Math.max(0, width) + DIMENSION_SEPARATOR + Math.max(0, height); } /** From 12177154b289d67363b0f0a9a6d2116193f77383 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 10:23:29 +0000 Subject: [PATCH 062/277] Update changelogs [skip ci] --- .../issue-allow_zero_viewport_2024-10-28-09-31.json | 10 ---------- libraries/browser-tracker-core/CHANGELOG.json | 12 ++++++++++++ libraries/browser-tracker-core/CHANGELOG.md | 9 ++++++++- libraries/tracker-core/CHANGELOG.json | 6 ++++++ libraries/tracker-core/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ad-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ad-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-browser-features/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-browser-features/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- plugins/browser-plugin-client-hints/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-client-hints/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-consent/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-debugger/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-debugger/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ecommerce/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ecommerce/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-consent/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-enhanced-consent/CHANGELOG.md | 7 ++++++- .../browser-plugin-enhanced-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-enhanced-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-error-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-error-tracking/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-event-specifications/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-focalmeter/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-focalmeter/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-form-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-form-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-ga-cookies/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-ga-cookies/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-geolocation/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-geolocation/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../browser-plugin-link-click-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-media/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-media/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely-x/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely-x/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-optimizely/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-optimizely/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 6 ++++++ .../CHANGELOG.md | 7 ++++++- .../browser-plugin-performance-timing/CHANGELOG.json | 6 ++++++ .../browser-plugin-performance-timing/CHANGELOG.md | 7 ++++++- .../browser-plugin-privacy-sandbox/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-privacy-sandbox/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-site-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-site-tracking/CHANGELOG.md | 7 ++++++- .../browser-plugin-snowplow-ecommerce/CHANGELOG.json | 6 ++++++ .../browser-plugin-snowplow-ecommerce/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-timezone/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-timezone/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-vimeo-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-vimeo-tracking/CHANGELOG.md | 7 ++++++- plugins/browser-plugin-web-vitals/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-web-vitals/CHANGELOG.md | 7 ++++++- .../browser-plugin-youtube-tracking/CHANGELOG.json | 6 ++++++ plugins/browser-plugin-youtube-tracking/CHANGELOG.md | 7 ++++++- trackers/browser-tracker/CHANGELOG.json | 6 ++++++ trackers/browser-tracker/CHANGELOG.md | 7 ++++++- trackers/javascript-tracker/CHANGELOG.json | 6 ++++++ trackers/javascript-tracker/CHANGELOG.md | 7 ++++++- trackers/node-tracker/CHANGELOG.json | 6 ++++++ trackers/node-tracker/CHANGELOG.md | 7 ++++++- 69 files changed, 416 insertions(+), 44 deletions(-) delete mode 100644 common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json diff --git a/common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json b/common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json deleted file mode 100644 index 836c9fb3d..000000000 --- a/common/changes/@snowplow/browser-tracker-core/issue-allow_zero_viewport_2024-10-28-09-31.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@snowplow/browser-tracker-core", - "comment": "Allow 0x0 viewport in browser context to avoid schema validation errors", - "type": "none" - } - ], - "packageName": "@snowplow/browser-tracker-core" -} \ No newline at end of file diff --git a/libraries/browser-tracker-core/CHANGELOG.json b/libraries/browser-tracker-core/CHANGELOG.json index 21922b597..08f7cbfcc 100644 --- a/libraries/browser-tracker-core/CHANGELOG.json +++ b/libraries/browser-tracker-core/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@snowplow/browser-tracker-core", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-tracker-core_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": { + "none": [ + { + "comment": "Allow 0x0 viewport in browser context to avoid schema validation errors" + } + ] + } + }, { "version": "3.24.5", "tag": "@snowplow/browser-tracker-core_v3.24.5", diff --git a/libraries/browser-tracker-core/CHANGELOG.md b/libraries/browser-tracker-core/CHANGELOG.md index 2326cf715..81a5a4eb8 100644 --- a/libraries/browser-tracker-core/CHANGELOG.md +++ b/libraries/browser-tracker-core/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @snowplow/browser-tracker-core -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +### Updates + +- Allow 0x0 viewport in browser context to avoid schema validation errors ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/libraries/tracker-core/CHANGELOG.json b/libraries/tracker-core/CHANGELOG.json index 3a96e8049..31dd51f1b 100644 --- a/libraries/tracker-core/CHANGELOG.json +++ b/libraries/tracker-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/tracker-core", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/tracker-core_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/tracker-core_v3.24.5", diff --git a/libraries/tracker-core/CHANGELOG.md b/libraries/tracker-core/CHANGELOG.md index 6905d55dd..c623c15bd 100644 --- a/libraries/tracker-core/CHANGELOG.md +++ b/libraries/tracker-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/tracker-core -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.json b/plugins/browser-plugin-ad-tracking/CHANGELOG.json index 708b806d6..e4e46aeab 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ad-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-ad-tracking_v3.24.5", diff --git a/plugins/browser-plugin-ad-tracking/CHANGELOG.md b/plugins/browser-plugin-ad-tracking/CHANGELOG.md index 52c37cac3..5d3966d7e 100644 --- a/plugins/browser-plugin-ad-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-ad-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ad-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json index f296eb5b3..72d38ce63 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ b/plugins/browser-plugin-browser-features/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-browser-features", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-browser-features_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-browser-features_v3.24.5", diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md index 50bf72a25..0b92ac329 100644 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ b/plugins/browser-plugin-browser-features/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-browser-features -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json index 767fe70a5..0b404fb98 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-button-click-tracking_v3.24.5", diff --git a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md index 9468f09b2..53a144fd3 100644 --- a/plugins/browser-plugin-button-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-button-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-button-click-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.json b/plugins/browser-plugin-client-hints/CHANGELOG.json index ac46c554d..5578db6fa 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.json +++ b/plugins/browser-plugin-client-hints/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-client-hints", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-client-hints_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-client-hints_v3.24.5", diff --git a/plugins/browser-plugin-client-hints/CHANGELOG.md b/plugins/browser-plugin-client-hints/CHANGELOG.md index 1245cc3ee..f911ba487 100644 --- a/plugins/browser-plugin-client-hints/CHANGELOG.md +++ b/plugins/browser-plugin-client-hints/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-client-hints -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json index 41aab371c..b9cbec269 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ b/plugins/browser-plugin-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-consent", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-consent_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-consent_v3.24.5", diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md index e35bf42e3..6fb2387e0 100644 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ b/plugins/browser-plugin-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-consent -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-debugger/CHANGELOG.json b/plugins/browser-plugin-debugger/CHANGELOG.json index 72dddfde3..aac5cfb76 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.json +++ b/plugins/browser-plugin-debugger/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-debugger", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-debugger_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-debugger_v3.24.5", diff --git a/plugins/browser-plugin-debugger/CHANGELOG.md b/plugins/browser-plugin-debugger/CHANGELOG.md index 07d2e6533..a216190c9 100644 --- a/plugins/browser-plugin-debugger/CHANGELOG.md +++ b/plugins/browser-plugin-debugger/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-debugger -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json index c354d0899..37f9d41e5 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ecommerce", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-ecommerce_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-ecommerce_v3.24.5", diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md index b9cf2991a..21eab09da 100644 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ecommerce -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json index f73200d0e..87330c3b1 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-enhanced-consent_v3.24.5", diff --git a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md index 659b153a9..3daada283 100644 --- a/plugins/browser-plugin-enhanced-consent/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-consent/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-consent -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json index fe5bd54c4..0a8179806 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-enhanced-ecommerce_v3.24.5", diff --git a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md index 0046eff4e..bfa0d1072 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-enhanced-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-enhanced-ecommerce -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.json b/plugins/browser-plugin-error-tracking/CHANGELOG.json index 5264b087b..2d6c68ae1 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-error-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-error-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-error-tracking_v3.24.5", diff --git a/plugins/browser-plugin-error-tracking/CHANGELOG.md b/plugins/browser-plugin-error-tracking/CHANGELOG.md index fd6993538..5bf3b50df 100644 --- a/plugins/browser-plugin-error-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-error-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-error-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.json b/plugins/browser-plugin-event-specifications/CHANGELOG.json index f3b4345d7..b1e5cec04 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.json +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-event-specifications", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-event-specifications_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-event-specifications_v3.24.5", diff --git a/plugins/browser-plugin-event-specifications/CHANGELOG.md b/plugins/browser-plugin-event-specifications/CHANGELOG.md index 8963a2b46..f2cb1eaee 100644 --- a/plugins/browser-plugin-event-specifications/CHANGELOG.md +++ b/plugins/browser-plugin-event-specifications/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-event-specifications -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.json b/plugins/browser-plugin-focalmeter/CHANGELOG.json index da6aa0a3f..41dd887cb 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.json +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-focalmeter", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-focalmeter_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-focalmeter_v3.24.5", diff --git a/plugins/browser-plugin-focalmeter/CHANGELOG.md b/plugins/browser-plugin-focalmeter/CHANGELOG.md index 23c8d4b3e..684f2cd58 100644 --- a/plugins/browser-plugin-focalmeter/CHANGELOG.md +++ b/plugins/browser-plugin-focalmeter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-focalmeter -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.json b/plugins/browser-plugin-form-tracking/CHANGELOG.json index c08bd0549..1316eaa4e 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-form-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-form-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-form-tracking_v3.24.5", diff --git a/plugins/browser-plugin-form-tracking/CHANGELOG.md b/plugins/browser-plugin-form-tracking/CHANGELOG.md index 13a4953e9..3e0983efa 100644 --- a/plugins/browser-plugin-form-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-form-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-form-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.json b/plugins/browser-plugin-ga-cookies/CHANGELOG.json index fcb31fe84..879a5a967 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.json +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-ga-cookies", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-ga-cookies_v3.24.5", diff --git a/plugins/browser-plugin-ga-cookies/CHANGELOG.md b/plugins/browser-plugin-ga-cookies/CHANGELOG.md index f55c3a984..be4a21d8c 100644 --- a/plugins/browser-plugin-ga-cookies/CHANGELOG.md +++ b/plugins/browser-plugin-ga-cookies/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-ga-cookies -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.json b/plugins/browser-plugin-geolocation/CHANGELOG.json index 77d48815e..48bc276f6 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.json +++ b/plugins/browser-plugin-geolocation/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-geolocation", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-geolocation_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-geolocation_v3.24.5", diff --git a/plugins/browser-plugin-geolocation/CHANGELOG.md b/plugins/browser-plugin-geolocation/CHANGELOG.md index 75da0a76b..4b3ea8207 100644 --- a/plugins/browser-plugin-geolocation/CHANGELOG.md +++ b/plugins/browser-plugin-geolocation/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-geolocation -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json index ca4d7b702..e2e21b3e6 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-link-click-tracking_v3.24.5", diff --git a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md index 23fa92f4f..326227b78 100644 --- a/plugins/browser-plugin-link-click-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-link-click-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-link-click-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.json b/plugins/browser-plugin-media-tracking/CHANGELOG.json index ce396349e..bc1aaec6f 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-media-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-media-tracking_v3.24.5", diff --git a/plugins/browser-plugin-media-tracking/CHANGELOG.md b/plugins/browser-plugin-media-tracking/CHANGELOG.md index dd9db1bad..acb5c955e 100644 --- a/plugins/browser-plugin-media-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-media-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-media/CHANGELOG.json b/plugins/browser-plugin-media/CHANGELOG.json index b33fa3329..fcfe58e71 100644 --- a/plugins/browser-plugin-media/CHANGELOG.json +++ b/plugins/browser-plugin-media/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-media", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-media_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-media_v3.24.5", diff --git a/plugins/browser-plugin-media/CHANGELOG.md b/plugins/browser-plugin-media/CHANGELOG.md index ed220f02d..8535ce52c 100644 --- a/plugins/browser-plugin-media/CHANGELOG.md +++ b/plugins/browser-plugin-media/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-media -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.json b/plugins/browser-plugin-optimizely-x/CHANGELOG.json index dd5793f69..b69f7465a 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely-x", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-optimizely-x_v3.24.5", diff --git a/plugins/browser-plugin-optimizely-x/CHANGELOG.md b/plugins/browser-plugin-optimizely-x/CHANGELOG.md index 343705f14..39f7c6aa4 100644 --- a/plugins/browser-plugin-optimizely-x/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely-x/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely-x -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json index 735ae8724..0722938a6 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ b/plugins/browser-plugin-optimizely/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-optimizely", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-optimizely_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-optimizely_v3.24.5", diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md index 190fb6f5c..4683f8934 100644 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ b/plugins/browser-plugin-optimizely/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-optimizely -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json index 127b7535b..2ca75de29 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-performance-navigation-timing_v3.24.5", diff --git a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md index 7b5b1cca0..4519f728a 100644 --- a/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-navigation-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-navigation-timing -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.json b/plugins/browser-plugin-performance-timing/CHANGELOG.json index f9a052f7d..5764908fb 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.json +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-performance-timing", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-performance-timing_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-performance-timing_v3.24.5", diff --git a/plugins/browser-plugin-performance-timing/CHANGELOG.md b/plugins/browser-plugin-performance-timing/CHANGELOG.md index 0705ca80a..1efe1cda2 100644 --- a/plugins/browser-plugin-performance-timing/CHANGELOG.md +++ b/plugins/browser-plugin-performance-timing/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-performance-timing -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json index 1fad8c32b..f58622481 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-privacy-sandbox_v3.24.5", diff --git a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md index 579efe8c7..530d63ec4 100644 --- a/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md +++ b/plugins/browser-plugin-privacy-sandbox/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-privacy-sandbox -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.json b/plugins/browser-plugin-site-tracking/CHANGELOG.json index 0c802f925..088d3068f 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-site-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-site-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-site-tracking_v3.24.5", diff --git a/plugins/browser-plugin-site-tracking/CHANGELOG.md b/plugins/browser-plugin-site-tracking/CHANGELOG.md index 5fcb02d52..76eaf0cbb 100644 --- a/plugins/browser-plugin-site-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-site-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-site-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json index f3cf4b52f..29f5dc190 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-snowplow-ecommerce_v3.24.5", diff --git a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md index 03d79f9b3..0055a1ed1 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md +++ b/plugins/browser-plugin-snowplow-ecommerce/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-snowplow-ecommerce -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-timezone/CHANGELOG.json b/plugins/browser-plugin-timezone/CHANGELOG.json index 44f0b5133..ebe4f23fc 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.json +++ b/plugins/browser-plugin-timezone/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-timezone", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-timezone_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-timezone_v3.24.5", diff --git a/plugins/browser-plugin-timezone/CHANGELOG.md b/plugins/browser-plugin-timezone/CHANGELOG.md index d658b4a6a..bfd35b556 100644 --- a/plugins/browser-plugin-timezone/CHANGELOG.md +++ b/plugins/browser-plugin-timezone/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-timezone -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json index 2042779e2..bcf22b1a4 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-vimeo-tracking_v3.24.5", diff --git a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md index ac443ec4f..36f5dc801 100644 --- a/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-vimeo-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-vimeo-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.json b/plugins/browser-plugin-web-vitals/CHANGELOG.json index c099e55a4..a3ce83446 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.json +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-web-vitals", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-web-vitals_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-web-vitals_v3.24.5", diff --git a/plugins/browser-plugin-web-vitals/CHANGELOG.md b/plugins/browser-plugin-web-vitals/CHANGELOG.md index 8a8d0d791..457e0726f 100644 --- a/plugins/browser-plugin-web-vitals/CHANGELOG.md +++ b/plugins/browser-plugin-web-vitals/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-web-vitals -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json index dd3f64719..9b60bd784 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.json +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-plugin-youtube-tracking_v3.24.5", diff --git a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md index 3702f9308..deaf398a1 100644 --- a/plugins/browser-plugin-youtube-tracking/CHANGELOG.md +++ b/plugins/browser-plugin-youtube-tracking/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-plugin-youtube-tracking -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/trackers/browser-tracker/CHANGELOG.json b/trackers/browser-tracker/CHANGELOG.json index 379542f3a..7955cb2e0 100644 --- a/trackers/browser-tracker/CHANGELOG.json +++ b/trackers/browser-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/browser-tracker", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/browser-tracker_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/browser-tracker_v3.24.5", diff --git a/trackers/browser-tracker/CHANGELOG.md b/trackers/browser-tracker/CHANGELOG.md index 3ccd3ff11..a3c1ac92e 100644 --- a/trackers/browser-tracker/CHANGELOG.md +++ b/trackers/browser-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/browser-tracker -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/trackers/javascript-tracker/CHANGELOG.json b/trackers/javascript-tracker/CHANGELOG.json index 9cd207055..72b5a1926 100644 --- a/trackers/javascript-tracker/CHANGELOG.json +++ b/trackers/javascript-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/javascript-tracker", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/javascript-tracker_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/javascript-tracker_v3.24.5", diff --git a/trackers/javascript-tracker/CHANGELOG.md b/trackers/javascript-tracker/CHANGELOG.md index 4577678f0..da7e01248 100644 --- a/trackers/javascript-tracker/CHANGELOG.md +++ b/trackers/javascript-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/javascript-tracker -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT diff --git a/trackers/node-tracker/CHANGELOG.json b/trackers/node-tracker/CHANGELOG.json index 1503765b4..669ba5b7d 100644 --- a/trackers/node-tracker/CHANGELOG.json +++ b/trackers/node-tracker/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@snowplow/node-tracker", "entries": [ + { + "version": "3.24.6", + "tag": "@snowplow/node-tracker_v3.24.6", + "date": "Mon, 28 Oct 2024 10:23:28 GMT", + "comments": {} + }, { "version": "3.24.5", "tag": "@snowplow/node-tracker_v3.24.5", diff --git a/trackers/node-tracker/CHANGELOG.md b/trackers/node-tracker/CHANGELOG.md index cc561e709..07eda6be2 100644 --- a/trackers/node-tracker/CHANGELOG.md +++ b/trackers/node-tracker/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @snowplow/node-tracker -This log was last generated on Fri, 25 Oct 2024 08:53:04 GMT and should not be manually modified. +This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. + +## 3.24.6 +Mon, 28 Oct 2024 10:23:28 GMT + +_Version update only_ ## 3.24.5 Fri, 25 Oct 2024 08:53:04 GMT From bea5a80dc5d7d37e0f9fc7110a072d037f1d1b78 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 10:23:29 +0000 Subject: [PATCH 063/277] Bump versions [skip ci] --- common/config/rush/version-policies.json | 2 +- libraries/browser-tracker-core/package.json | 2 +- libraries/tracker-core/package.json | 2 +- plugins/browser-plugin-ad-tracking/package.json | 4 ++-- plugins/browser-plugin-browser-features/package.json | 4 ++-- plugins/browser-plugin-button-click-tracking/package.json | 4 ++-- plugins/browser-plugin-client-hints/package.json | 4 ++-- plugins/browser-plugin-consent/package.json | 4 ++-- plugins/browser-plugin-debugger/package.json | 4 ++-- plugins/browser-plugin-ecommerce/package.json | 4 ++-- plugins/browser-plugin-enhanced-consent/package.json | 4 ++-- plugins/browser-plugin-enhanced-ecommerce/package.json | 4 ++-- plugins/browser-plugin-error-tracking/package.json | 4 ++-- plugins/browser-plugin-event-specifications/package.json | 4 ++-- plugins/browser-plugin-focalmeter/package.json | 4 ++-- plugins/browser-plugin-form-tracking/package.json | 4 ++-- plugins/browser-plugin-ga-cookies/package.json | 4 ++-- plugins/browser-plugin-geolocation/package.json | 4 ++-- plugins/browser-plugin-link-click-tracking/package.json | 4 ++-- plugins/browser-plugin-media-tracking/package.json | 4 ++-- plugins/browser-plugin-media/package.json | 4 ++-- plugins/browser-plugin-optimizely-x/package.json | 4 ++-- plugins/browser-plugin-optimizely/package.json | 4 ++-- .../browser-plugin-performance-navigation-timing/package.json | 4 ++-- plugins/browser-plugin-performance-timing/package.json | 4 ++-- plugins/browser-plugin-privacy-sandbox/package.json | 4 ++-- plugins/browser-plugin-site-tracking/package.json | 4 ++-- plugins/browser-plugin-snowplow-ecommerce/package.json | 4 ++-- plugins/browser-plugin-timezone/package.json | 4 ++-- plugins/browser-plugin-vimeo-tracking/package.json | 4 ++-- plugins/browser-plugin-web-vitals/package.json | 4 ++-- plugins/browser-plugin-youtube-tracking/package.json | 4 ++-- trackers/browser-tracker/package.json | 2 +- trackers/javascript-tracker/package.json | 2 +- trackers/node-tracker/package.json | 2 +- 35 files changed, 64 insertions(+), 64 deletions(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index d77bdc3b5..fe57d43e3 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -33,7 +33,7 @@ * in the current branch. When bumping versions, Rush uses this to determine the next version. * (The "version" field in package.json is NOT considered.) */ - "version": "3.24.5", + "version": "3.24.6", /** * (Required) The type of bump that will be performed when publishing the next release. diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index cdcebb97d..910960b6e 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker-core", - "version": "3.24.5", + "version": "3.24.6", "description": "Core functionality for Snowplow Browser trackers", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index d03e6b4bb..afe271ad5 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/tracker-core", - "version": "3.24.5", + "version": "3.24.6", "description": "Core functionality for Snowplow JavaScript trackers", "keywords": [ "tracking", diff --git a/plugins/browser-plugin-ad-tracking/package.json b/plugins/browser-plugin-ad-tracking/package.json index 7b496ffff..e84015baa 100644 --- a/plugins/browser-plugin-ad-tracking/package.json +++ b/plugins/browser-plugin-ad-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ad-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Ad tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json index 1f35caa02..dcc5f74d4 100644 --- a/plugins/browser-plugin-browser-features/package.json +++ b/plugins/browser-plugin-browser-features/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-browser-features", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches browser features to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-button-click-tracking/package.json b/plugins/browser-plugin-button-click-tracking/package.json index 89e87dcb0..4bc9800dd 100644 --- a/plugins/browser-plugin-button-click-tracking/package.json +++ b/plugins/browser-plugin-button-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-button-click-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Button Click tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-client-hints/package.json b/plugins/browser-plugin-client-hints/package.json index bf1d935ed..54b61a195 100644 --- a/plugins/browser-plugin-client-hints/package.json +++ b/plugins/browser-plugin-client-hints/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-client-hints", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches Client Hints to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json index 21262cc85..b2f388044 100644 --- a/plugins/browser-plugin-consent/package.json +++ b/plugins/browser-plugin-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-consent", - "version": "3.24.5", + "version": "3.24.6", "description": "Consent and GDPR data for Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-debugger/package.json b/plugins/browser-plugin-debugger/package.json index 5210993e3..90603dd1e 100644 --- a/plugins/browser-plugin-debugger/package.json +++ b/plugins/browser-plugin-debugger/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-debugger", - "version": "3.24.5", + "version": "3.24.6", "description": "Debugger for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json index 3f8235244..629ea393e 100644 --- a/plugins/browser-plugin-ecommerce/package.json +++ b/plugins/browser-plugin-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.24.5", + "version": "3.24.6", "description": "Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-enhanced-consent/package.json b/plugins/browser-plugin-enhanced-consent/package.json index a22dd8444..3de3776be 100644 --- a/plugins/browser-plugin-enhanced-consent/package.json +++ b/plugins/browser-plugin-enhanced-consent/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-consent", - "version": "3.24.5", + "version": "3.24.6", "description": "Consent tracking for Snowplow", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", "repository": { @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-enhanced-ecommerce/package.json b/plugins/browser-plugin-enhanced-ecommerce/package.json index 9215cd39b..30ecf4d92 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/package.json +++ b/plugins/browser-plugin-enhanced-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-enhanced-ecommerce", - "version": "3.24.5", + "version": "3.24.6", "description": "Enhanced Ecommerce tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-error-tracking/package.json b/plugins/browser-plugin-error-tracking/package.json index 0fb99b618..130144c98 100644 --- a/plugins/browser-plugin-error-tracking/package.json +++ b/plugins/browser-plugin-error-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-error-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Error tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-event-specifications/package.json b/plugins/browser-plugin-event-specifications/package.json index 7538dccfb..4d960cf5a 100644 --- a/plugins/browser-plugin-event-specifications/package.json +++ b/plugins/browser-plugin-event-specifications/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-event-specifications", - "version": "3.24.5", + "version": "3.24.6", "description": "Automatically adds Event Specifications context to event specifications of a Data Product template.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-focalmeter/package.json b/plugins/browser-plugin-focalmeter/package.json index 236d4ca94..4260672f2 100644 --- a/plugins/browser-plugin-focalmeter/package.json +++ b/plugins/browser-plugin-focalmeter/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-focalmeter", - "version": "3.24.5", + "version": "3.24.6", "description": "Kantar FocalMeter integration for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index 944b668f7..fcce4fea1 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-form-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Form tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-ga-cookies/package.json b/plugins/browser-plugin-ga-cookies/package.json index 0ab1edaa1..05440d5cb 100644 --- a/plugins/browser-plugin-ga-cookies/package.json +++ b/plugins/browser-plugin-ga-cookies/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-ga-cookies", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches GA cookie data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-geolocation/package.json b/plugins/browser-plugin-geolocation/package.json index dec62d477..d3bca0dd2 100644 --- a/plugins/browser-plugin-geolocation/package.json +++ b/plugins/browser-plugin-geolocation/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-geolocation", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches Geolocation data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-link-click-tracking/package.json b/plugins/browser-plugin-link-click-tracking/package.json index 8bf1450f1..1e2e9eb0b 100644 --- a/plugins/browser-plugin-link-click-tracking/package.json +++ b/plugins/browser-plugin-link-click-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-link-click-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Link Click tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 4023f1bd0..6e93cbd0a 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Audio/Video tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -47,6 +47,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 22df5eebd..3670330a8 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-media", - "version": "3.24.5", + "version": "3.24.6", "description": "Snowplow media tracking", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-optimizely-x/package.json b/plugins/browser-plugin-optimizely-x/package.json index a851250ef..634fabeeb 100644 --- a/plugins/browser-plugin-optimizely-x/package.json +++ b/plugins/browser-plugin-optimizely-x/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely-x", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches OptimizelyX data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json index 9ab96a3a1..1b4b39a60 100644 --- a/plugins/browser-plugin-optimizely/package.json +++ b/plugins/browser-plugin-optimizely/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-optimizely", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches Optimizely data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-performance-navigation-timing/package.json b/plugins/browser-plugin-performance-navigation-timing/package.json index c61b3f165..1cb4c2b3d 100644 --- a/plugins/browser-plugin-performance-navigation-timing/package.json +++ b/plugins/browser-plugin-performance-navigation-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-navigation-timing", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches Performance Navigation Timing data to Snowplow events", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-performance-timing/package.json b/plugins/browser-plugin-performance-timing/package.json index e5a480753..760c09582 100644 --- a/plugins/browser-plugin-performance-timing/package.json +++ b/plugins/browser-plugin-performance-timing/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-performance-timing", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches Performance Timing data to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-privacy-sandbox/package.json b/plugins/browser-plugin-privacy-sandbox/package.json index 5a5ad606c..3ddc20947 100644 --- a/plugins/browser-plugin-privacy-sandbox/package.json +++ b/plugins/browser-plugin-privacy-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-privacy-sandbox", - "version": "3.24.5", + "version": "3.24.6", "description": "Allows for the collection of Privacy Sandbox specific data.", "homepage": "https://docs.snowplow.io/", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-site-tracking/package.json b/plugins/browser-plugin-site-tracking/package.json index 50776280b..c98295786 100644 --- a/plugins/browser-plugin-site-tracking/package.json +++ b/plugins/browser-plugin-site-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-site-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Site tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-snowplow-ecommerce/package.json b/plugins/browser-plugin-snowplow-ecommerce/package.json index 6f8479e20..650013380 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/package.json +++ b/plugins/browser-plugin-snowplow-ecommerce/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-snowplow-ecommerce", - "version": "3.24.5", + "version": "3.24.6", "description": "Snowplow ecommerce tracking", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-timezone/package.json b/plugins/browser-plugin-timezone/package.json index df22dd73b..7954e44dd 100644 --- a/plugins/browser-plugin-timezone/package.json +++ b/plugins/browser-plugin-timezone/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-timezone", - "version": "3.24.5", + "version": "3.24.6", "description": "Attaches timezone to Snowplow events", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -51,6 +51,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-vimeo-tracking/package.json b/plugins/browser-plugin-vimeo-tracking/package.json index 14a62ac31..85d1306a7 100644 --- a/plugins/browser-plugin-vimeo-tracking/package.json +++ b/plugins/browser-plugin-vimeo-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-vimeo-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "Vimeo tracking for Snowplow", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -50,6 +50,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-web-vitals/package.json b/plugins/browser-plugin-web-vitals/package.json index 25f60181e..c4e0a7853 100644 --- a/plugins/browser-plugin-web-vitals/package.json +++ b/plugins/browser-plugin-web-vitals/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-web-vitals", - "version": "3.24.5", + "version": "3.24.6", "description": "Adds the capability to track web performance metrics categorized as Web Vitals.", "homepage": "https://github.com/snowplow/snowplow-javascript-tracker", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -49,6 +49,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/plugins/browser-plugin-youtube-tracking/package.json b/plugins/browser-plugin-youtube-tracking/package.json index 2ebf7e30e..537427742 100644 --- a/plugins/browser-plugin-youtube-tracking/package.json +++ b/plugins/browser-plugin-youtube-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-plugin-youtube-tracking", - "version": "3.24.5", + "version": "3.24.6", "description": "YouTube tracking for Snowplow", "homepage": "http://bit.ly/sp-js", "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", @@ -48,6 +48,6 @@ "typescript": "~4.6.2" }, "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.5" + "@snowplow/browser-tracker": "~3.24.6" } } diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index 1328e452a..f18d5a07b 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/browser-tracker", - "version": "3.24.5", + "version": "3.24.6", "description": "Browser tracker for Snowplow", "keywords": [ "tracking", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 0cc3ba2e5..4504a0ac1 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/javascript-tracker", - "version": "3.24.5", + "version": "3.24.6", "description": "Web analytics for Snowplow", "keywords": [ "tracking", diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 43754a9b7..88bee18ea 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@snowplow/node-tracker", - "version": "3.24.5", + "version": "3.24.6", "description": "Node tracker for Snowplow", "keywords": [ "snowplow", From fd3f49312e6199eb922be8ff5c25572018c55eed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 10:27:13 +0000 Subject: [PATCH 064/277] Applying documentation updates. From b298e9a76037282ff960a96bcb3c6b483c378015 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Mon, 9 Jan 2023 09:34:38 +0200 Subject: [PATCH 065/277] Update Node.js to v14 (closes #1129) (#1130) --- ...129-update-supported-node-v14_2022-11-29-08-48.json | 10 ++++++++++ trackers/node-tracker/tsconfig.json | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 common/changes/@snowplow/node-tracker/feature-1129-update-supported-node-v14_2022-11-29-08-48.json diff --git a/common/changes/@snowplow/node-tracker/feature-1129-update-supported-node-v14_2022-11-29-08-48.json b/common/changes/@snowplow/node-tracker/feature-1129-update-supported-node-v14_2022-11-29-08-48.json new file mode 100644 index 000000000..7d68cc9b4 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/feature-1129-update-supported-node-v14_2022-11-29-08-48.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Update Node.js to v14 (closes #1129)", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/trackers/node-tracker/tsconfig.json b/trackers/node-tracker/tsconfig.json index a4fe4b4a2..1511aff63 100644 --- a/trackers/node-tracker/tsconfig.json +++ b/trackers/node-tracker/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { /* Basic Options */ - "lib": ["es2018"], - "target": "es2018" /* Good for Node 10 - https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping */, + "lib": ["ES2020"], + "target": "ES2020" /* Good for Node 14 - https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping */, "module": "commonjs" /* Ignored by rollup but used by ts-node for tests */, "declaration": true /* Generates corresponding '.d.ts' file. */, "resolveJsonModule": true, From b2435c77c8f0496143718a03fe7d6fac31cbddb3 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Mon, 9 Jan 2023 09:34:57 +0200 Subject: [PATCH 066/277] Update browser targets for compilation (closes #1131) (#1132) --- .browserslistrc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.browserslistrc b/.browserslistrc index 27001cf97..0664125b8 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,5 +1,5 @@ -chrome >= 32, -ie >= 9, -edge >= 13, -firefox >= 27, -safari >= 8, +chrome >= 72, +ie >= 11, +edge >= 79, +firefox >= 78, +safari >= 9.1, From 9671dcf07dca3e70656406c626932fc6e8c32b49 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 12 Jan 2023 15:51:10 +0200 Subject: [PATCH 067/277] Upgrade UUID to 8.3.2 (close #1138) --- ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ .../2023-02-06-11-05.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ .../2023-02-06-11-05.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ .../2023-08-16-09-05.json | 10 ++++++ .../2023-08-16-09-05.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ .../2023-02-06-11-05.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ ...re-1138-upgrade-uuid_2023-01-10-10-11.json | 10 ++++++ common/config/rush/pnpm-lock.yaml | 36 +++++++++++-------- common/config/rush/repo-state.json | 2 +- libraries/browser-tracker-core/package.json | 4 +-- libraries/tracker-core/package.json | 4 +-- .../browser-plugin-ad-tracking/jest.config.js | 1 + plugins/browser-plugin-consent/jest.config.js | 1 + .../browser-plugin-ecommerce/jest.config.js | 1 + .../jest.config.js | 1 + .../jest.config.js | 1 + .../jest.config.js | 1 + .../jest.config.js | 1 + plugins/browser-plugin-media/jest.config.js | 1 + plugins/browser-plugin-media/package.json | 4 +-- .../jest.config.js | 1 + .../jest.config.js | 1 + .../jest.config.js | 1 + setupTestGlobals.ts | 8 +++++ trackers/browser-tracker/jest.config.js | 1 + 33 files changed, 198 insertions(+), 22 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-ad-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-plugin-consent/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-plugin-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-plugin-enhanced-consent/2023-02-06-11-05.json create mode 100644 common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-plugin-error-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-plugin-focalmeter/2023-02-06-11-05.json create mode 100644 common/changes/@snowplow/browser-plugin-link-click-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-plugin-media/2023-08-16-09-05.json create mode 100644 common/changes/@snowplow/browser-plugin-performance-navigation-timing/2023-08-16-09-05.json create mode 100644 common/changes/@snowplow/browser-plugin-site-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/2023-02-06-11-05.json create mode 100644 common/changes/@snowplow/browser-tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/browser-tracker/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 common/changes/@snowplow/tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json create mode 100644 setupTestGlobals.ts diff --git a/common/changes/@snowplow/browser-plugin-ad-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-plugin-ad-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..63ab22cfd --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ad-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ad-tracking", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ad-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-consent/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-plugin-consent/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..b92b62a0a --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-consent/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-consent", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-consent" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-plugin-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..b5c87e859 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ecommerce", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-consent/2023-02-06-11-05.json b/common/changes/@snowplow/browser-plugin-enhanced-consent/2023-02-06-11-05.json new file mode 100644 index 000000000..68137719e --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-enhanced-consent/2023-02-06-11-05.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-enhanced-consent", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-enhanced-consent" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..4b59237c0 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-error-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-plugin-error-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..cfccb7027 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-error-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-error-tracking", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-error-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-focalmeter/2023-02-06-11-05.json b/common/changes/@snowplow/browser-plugin-focalmeter/2023-02-06-11-05.json new file mode 100644 index 000000000..4a64c0f99 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-focalmeter/2023-02-06-11-05.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-focalmeter", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-focalmeter" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-link-click-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-plugin-link-click-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..a9e777d09 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-link-click-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-link-click-tracking", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-link-click-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-media/2023-08-16-09-05.json b/common/changes/@snowplow/browser-plugin-media/2023-08-16-09-05.json new file mode 100644 index 000000000..193d407ed --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media/2023-08-16-09-05.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media", + "comment": "Upgrade UUID to 8.3.2 (close #1138)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-performance-navigation-timing/2023-08-16-09-05.json b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/2023-08-16-09-05.json new file mode 100644 index 000000000..f3386fa4b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-performance-navigation-timing/2023-08-16-09-05.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-performance-navigation-timing", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-performance-navigation-timing" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-site-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-plugin-site-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..c9f262ae2 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-site-tracking/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-site-tracking", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-site-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/2023-02-06-11-05.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/2023-02-06-11-05.json new file mode 100644 index 000000000..cb4138a3b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/2023-02-06-11-05.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..c9766e06c --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Upgrade UUID to 8.3.2 (close #1138)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/browser-tracker/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..5665ac7f0 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json b/common/changes/@snowplow/tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json new file mode 100644 index 000000000..a41e9dd3f --- /dev/null +++ b/common/changes/@snowplow/tracker-core/feature-1138-upgrade-uuid_2023-01-10-10-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Upgrade UUID to 8.3.2 (close #1138)", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 86aaccb2f..ad31c0db9 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -22,8 +22,8 @@ importers: specifier: ^2.3.1 version: 2.7.0 uuid: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^8.3.2 + version: 8.3.2 devDependencies: '@ampproject/rollup-plugin-closure-compiler': specifier: ~0.27.0 @@ -47,8 +47,8 @@ importers: specifier: ~1.1.3 version: 1.1.5 '@types/uuid': - specifier: ~3.4.6 - version: 3.4.13 + specifier: ^8.3.2 + version: 8.3.4 '@typescript-eslint/eslint-plugin': specifier: ~5.15.0 version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) @@ -98,8 +98,8 @@ importers: specifier: ^2.3.1 version: 2.7.0 uuid: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^8.3.2 + version: 8.3.2 devDependencies: '@ampproject/rollup-plugin-closure-compiler': specifier: ~0.27.0 @@ -117,8 +117,8 @@ importers: specifier: ~14.6.0 version: 14.6.4 '@types/uuid': - specifier: ~3.4.6 - version: 3.4.13 + specifier: ^8.3.2 + version: 8.3.4 '@typescript-eslint/eslint-plugin': specifier: ~5.15.0 version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) @@ -1342,8 +1342,8 @@ importers: specifier: ^2.3.1 version: 2.7.0 uuid: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^8.3.2 + version: 8.3.2 devDependencies: '@ampproject/rollup-plugin-closure-compiler': specifier: ~0.27.0 @@ -1361,8 +1361,8 @@ importers: specifier: ~16.2.14 version: 16.2.15 '@types/uuid': - specifier: ~3.4.6 - version: 3.4.13 + specifier: ^8.3.2 + version: 8.3.4 '@typescript-eslint/eslint-plugin': specifier: ~5.15.0 version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) @@ -3271,8 +3271,8 @@ packages: '@types/ua-parser-js@0.7.39': resolution: {integrity: sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==} - '@types/uuid@3.4.13': - resolution: {integrity: sha512-pAeZeUbLE4Z9Vi9wsWV2bYPTweEHeJJy0G4pEjOA/FSvy1Ad5U5Km8iDV6TKre1mjBiVNfAdVHKruP8bAh4Q5A==} + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} '@types/vimeo__player@2.16.3': resolution: {integrity: sha512-hsOe6CZFTNyfjRjQUrNHBF4LDmjvjcU2yQIPWp5AglKeGxt11JYGToQhKUPM876gBXggqR6rMQ0/sNI06ec2Rg==} @@ -7413,6 +7413,10 @@ packages: resolution: {integrity: sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==} hasBin: true + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -8582,7 +8586,7 @@ snapshots: '@types/ua-parser-js@0.7.39': {} - '@types/uuid@3.4.13': {} + '@types/uuid@8.3.4': {} '@types/vimeo__player@2.16.3': {} @@ -13686,6 +13690,8 @@ snapshots: uuid@8.1.0: {} + uuid@8.3.2: {} + v8-compile-cache-lib@3.0.1: {} v8-compile-cache@2.4.0: {} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 98aeae6bc..bf99c5f52 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "d2b7857ec8d95c90fd800c6b48ae3be27839523f", + "pnpmShrinkwrapHash": "c1a9a35222efaa03d8fdf257439ec7d869d503a4", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 910960b6e..25d0839e1 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -25,7 +25,7 @@ "@snowplow/tracker-core": "workspace:*", "sha1": "^1.1.1", "tslib": "^2.3.1", - "uuid": "^3.4.0" + "uuid": "^8.3.2" }, "devDependencies": { "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", @@ -34,7 +34,7 @@ "@types/jest": "~27.4.1", "@types/jsdom": "~16.2.14", "@types/sha1": "~1.1.3", - "@types/uuid": "~3.4.6", + "@types/uuid": "^8.3.2", "@typescript-eslint/eslint-plugin": "~5.15.0", "@typescript-eslint/parser": "~5.15.0", "eslint": "~8.11.0", diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index afe271ad5..a07044c49 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "tslib": "^2.3.1", - "uuid": "^3.4.0" + "uuid": "^8.3.2" }, "devDependencies": { "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", @@ -53,7 +53,7 @@ "@rollup/plugin-json": "~4.1.0", "@rollup/plugin-node-resolve": "~13.1.3", "@types/node": "~14.6.0", - "@types/uuid": "~3.4.6", + "@types/uuid": "^8.3.2", "@typescript-eslint/eslint-plugin": "~5.15.0", "@typescript-eslint/parser": "~5.15.0", "ava": "~4.1.0", diff --git a/plugins/browser-plugin-ad-tracking/jest.config.js b/plugins/browser-plugin-ad-tracking/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-ad-tracking/jest.config.js +++ b/plugins/browser-plugin-ad-tracking/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-consent/jest.config.js b/plugins/browser-plugin-consent/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-consent/jest.config.js +++ b/plugins/browser-plugin-consent/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-ecommerce/jest.config.js b/plugins/browser-plugin-ecommerce/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-ecommerce/jest.config.js +++ b/plugins/browser-plugin-ecommerce/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-enhanced-consent/jest.config.js b/plugins/browser-plugin-enhanced-consent/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-enhanced-consent/jest.config.js +++ b/plugins/browser-plugin-enhanced-consent/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-enhanced-ecommerce/jest.config.js b/plugins/browser-plugin-enhanced-ecommerce/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/jest.config.js +++ b/plugins/browser-plugin-enhanced-ecommerce/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-error-tracking/jest.config.js b/plugins/browser-plugin-error-tracking/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-error-tracking/jest.config.js +++ b/plugins/browser-plugin-error-tracking/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-link-click-tracking/jest.config.js b/plugins/browser-plugin-link-click-tracking/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-link-click-tracking/jest.config.js +++ b/plugins/browser-plugin-link-click-tracking/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-media/jest.config.js b/plugins/browser-plugin-media/jest.config.js index bd3ea4e2a..90f99fb5b 100644 --- a/plugins/browser-plugin-media/jest.config.js +++ b/plugins/browser-plugin-media/jest.config.js @@ -2,4 +2,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], testEnvironment: 'jest-environment-jsdom-global', + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], }; diff --git a/plugins/browser-plugin-media/package.json b/plugins/browser-plugin-media/package.json index 3670330a8..77cced7bc 100644 --- a/plugins/browser-plugin-media/package.json +++ b/plugins/browser-plugin-media/package.json @@ -25,7 +25,7 @@ "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", "tslib": "^2.3.1", - "uuid": "^3.4.0" + "uuid": "^8.3.2" }, "devDependencies": { "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", @@ -33,7 +33,7 @@ "@rollup/plugin-node-resolve": "~13.1.3", "@types/jest": "~27.4.1", "@types/jsdom": "~16.2.14", - "@types/uuid": "~3.4.6", + "@types/uuid": "^8.3.2", "@typescript-eslint/eslint-plugin": "~5.15.0", "@typescript-eslint/parser": "~5.15.0", "eslint": "~8.11.0", diff --git a/plugins/browser-plugin-performance-navigation-timing/jest.config.js b/plugins/browser-plugin-performance-navigation-timing/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-performance-navigation-timing/jest.config.js +++ b/plugins/browser-plugin-performance-navigation-timing/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-site-tracking/jest.config.js b/plugins/browser-plugin-site-tracking/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-site-tracking/jest.config.js +++ b/plugins/browser-plugin-site-tracking/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/plugins/browser-plugin-snowplow-ecommerce/jest.config.js b/plugins/browser-plugin-snowplow-ecommerce/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/jest.config.js +++ b/plugins/browser-plugin-snowplow-ecommerce/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/setupTestGlobals.ts b/setupTestGlobals.ts new file mode 100644 index 000000000..a7970c711 --- /dev/null +++ b/setupTestGlobals.ts @@ -0,0 +1,8 @@ +const nodeCrypto = require('crypto'); + +// @ts-expect-error +global.crypto = { + getRandomValues: function (buffer) { + return nodeCrypto.randomFillSync(buffer); + }, +}; diff --git a/trackers/browser-tracker/jest.config.js b/trackers/browser-tracker/jest.config.js index 831ba7550..18a30e921 100644 --- a/trackers/browser-tracker/jest.config.js +++ b/trackers/browser-tracker/jest.config.js @@ -2,6 +2,7 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], testEnvironment: 'jest-environment-jsdom-global', + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironmentOptions: { url: 'https://snowplow-js-tracker.local/test/page.html', referrer: 'https://example.com/', From a1ba0cae64dba4f83245dc8ec84647822481b47b Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Fri, 3 Feb 2023 13:10:25 +0200 Subject: [PATCH 068/277] Revise Node.js initialization API --- .../markdown/node-tracker.gotemitter.md | 33 -- .../markdown/node-tracker.httpmethod.md | 19 - .../markdown/node-tracker.httpprotocol.md | 19 - .../node-tracker/markdown/node-tracker.md | 10 +- .../markdown/node-tracker.newtracker.md | 23 + .../docs/node-tracker/node-tracker.api.md | 28 +- ...odejs-initialization_2023-01-30-17-24.json | 10 + ...odejs-initialization_2023-01-31-10-50.json | 10 + .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 115 ++--- common/config/rush/repo-state.json | 2 +- libraries/tracker-core/package.json | 2 +- .../browser-plugin-focalmeter/jest.config.js | 1 + trackers/node-tracker/README.md | 16 +- trackers/node-tracker/package.json | 2 +- trackers/node-tracker/src/emitter.ts | 10 - trackers/node-tracker/src/got_emitter.ts | 76 ++-- trackers/node-tracker/src/index.ts | 5 +- trackers/node-tracker/src/tracker.ts | 54 ++- trackers/node-tracker/test/got_emitter.ts | 235 ++++------ trackers/node-tracker/test/tracker.ts | 420 +++++++++--------- 21 files changed, 510 insertions(+), 584 deletions(-) delete mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md delete mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.httpmethod.md delete mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.httpprotocol.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md create mode 100644 common/changes/@snowplow/node-tracker/feature-revise-nodejs-initialization_2023-01-30-17-24.json create mode 100644 common/changes/@snowplow/tracker-core/feature-revise-nodejs-initialization_2023-01-31-10-50.json diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md b/api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md deleted file mode 100644 index 106a6040d..000000000 --- a/api-docs/docs/node-tracker/markdown/node-tracker.gotemitter.md +++ /dev/null @@ -1,33 +0,0 @@ - - -[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [gotEmitter](./node-tracker.gotemitter.md) - -## gotEmitter() function - -Create an emitter object, which uses the `got` library, that will send events to a collector - -Signature: - -```typescript -declare function gotEmitter(endpoint: string, protocol?: HttpProtocol, port?: number, method?: HttpMethod, bufferSize?: number, retry?: number | Partial, cookieJar?: PromiseCookieJar | ToughCookieJar, callback?: (error?: RequestError, response?: Response) => void, agents?: Agents, serverAnonymization?: boolean): Emitter; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| endpoint | string | The collector to which events will be sent | -| protocol | HttpProtocol | http or https | -| port | number | The port for requests to use | -| method | HttpMethod | get or post | -| bufferSize | number | Number of events which can be queued before flush is called | -| retry | number \| Partial<RequiredRetryOptions> | Configure the retry policy for got - https://github.com/sindresorhus/got/blob/v11.5.2/readme.md\#retry | -| cookieJar | PromiseCookieJar \| ToughCookieJar | Add a cookieJar to got - https://github.com/sindresorhus/got/blob/v11.5.2/readme.md\#cookiejar | -| callback | (error?: RequestError, response?: Response<string>) => void | Callback called after a got request following retries - called with ErrorRequest (https://github.com/sindresorhus/got/blob/v11.5.2/readme.md\#errors) and Response (https://github.com/sindresorhus/got/blob/v11.5.2/readme.md\#response) | -| agents | Agents | Set new http.Agent and https.Agent objects on got requests - https://github.com/sindresorhus/got/blob/v11.5.2/readme.md\#agent | -| serverAnonymization | boolean | If the request should undergo server anonymization. | - -Returns: - -Emitter - diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.httpmethod.md b/api-docs/docs/node-tracker/markdown/node-tracker.httpmethod.md deleted file mode 100644 index bb8a91f6b..000000000 --- a/api-docs/docs/node-tracker/markdown/node-tracker.httpmethod.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [HttpMethod](./node-tracker.httpmethod.md) - -## HttpMethod enum - -Signature: - -```typescript -declare enum HttpMethod -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| GET | "get" | | -| POST | "post" | | - diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.httpprotocol.md b/api-docs/docs/node-tracker/markdown/node-tracker.httpprotocol.md deleted file mode 100644 index c03c42c99..000000000 --- a/api-docs/docs/node-tracker/markdown/node-tracker.httpprotocol.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [HttpProtocol](./node-tracker.httpprotocol.md) - -## HttpProtocol enum - -Signature: - -```typescript -declare enum HttpProtocol -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| HTTP | "http" | | -| HTTPS | "https" | | - diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.md index 774b85a63..3f0c270a0 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.md @@ -4,13 +4,6 @@ ## node-tracker package -## Enumerations - -| Enumeration | Description | -| --- | --- | -| [HttpMethod](./node-tracker.httpmethod.md) | | -| [HttpProtocol](./node-tracker.httpprotocol.md) | | - ## Functions | Function | Description | @@ -34,8 +27,7 @@ | [buildSiteSearch(event)](./node-tracker.buildsitesearch.md) | Build a Site Search Event Used when a user performs a search action on a page | | [buildSocialInteraction(event)](./node-tracker.buildsocialinteraction.md) | Build a Social Interaction Event Social tracking will be used to track the way users interact with Facebook, Twitter and Google + widgets e.g. to capture “like this” or “tweet this” events. | | [buildStructEvent(event)](./node-tracker.buildstructevent.md) | Build a Structured Event A classic style of event tracking, allows for easier movement between analytics systems. A loosely typed event, creating a Self Describing event is preferred, but useful for interoperability. | -| [gotEmitter(endpoint, protocol, port, method, bufferSize, retry, cookieJar, callback, agents, serverAnonymization)](./node-tracker.gotemitter.md) | Create an emitter object, which uses the got library, that will send events to a collector | -| [tracker(emitters, namespace, appId, encodeBase64)](./node-tracker.tracker.md) | Snowplow Node.js Tracker | +| [newTracker(trackerConfiguration, emitterConfiguration)](./node-tracker.newtracker.md) | | ## Interfaces diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md new file mode 100644 index 000000000..b7d150310 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [newTracker](./node-tracker.newtracker.md) + +## newTracker() function + +Signature: + +```typescript +declare function newTracker(trackerConfiguration: TrackerConfiguration, emitterConfiguration: EmitterConfiguration | EmitterConfiguration[]): Tracker; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| trackerConfiguration | TrackerConfiguration | | +| emitterConfiguration | EmitterConfiguration \| EmitterConfiguration\[\] | | + +Returns: + +Tracker + diff --git a/api-docs/docs/node-tracker/node-tracker.api.md b/api-docs/docs/node-tracker/node-tracker.api.md index 8d75db93e..a5f69fc3f 100644 --- a/api-docs/docs/node-tracker/node-tracker.api.md +++ b/api-docs/docs/node-tracker/node-tracker.api.md @@ -229,25 +229,6 @@ export interface FormSubmissionEvent { formId: string; } -// @public -export function gotEmitter(endpoint: string, protocol?: HttpProtocol, port?: number, method?: HttpMethod, bufferSize?: number, retry?: number | Partial, cookieJar?: PromiseCookieJar | ToughCookieJar, callback?: (error?: RequestError, response?: Response) => void, agents?: Agents, serverAnonymization?: boolean): Emitter; - -// @public (undocumented) -export enum HttpMethod { - // (undocumented) - GET = "get", - // (undocumented) - POST = "post" -} - -// @public (undocumented) -export enum HttpProtocol { - // (undocumented) - HTTP = "http", - // (undocumented) - HTTPS = "https" -} - // @public export interface LinkClickEvent { elementClasses?: Array; @@ -257,6 +238,12 @@ export interface LinkClickEvent { targetUrl: string; } +// Warning: (ae-forgotten-export) The symbol "TrackerConfiguration" needs to be exported by the entry point index.module.d.ts +// Warning: (ae-forgotten-export) The symbol "EmitterConfiguration" needs to be exported by the entry point index.module.d.ts +// +// @public (undocumented) +export function newTracker(trackerConfiguration: TrackerConfiguration, emitterConfiguration: EmitterConfiguration | EmitterConfiguration[]): Tracker; + // @public export interface PagePingEvent extends PageViewEvent { maxXOffset?: number; @@ -359,9 +346,6 @@ export interface Tracker extends TrackerCore { setSessionIndex: (sessionIndex: string | number) => void; } -// @public -export function tracker(emitters: Emitter | Array, namespace: string, appId: string, encodeBase64: boolean): Tracker; - // @public (undocumented) export const version: string; diff --git a/common/changes/@snowplow/node-tracker/feature-revise-nodejs-initialization_2023-01-30-17-24.json b/common/changes/@snowplow/node-tracker/feature-revise-nodejs-initialization_2023-01-30-17-24.json new file mode 100644 index 000000000..47e16db1c --- /dev/null +++ b/common/changes/@snowplow/node-tracker/feature-revise-nodejs-initialization_2023-01-30-17-24.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Revise Node.js initialization API & upgrade got to @12", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/feature-revise-nodejs-initialization_2023-01-31-10-50.json b/common/changes/@snowplow/tracker-core/feature-revise-nodejs-initialization_2023-01-31-10-50.json new file mode 100644 index 000000000..3d3ff5a8c --- /dev/null +++ b/common/changes/@snowplow/tracker-core/feature-revise-nodejs-initialization_2023-01-31-10-50.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Upgrade ava to @5", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 86f6c70a5..fef8d4192 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -374,6 +374,10 @@ "name": "tslib", "allowedCategories": [ "libraries", "plugins", "trackers" ] }, + { + "name": "tsx", + "allowedCategories": [ "trackers" ] + }, { "name": "typescript", "allowedCategories": [ "libraries", "plugins", "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index ad31c0db9..452ec7674 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -126,8 +126,8 @@ importers: specifier: ~5.15.0 version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) ava: - specifier: ~4.1.0 - version: 4.1.0 + specifier: ~5.1.1 + version: 5.1.1 eslint: specifier: ~8.11.0 version: 8.11.0 @@ -2612,8 +2612,8 @@ importers: specifier: ~5.15.0 version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) ava: - specifier: ~4.1.0 - version: 4.1.0 + specifier: ~5.1.1 + version: 5.1.1 eslint: specifier: ~8.11.0 version: 8.11.0 @@ -3637,9 +3637,9 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - ava@4.1.0: - resolution: {integrity: sha512-QD6MBWHzagAwb9vxduXzVWx6Q77DUHLxvIebSY6+enL+Ri6KzSZYj0IBOFifA26wfpJPZnWKLUh3vwx1LyVh/g==} - engines: {node: '>=12.22 <13 || >=14.17 <15 || >=16.4 <17 || >=17'} + ava@5.1.1: + resolution: {integrity: sha512-od1CWgWVIKZSdEc1dhQWhbsd6KBs0EYjek7eqZNGPvy+NyC9Q1bXixcadlgOXwDG9aM0zLMQZwRXfe9gMb1LQQ==} + engines: {node: '>=14.19 <15 || >=16.15 <17 || >=18'} hasBin: true peerDependencies: '@ava/typescript': '*' @@ -4278,9 +4278,9 @@ packages: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} engines: {node: '>= 14'} - del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} + del@7.1.0: + resolution: {integrity: sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==} + engines: {node: '>=14.16'} delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} @@ -4392,14 +4392,14 @@ packages: electron-to-chromium@1.5.13: resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} - emittery@0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} - engines: {node: '>=12'} - emittery@0.8.1: resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} engines: {node: '>=10'} + emittery@1.0.3: + resolution: {integrity: sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==} + engines: {node: '>=14.16'} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4660,10 +4660,6 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - figures@4.0.1: - resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} - engines: {node: '>=12'} - figures@5.0.0: resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} engines: {node: '>=14'} @@ -5255,13 +5251,13 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} + is-path-cwd@3.0.0: + resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} @@ -6302,6 +6298,10 @@ packages: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} + parse-ms@3.0.0: + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} + parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} @@ -6439,6 +6439,10 @@ packages: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} + pretty-ms@8.0.0: + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -7130,9 +7134,9 @@ packages: tcp-port-used@1.0.2: resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} + temp-dir@3.0.0: + resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} + engines: {node: '>=14.16'} terminal-link@2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} @@ -7605,9 +7609,9 @@ packages: write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} @@ -9118,7 +9122,7 @@ snapshots: asynckit@0.4.0: {} - ava@4.1.0: + ava@5.1.1: dependencies: acorn: 8.12.1 acorn-walk: 8.3.3 @@ -9139,9 +9143,9 @@ snapshots: concordance: 5.0.4 currently-unhandled: 0.4.1 debug: 4.3.6 - del: 6.1.1 - emittery: 0.10.2 - figures: 4.0.1 + del: 7.1.0 + emittery: 1.0.3 + figures: 5.0.0 globby: 13.2.2 ignore-by-default: 2.1.0 indent-string: 5.0.0 @@ -9156,14 +9160,14 @@ snapshots: picomatch: 2.3.1 pkg-conf: 4.0.0 plur: 5.1.0 - pretty-ms: 7.0.1 + pretty-ms: 8.0.0 resolve-cwd: 3.0.0 slash: 3.0.0 stack-utils: 2.0.6 strip-ansi: 7.1.0 supertap: 3.0.1 - temp-dir: 2.0.0 - write-file-atomic: 4.0.2 + temp-dir: 3.0.0 + write-file-atomic: 5.0.1 yargs: 17.7.2 transitivePeerDependencies: - supports-color @@ -9898,16 +9902,16 @@ snapshots: escodegen: 2.1.0 esprima: 4.0.1 - del@6.1.1: + del@7.1.0: dependencies: - globby: 11.1.0 + globby: 13.2.2 graceful-fs: 4.2.11 is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 + is-path-cwd: 3.0.0 + is-path-inside: 4.0.0 + p-map: 5.5.0 rimraf: 3.0.2 - slash: 3.0.0 + slash: 4.0.0 delayed-stream@1.0.0: {} @@ -10011,10 +10015,10 @@ snapshots: electron-to-chromium@1.5.13: {} - emittery@0.10.2: {} - emittery@0.8.1: {} + emittery@1.0.3: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -10412,11 +10416,6 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - figures@4.0.1: - dependencies: - escape-string-regexp: 5.0.0 - is-unicode-supported: 1.3.0 - figures@5.0.0: dependencies: escape-string-regexp: 5.0.0 @@ -11052,9 +11051,9 @@ snapshots: is-number@7.0.0: {} - is-path-cwd@2.2.0: {} + is-path-cwd@3.0.0: {} - is-path-inside@3.0.3: {} + is-path-inside@4.0.0: {} is-plain-obj@4.1.0: {} @@ -12452,6 +12451,8 @@ snapshots: parse-ms@2.1.0: {} + parse-ms@3.0.0: {} + parse5@6.0.1: {} parseurl@1.3.3: {} @@ -12567,6 +12568,10 @@ snapshots: dependencies: parse-ms: 2.1.0 + pretty-ms@8.0.0: + dependencies: + parse-ms: 3.0.0 + process-nextick-args@2.0.1: {} process@0.11.10: {} @@ -13391,7 +13396,7 @@ snapshots: transitivePeerDependencies: - supports-color - temp-dir@2.0.0: {} + temp-dir@3.0.0: {} terminal-link@2.1.1: dependencies: @@ -13951,10 +13956,10 @@ snapshots: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - write-file-atomic@4.0.2: + write-file-atomic@5.0.1: dependencies: imurmurhash: 0.1.4 - signal-exit: 3.0.7 + signal-exit: 4.1.0 ws@7.5.10: {} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index bf99c5f52..b9e76dc13 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "c1a9a35222efaa03d8fdf257439ec7d869d503a4", + "pnpmShrinkwrapHash": "24d7184530623550e7ddaeff499ae54dda564cc6", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/libraries/tracker-core/package.json b/libraries/tracker-core/package.json index a07044c49..5aed77212 100644 --- a/libraries/tracker-core/package.json +++ b/libraries/tracker-core/package.json @@ -56,7 +56,7 @@ "@types/uuid": "^8.3.2", "@typescript-eslint/eslint-plugin": "~5.15.0", "@typescript-eslint/parser": "~5.15.0", - "ava": "~4.1.0", + "ava": "~5.1.1", "eslint": "~8.11.0", "jest-standard-reporter": "~2.0.0", "rollup": "~2.70.1", diff --git a/plugins/browser-plugin-focalmeter/jest.config.js b/plugins/browser-plugin-focalmeter/jest.config.js index bd3ea4e2a..87d15da9b 100644 --- a/plugins/browser-plugin-focalmeter/jest.config.js +++ b/plugins/browser-plugin-focalmeter/jest.config.js @@ -1,5 +1,6 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', }; diff --git a/trackers/node-tracker/README.md b/trackers/node-tracker/README.md index 1fab0a5ab..9904fc092 100644 --- a/trackers/node-tracker/README.md +++ b/trackers/node-tracker/README.md @@ -31,17 +31,11 @@ npm install @snowplow/node-tracker Initialize your tracker with your desired configuration: ```js -import { tracker, gotEmitter } from '@snowplow/node-tracker'; - -const e = gotEmitter( - 'collector.mydomain.net', // Collector endpoint - snowplow.HttpProtocol.HTTPS, // Optionally specify a method - https is the default - 8080, // Optionally specify a port - snowplow.HttpMethod.POST, // Method - defaults to GET - 5 // Only send events once n are buffered. Defaults to 1 for GET requests and 10 for POST requests. +import { newTracker } from '@snowplow/node-tracker'; +const t = newTracker( + { namespace: 'myTracker', appId: 'myApp', encodeBase64: false }, + { endpoint: 'collector.mydomain.net', port: 8080, bufferSize: 5 } ); - -const t = tracker(e, 'myTracker', 'myApp', false); ``` Then use the `track` function from this package, along with the `buildX` functions to send events to your configured emitters: @@ -73,7 +67,7 @@ const eventJson = { }, }; -track.track(buildSelfDescribingEvent({ event: eventJson }), context); +t.track(buildSelfDescribingEvent({ event: eventJson }), context); ``` To enable success and failure callback debugging, run your application with `NODE_DEBUG=snowplow`. diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 88bee18ea..3e33dd61c 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -51,7 +51,7 @@ "@types/sinon": "~10.0.11", "@typescript-eslint/eslint-plugin": "~5.15.0", "@typescript-eslint/parser": "~5.15.0", - "ava": "~4.1.0", + "ava": "~5.1.1", "eslint": "~8.11.0", "eslint-plugin-ava": "~13.2.0", "nock": "~13.2.4", diff --git a/trackers/node-tracker/src/emitter.ts b/trackers/node-tracker/src/emitter.ts index a6192ad87..3c70950f6 100644 --- a/trackers/node-tracker/src/emitter.ts +++ b/trackers/node-tracker/src/emitter.ts @@ -7,16 +7,6 @@ export interface Emitter { setAnonymization?: (shouldAnonymize: boolean) => void; } -export enum HttpProtocol { - HTTP = 'http', - HTTPS = 'https', -} - -export enum HttpMethod { - GET = 'get', - POST = 'post', -} - /** * Convert all fields in a payload dictionary to strings * diff --git a/trackers/node-tracker/src/got_emitter.ts b/trackers/node-tracker/src/got_emitter.ts index bf82f6de3..b3708cf0d 100644 --- a/trackers/node-tracker/src/got_emitter.ts +++ b/trackers/node-tracker/src/got_emitter.ts @@ -1,37 +1,49 @@ import util from 'util'; -import got, { Response, RequestError, Agents, RequiredRetryOptions, ToughCookieJar, PromiseCookieJar } from 'got'; +import got, { Response, RequestError, RequiredRetryOptions, PromiseCookieJar, ToughCookieJar, Agents } from 'got'; import { Payload, version } from '@snowplow/tracker-core'; -import { Emitter, HttpProtocol, HttpMethod, preparePayload } from './emitter'; +import { Emitter, preparePayload } from './emitter'; + +export interface GotEmitterConfiguration { + /* The collector URL to which events will be sent */ + endpoint: string; + /* http or https. Defaults to https */ + protocol?: 'http' | 'https'; + /* Collector port number */ + port?: number; + /* get or post. Defaults to post */ + method?: 'get' | 'post'; + /* Number of events which can be queued before flush is called */ + bufferSize?: number; + /* Configure the retry policy for got */ + retry?: number | Partial; + /* Add a cookieJar to got */ + cookieJar?: PromiseCookieJar | ToughCookieJar; + /* Callback called after a `got` request following retries */ + callback?: (error?: RequestError, response?: Response) => void; + /* Set new http.Agent and https.Agent objects on `got` requests */ + agent?: Agents; + /* If the request should undergo server anonymization. */ + serverAnonymization?: boolean; +} /** * Create an emitter object, which uses the `got` library, that will send events to a collector - * - * @param endpoint - The collector to which events will be sent - * @param protocol - http or https - * @param port - The port for requests to use - * @param method - get or post - * @param bufferSize - Number of events which can be queued before flush is called - * @param retry - Configure the retry policy for `got` - https://github.com/sindresorhus/got/blob/v11.5.2/readme.md#retry - * @param cookieJar - Add a cookieJar to `got` - https://github.com/sindresorhus/got/blob/v11.5.2/readme.md#cookiejar - * @param callback - Callback called after a `got` request following retries - called with ErrorRequest (https://github.com/sindresorhus/got/blob/v11.5.2/readme.md#errors) and Response (https://github.com/sindresorhus/got/blob/v11.5.2/readme.md#response) - * @param agents - Set new http.Agent and https.Agent objects on `got` requests - https://github.com/sindresorhus/got/blob/v11.5.2/readme.md#agent - * @param serverAnonymization - If the request should undergo server anonymization. */ -export function gotEmitter( - endpoint: string, - protocol: HttpProtocol = HttpProtocol.HTTPS, - port?: number, - method?: HttpMethod, - bufferSize?: number, - retry?: number | Partial, - cookieJar?: PromiseCookieJar | ToughCookieJar, - callback?: (error?: RequestError, response?: Response) => void, - agents?: Agents, - serverAnonymization: boolean = false -): Emitter { - const maxBufferLength = bufferSize ?? (method === HttpMethod.GET ? 0 : 10); - const path = method === HttpMethod.GET ? '/i' : '/com.snowplowanalytics.snowplow/tp2'; +export function gotEmitter({ + endpoint, + protocol = 'https', + port, + method = 'post', + bufferSize, + retry, + cookieJar, + callback, + agent, + serverAnonymization +}: GotEmitterConfiguration): Emitter { + const maxBufferLength = bufferSize ?? (method === 'get' ? 0 : 10); + const path = method === 'get' ? '/i' : '/com.snowplowanalytics.snowplow/tp2'; const targetUrl = protocol + '://' + endpoint + (port ? ':' + port : '') + path; const debuglog = util.debuglog('snowplow'); @@ -77,11 +89,11 @@ export function gotEmitter( const headers = { 'user-agent': `snowplow-nodejs-tracker/${version}`, - ...(serverAnonymization && { 'SP-Anonymous': '*' }), - ...(method === HttpMethod.POST && { 'content-type': 'application/json; charset=utf-8' }), + ...(serverAnonymization === true && { 'SP-Anonymous': '*' }), + ...(method === 'post' && { 'content-type': 'application/json; charset=utf-8' }), }; - if (method === HttpMethod.POST) { + if (method === 'post') { const postJson = { schema: 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4', data: bufferCopy.map(preparePayload), @@ -89,8 +101,8 @@ export function gotEmitter( got .post(targetUrl, { json: postJson, - agent: agents, headers, + agent, retry, cookieJar, }) @@ -100,8 +112,8 @@ export function gotEmitter( got .get(targetUrl, { searchParams: preparePayload(bufferCopy[i]), - agent: agents, headers, + agent, retry, cookieJar, }) diff --git a/trackers/node-tracker/src/index.ts b/trackers/node-tracker/src/index.ts index 5e25a8f9a..01b31a1ca 100644 --- a/trackers/node-tracker/src/index.ts +++ b/trackers/node-tracker/src/index.ts @@ -28,9 +28,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -export { Emitter, HttpMethod, HttpProtocol } from './emitter'; -export { gotEmitter } from './got_emitter'; -export { tracker, Tracker } from './tracker'; +export { Emitter } from './emitter'; +export { newTracker, Tracker } from './tracker'; export { version, diff --git a/trackers/node-tracker/src/tracker.ts b/trackers/node-tracker/src/tracker.ts index 40ce8677c..e44bcb9d6 100644 --- a/trackers/node-tracker/src/tracker.ts +++ b/trackers/node-tracker/src/tracker.ts @@ -31,6 +31,7 @@ import { trackerCore, PayloadBuilder, TrackerCore, version } from '@snowplow/tracker-core'; import { Emitter } from './emitter'; +import { gotEmitter, GotEmitterConfiguration } from './got_emitter'; export interface Tracker extends TrackerCore { /** @@ -62,33 +63,42 @@ export interface Tracker extends TrackerCore { setSessionIndex: (sessionIndex: string | number) => void; } -/** - * Snowplow Node.js Tracker - * - * @param string - or array emitters The emitter or emitters to which events will be sent - * @param string - namespace The namespace of the tracker - * @param string - appId The application ID - * @param boolean - encodeBase64 Whether unstructured events and custom contexts should be base 64 encoded - */ -export function tracker( - emitters: Emitter | Array, - namespace: string, - appId: string, - encodeBase64: boolean +interface TrackerConfiguration { + /* The namespace of the tracker */ + namespace: string; + /* The application ID */ + appId: string; + /* Whether unstructured events and custom contexts should be base64 encoded. */ + encodeBase64: boolean; +} + +type CustomEmitter = { + /* Function returning custom Emitter or Emitter[] to be used. If set, other options are irrelevant */ + customEmitter: () => Emitter | Array; +}; + +type EmitterConfiguration = CustomEmitter | GotEmitterConfiguration; + +export function newTracker( + trackerConfiguration: TrackerConfiguration, + emitterConfiguration: EmitterConfiguration | EmitterConfiguration[] ): Tracker { + const { namespace, appId, encodeBase64 = true } = trackerConfiguration; + + let allEmitters: Emitter[] = []; + if (Array.isArray(emitterConfiguration)) { + allEmitters = emitterConfiguration.map((config) => gotEmitter(config as GotEmitterConfiguration)); + } else if (emitterConfiguration && emitterConfiguration.hasOwnProperty('customEmitter')) { + const customEmitters = (emitterConfiguration as CustomEmitter).customEmitter(); + allEmitters = Array.isArray(customEmitters) ? customEmitters : [customEmitters]; + } else { + allEmitters = [gotEmitter(emitterConfiguration as GotEmitterConfiguration)]; + } + let domainUserId: string; let networkUserId: string; let sessionId: string; let sessionIndex: string | number; - let allEmitters: Array; - - if (Array.isArray(emitters)) { - allEmitters = emitters; - } else { - allEmitters = [emitters]; - } - - encodeBase64 = encodeBase64 !== false; const addUserInformation = (payload: PayloadBuilder): void => { payload.add('duid', domainUserId); diff --git a/trackers/node-tracker/test/got_emitter.ts b/trackers/node-tracker/test/got_emitter.ts index 439acbbcf..abccd90f6 100644 --- a/trackers/node-tracker/test/got_emitter.ts +++ b/trackers/node-tracker/test/got_emitter.ts @@ -1,10 +1,23 @@ import test from 'ava'; import sinon from 'sinon'; import nock from 'nock'; -import { HttpMethod, HttpProtocol, gotEmitter } from '../src/index'; +import { gotEmitter } from '../src/got_emitter'; const endpoint = 'd3rkrsqld9gmqf.cloudfront.net'; +nock(new RegExp('https*://' + endpoint)) + .persist() + .filteringPath(() => '/') + .get('/') + .reply(200, (uri) => uri); + +nock(new RegExp('https*://' + endpoint)) + .matchHeader('content-type', 'application/json; charset=utf-8') + .persist() + .filteringRequestBody(() => '*') + .post('/com.snowplowanalytics.snowplow/tp2', '*') + .reply(200, (_uri: string, body: Record) => (body['data'] as Array)[0]); + test.before(() => { nock.disableNetConnect(); }); @@ -40,120 +53,92 @@ test.serial('gotEmitter should allow anonymization headers', async (t) => { .reply(200, (uri) => uri); await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - 80, - HttpMethod.GET, - undefined, - undefined, - undefined, - function (error, response) { + const e = gotEmitter({ + endpoint: endpoint, + protocol: 'https', + port: 80, + method: 'get', + callback: function (error, response) { nock.cleanAll(); t.is(error, undefined); t.pass(); if (error) reject(error); else resolve(response); }, - undefined, - true - ); + serverAnonymization: true, + }); e.input({}); }); }); test('gotEmitter should send an HTTP GET request', async (t) => { await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - 80, - HttpMethod.GET, - undefined, - undefined, - undefined, - function (error, response) { + port: 80, + method: 'get', + callback: function (error, response) { t.regex(response?.body as string, /\/i\?.*a=b.*/); if (error) reject(error); else resolve(response); - } - ); + }, + }); e.input({ a: 'b' }); }); }); test('gotEmitter should send an HTTP POST request', async (t) => { await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - undefined, - HttpMethod.POST, - 1, - undefined, - undefined, - function (error, response) { + bufferSize: 1, + callback: function (error, response) { t.like(JSON.parse(response?.body as string), { a: 'b' }); if (error) reject(error); else resolve(response); - } - ); + }, + }); e.input({ a: 'b' }); }); }); test('gotEmitter should send an HTTPS GET request', async (t) => { await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - 443, - HttpMethod.GET, - undefined, - undefined, - undefined, - function (error, response) { + port: 443, + method: 'get', + callback: function (error, response) { t.regex(response?.body as string, /\/i\?.*a=b.*/); if (error) reject(error); else resolve(response); - } - ); + }, + }); e.input({ a: 'b' }); }); }); test('gotEmitter should send an HTTPS POST request', async (t) => { await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - undefined, - HttpMethod.POST, - 1, - undefined, - undefined, - function (error, response) { + bufferSize: 1, + callback: function (error, response) { t.like(JSON.parse(response?.body as string), { a: 'b' }); if (error) reject(error); else resolve(response); - } - ); + }, + }); e.input({ a: 'b' }); }); }); test('gotEmitter should not send requests if the buffer is not full', async (t) => { await new Promise((resolve) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - undefined, - HttpMethod.POST, - undefined, - undefined, - undefined, - () => t.fail('Event unexpectedly emitted') - ); + callback: () => t.fail('Event unexpectedly emitted'), + }); e.input({}); e.input({}); e.input({}); @@ -166,16 +151,10 @@ test('gotEmitter should not send requests if the buffer is not full', async (t) test('gotEmitter should not send requests if the buffer is empty', async (t) => { await new Promise((resolve) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - undefined, - HttpMethod.POST, - undefined, - undefined, - undefined, - () => t.fail('Event unexpectedly emitted') - ); + callback: () => t.fail('Event unexpectedly emitted'), + }); e.flush(); setTimeout(() => { t.pass(); @@ -189,20 +168,15 @@ test('gotEmitter should add STM querystring parameter when sending POST requests const clock = sinon.useFakeTimers(testTime); await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - undefined, - HttpMethod.POST, - 1, - undefined, - undefined, - function (error, response) { + bufferSize: 1, + callback: function (error, response) { t.like(JSON.parse(response?.body as string), { stm: testTime.toString() }); if (error) reject(error); else resolve(response); - } - ); + }, + }); e.input({ a: 'b' }); }); @@ -215,20 +189,16 @@ test('gotEmitter should add STM querystring parameter when sending GET requests' const clock = sinon.useFakeTimers(testTime); await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - 443, - HttpMethod.GET, - undefined, - undefined, - undefined, - function (error, response) { + port: 443, + method: 'get', + callback: function (error, response) { t.regex(response?.body as string, new RegExp(`/i?.*stm=${testTime}.*`)); if (error) reject(error); else resolve(response); - } - ); + }, + }); e.input({ a: 'b' }); }); clock.restore(); @@ -237,16 +207,11 @@ test('gotEmitter should add STM querystring parameter when sending GET requests' test('gotEmitter should handle undefined callbacks on success situation', async (t) => { await new Promise((resolve) => { t.notThrows(() => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - 443, - HttpMethod.GET, - undefined, - undefined, - undefined, - undefined - ); + port: 443, + method: 'get', + }); e.input({ a: 'b' }); }); resolve(true); @@ -256,7 +221,7 @@ test('gotEmitter should handle undefined callbacks on success situation', async test('gotEmitter should handle undefined callbacks on failure situation', async (t) => { await new Promise((resolve) => { t.notThrows(() => { - const e = gotEmitter('invalid-url', HttpProtocol.HTTPS, 443, HttpMethod.POST, 1, undefined, undefined, undefined); + const e = gotEmitter({ endpoint: 'invalid-url', port: 443, bufferSize: 1 }); e.input({ a: 'b' }); }); resolve(true); @@ -266,18 +231,14 @@ test('gotEmitter should handle undefined callbacks on failure situation', async test('gotEmitter should catch error in success situation', async (t) => { await new Promise((resolve) => { t.notThrows(() => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - 443, - HttpMethod.GET, - undefined, - undefined, - undefined, - function () { + port: 443, + method: 'get', + callback: function () { throw new Error('test error'); - } - ); + }, + }); e.input({ a: 'b' }); }); resolve(true); @@ -287,18 +248,14 @@ test('gotEmitter should catch error in success situation', async (t) => { test('gotEmitter should catch error in error situation', async (t) => { await new Promise((resolve) => { t.notThrows(() => { - const e = gotEmitter( - 'invalid-url', - HttpProtocol.HTTPS, - 443, - HttpMethod.POST, - 1, - undefined, - undefined, - function () { + const e = gotEmitter({ + endpoint: 'invalid-url', + port: 443, + bufferSize: 1, + callback: function () { throw new Error('test error'); - } - ); + }, + }); e.input({ a: 'b' }); }); resolve(true); @@ -307,41 +264,33 @@ test('gotEmitter should catch error in error situation', async (t) => { test('gotEmitter should pass response in success situation', async (t) => { await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - 443, - HttpMethod.GET, - undefined, - undefined, - undefined, - function (error, response) { + port: 443, + method: 'get', + callback: function (error, response) { t.falsy(error); t.truthy(response); if (error) reject(error); else resolve(response); - } - ); + }, + }); e.input({ a: 'b' }); }); }); test('gotEmitter should pass error in error situation', async (t) => { await new Promise((resolve) => { - const e = gotEmitter( - 'invalid-url', - HttpProtocol.HTTPS, - 443, - HttpMethod.POST, - 1, - undefined, - undefined, - function (error, response) { + const e = gotEmitter({ + endpoint: 'invalid-url', + port: 443, + bufferSize: 1, + callback: function (error, response) { t.truthy(error); t.falsy(response); resolve(error); - } - ); + }, + }); e.input({ a: 'b' }); }); }); diff --git a/trackers/node-tracker/test/tracker.ts b/trackers/node-tracker/test/tracker.ts index c97a0017c..a0636f4e3 100644 --- a/trackers/node-tracker/test/tracker.ts +++ b/trackers/node-tracker/test/tracker.ts @@ -29,11 +29,8 @@ */ import { - tracker, - gotEmitter, + newTracker, version, - HttpMethod, - HttpProtocol, buildEcommerceTransaction, buildEcommerceTransactionItem, buildPageView, @@ -45,10 +42,11 @@ import { import test, { ExecutionContext } from 'ava'; import nock from 'nock'; import querystring from 'querystring'; +import { gotEmitter } from '../src/got_emitter'; const UUID_REGEX = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/; -const testMethods = [HttpMethod.GET, HttpMethod.POST]; +const testMethods = ['get', 'post'] as const; const endpoint = 'd3rkrsqld9gmqf.cloudfront.net'; @@ -108,9 +106,7 @@ test.after(() => { for (const method of testMethods) { test(method + ' method: track API should return eid in the payload', async (t) => { - const e = gotEmitter(endpoint, HttpProtocol.HTTP); - - const track = tracker(e, 'cf', 'cfe35', false); + const track = newTracker({ namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, protocol: 'http' }); const eventPayload = track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), context @@ -132,22 +128,19 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), context @@ -168,22 +161,19 @@ for (const method of testMethods) { se_va: '15', }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.track( buildStructEvent({ category: 'clothes', action: 'add_to_basket', property: 'jumper', label: 'red', value: 15 }), context @@ -206,23 +196,20 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - const payloadDict = extractPayload(response?.body, method); - checkPayload(payloadDict, expectedTransaction, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + const payloadDict = extractPayload(response?.body, method); + checkPayload(payloadDict, expectedTransaction, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.track( buildEcommerceTransaction({ orderId: 'order-7', @@ -277,30 +264,27 @@ for (const method of testMethods) { let requestCount = items.length + 1; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - const payloadDict = extractPayload(response?.body, method); - const expected = payloadDict['e'] === 'tr' ? expectedTransaction : expectedItem; - - checkPayload(payloadDict, expected, t); - - requestCount--; - if (requestCount === 0) { - resolve(response); - } - - if (error) reject(error); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + const payloadDict = extractPayload(response?.body, method); + const expected = payloadDict['e'] === 'tr' ? expectedTransaction : expectedItem; + + checkPayload(payloadDict, expected, t); + + requestCount--; + if (requestCount === 0) { + resolve(response); + } + + if (error) reject(error); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.track( buildEcommerceTransaction({ orderId: 'order-7', @@ -353,22 +337,19 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.track(buildSelfDescribingEvent({ event: inputJson }), context); }); }); @@ -392,22 +373,19 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.track(buildScreenView({ name: 'title screen', id: '12345' }), context); }); }); @@ -433,23 +411,20 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - const track = tracker(e, 'cf', 'cfe35', false); - track.setPlatform('web'); track.setUserId('jacob'); track.setSessionId('sessionId'); @@ -478,36 +453,33 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - const pd = extractPayload(response?.body, method); - t.is( - pd['ue_px'], - 'eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy91bnN0cnVjdF9ldmVudC9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6eyJzY2hlbWEiOiJpZ2x1OmNvbS5hY21lL3ZpZXdlZF9wcm9kdWN0L2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7InByaWNlIjoyMH19fQ' - ); - t.is( - pd['cx'], - 'eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uYWNtZS91c2VyL2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7InR5cGUiOiJ0ZXN0ZXIifX1dfQ' - ); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: true }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + const pd = extractPayload(response?.body, method); + t.is( + pd['ue_px'], + 'eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy91bnN0cnVjdF9ldmVudC9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6eyJzY2hlbWEiOiJpZ2x1OmNvbS5hY21lL3ZpZXdlZF9wcm9kdWN0L2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7InByaWNlIjoyMH19fQ' + ); + t.is( + pd['cx'], + 'eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uYWNtZS91c2VyL2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7InR5cGUiOiJ0ZXN0ZXIifX1dfQ' + ); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', true); track.track(buildSelfDescribingEvent({ event: inputJson }), context); }); } ); - test(method + ' method: multiple emitters should send an event to multiple collectors', async (t) => { + test(method + ' method: multiple custom emitters should send an event to multiple collectors', async (t) => { const expected = { tv: 'node-' + version, tna: 'cf', @@ -521,15 +493,11 @@ for (const method of testMethods) { let count = 2; await new Promise((resolve, reject) => { - const e = gotEmitter( + const e = gotEmitter({ endpoint, - HttpProtocol.HTTPS, - undefined, method, - 0, - undefined, - undefined, - function (error, response) { + bufferSize: 0, + callback: function (error, response) { checkPayload(extractPayload(response?.body, method), expected, t); count--; if (count === 0) { @@ -539,10 +507,68 @@ for (const method of testMethods) { if (error) { reject(error); } - } + }, + }); + + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { customEmitter: () => [e, e] } + ); + track.track( + buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), + context ); + }); + }); + + test(method + ' method: multiple gotemitters should send an event to multiple collectors', async (t) => { + const expected = { + tv: 'node-' + version, + tna: 'cf', + aid: 'cfe35', + p: 'srv', + e: 'pv', + url: 'http://www.example.com', + page: 'example page', + refr: 'http://google.com', + }; + let count = 2; - const track = tracker([e, e], 'cf', 'cfe35', false); + await new Promise((resolve, reject) => { + const track = newTracker({ namespace: 'cf', appId: 'cfe35', encodeBase64: false }, [ + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + count--; + if (count === 0) { + resolve(response); + } + + if (error) { + reject(error); + } + }, + }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + count--; + if (count === 0) { + resolve(response); + } + + if (error) { + reject(error); + } + }, + }, + ]); track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), context @@ -556,22 +582,19 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.setDomainUserId('duid-test-1234'); track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), @@ -586,22 +609,19 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.setNetworkUserId('nuid-test-1234'); track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), @@ -616,22 +636,19 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.setSessionId(expected.sid); track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), @@ -646,22 +663,19 @@ for (const method of testMethods) { }; await new Promise((resolve, reject) => { - const e = gotEmitter( - endpoint, - HttpProtocol.HTTPS, - undefined, - method, - 0, - undefined, - undefined, - function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { + endpoint, + method, + bufferSize: 0, + callback: function (error, response) { + checkPayload(extractPayload(response?.body, method), expected, t); + if (error) reject(error); + else resolve(response); + }, } ); - - const track = tracker(e, 'cf', 'cfe35', false); track.setSessionIndex(expected.vid); track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), From 10cd4534c7bb5cf63e1efff9145556dd8942e4f6 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 8 Feb 2023 11:08:03 +0200 Subject: [PATCH 069/277] Revise default plugins included on the JavaScript tracker (#1147) Add deprecation warning on ecommerce, enhanced ecommerce, consent, optimizely and browser-features packages --- ...vise-default-plugins_2023-02-06-13-02.json | 10 ++++++ ...vise-default-plugins_2023-02-06-08-43.json | 10 ++++++ ...vise-default-plugins_2023-02-06-08-43.json | 10 ++++++ ...vise-default-plugins_2023-02-06-13-02.json | 10 ++++++ ...vise-default-plugins_2023-02-06-13-02.json | 10 ++++++ ...vise-default-plugins_2023-02-06-08-43.json | 10 ++++++ .../browser-plugin-browser-features/README.md | 4 +++ plugins/browser-plugin-consent/README.md | 4 +++ plugins/browser-plugin-ecommerce/README.md | 4 +++ .../README.md | 4 +++ plugins/browser-plugin-optimizely/README.md | 4 +++ trackers/javascript-tracker/tracker.config.ts | 35 +++++++++++-------- 12 files changed, 100 insertions(+), 15 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-browser-features/feature-revise-default-plugins_2023-02-06-13-02.json create mode 100644 common/changes/@snowplow/browser-plugin-consent/feature-revise-default-plugins_2023-02-06-08-43.json create mode 100644 common/changes/@snowplow/browser-plugin-ecommerce/feature-revise-default-plugins_2023-02-06-08-43.json create mode 100644 common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-revise-default-plugins_2023-02-06-13-02.json create mode 100644 common/changes/@snowplow/browser-plugin-optimizely/feature-revise-default-plugins_2023-02-06-13-02.json create mode 100644 common/changes/@snowplow/javascript-tracker/feature-revise-default-plugins_2023-02-06-08-43.json diff --git a/common/changes/@snowplow/browser-plugin-browser-features/feature-revise-default-plugins_2023-02-06-13-02.json b/common/changes/@snowplow/browser-plugin-browser-features/feature-revise-default-plugins_2023-02-06-13-02.json new file mode 100644 index 000000000..41b45477e --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-browser-features/feature-revise-default-plugins_2023-02-06-13-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-browser-features", + "comment": "Add deprecation warning", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-browser-features" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-consent/feature-revise-default-plugins_2023-02-06-08-43.json b/common/changes/@snowplow/browser-plugin-consent/feature-revise-default-plugins_2023-02-06-08-43.json new file mode 100644 index 000000000..37fb44b58 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-consent/feature-revise-default-plugins_2023-02-06-08-43.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-consent", + "comment": "Add deprecation warning", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-consent" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-ecommerce/feature-revise-default-plugins_2023-02-06-08-43.json b/common/changes/@snowplow/browser-plugin-ecommerce/feature-revise-default-plugins_2023-02-06-08-43.json new file mode 100644 index 000000000..227d2f55d --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-ecommerce/feature-revise-default-plugins_2023-02-06-08-43.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-ecommerce", + "comment": "Add deprecation warning", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-revise-default-plugins_2023-02-06-13-02.json b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-revise-default-plugins_2023-02-06-13-02.json new file mode 100644 index 000000000..33d0167b3 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-enhanced-ecommerce/feature-revise-default-plugins_2023-02-06-13-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce", + "comment": "Add deprecation warning", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-enhanced-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-plugin-optimizely/feature-revise-default-plugins_2023-02-06-13-02.json b/common/changes/@snowplow/browser-plugin-optimizely/feature-revise-default-plugins_2023-02-06-13-02.json new file mode 100644 index 000000000..738929318 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-optimizely/feature-revise-default-plugins_2023-02-06-13-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-optimizely", + "comment": "Add deprecation warning", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-optimizely" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-revise-default-plugins_2023-02-06-08-43.json b/common/changes/@snowplow/javascript-tracker/feature-revise-default-plugins_2023-02-06-08-43.json new file mode 100644 index 000000000..30e44e68e --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/feature-revise-default-plugins_2023-02-06-08-43.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Revise default plugins", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-browser-features/README.md b/plugins/browser-plugin-browser-features/README.md index ecac879e2..0479d4567 100644 --- a/plugins/browser-plugin-browser-features/README.md +++ b/plugins/browser-plugin-browser-features/README.md @@ -3,6 +3,10 @@ [![npm version][npm-image]][npm-url] [![License][license-image]](LICENSE) +

⚠️ This package is deprecated ⚠️

+ +--- + Browser Plugin to be used with `@snowplow/browser-tracker`. Adds Browser Features to your Snowplow tracking. Identifies available MIME Types. diff --git a/plugins/browser-plugin-consent/README.md b/plugins/browser-plugin-consent/README.md index 7afde7448..06a74411f 100644 --- a/plugins/browser-plugin-consent/README.md +++ b/plugins/browser-plugin-consent/README.md @@ -3,6 +3,10 @@ [![npm version][npm-image]][npm-url] [![License][license-image]](LICENSE) +

⚠️ This package is deprecated, please use @snowplow/browser-plugin-enhanced-consent instead. ⚠️

+ +--- + Browser Plugin to be used with `@snowplow/browser-tracker`. Adds consent information to your Snowplow tracking. diff --git a/plugins/browser-plugin-ecommerce/README.md b/plugins/browser-plugin-ecommerce/README.md index f69c4da84..5ce1e4049 100644 --- a/plugins/browser-plugin-ecommerce/README.md +++ b/plugins/browser-plugin-ecommerce/README.md @@ -3,6 +3,10 @@ [![npm version][npm-image]][npm-url] [![License][license-image]](LICENSE) +

⚠️ This package is deprecated, please use @snowplow/browser-plugin-snowplow-ecommerce instead. ⚠️

+ +--- + Browser Plugin to be used with `@snowplow/browser-tracker`. Adds ecommerce events to your Snowplow tracking. diff --git a/plugins/browser-plugin-enhanced-ecommerce/README.md b/plugins/browser-plugin-enhanced-ecommerce/README.md index a46477128..f51375227 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/README.md +++ b/plugins/browser-plugin-enhanced-ecommerce/README.md @@ -3,6 +3,10 @@ [![npm version][npm-image]][npm-url] [![License][license-image]](LICENSE) +

⚠️ This package is deprecated, please use @snowplow/browser-plugin-snowplow-ecommerce instead. ⚠️

+ +--- + Browser Plugin to be used with `@snowplow/browser-tracker`. Adds enhanced ecommerce events to your Snowplow tracking. diff --git a/plugins/browser-plugin-optimizely/README.md b/plugins/browser-plugin-optimizely/README.md index beb5f438f..5d099e64e 100644 --- a/plugins/browser-plugin-optimizely/README.md +++ b/plugins/browser-plugin-optimizely/README.md @@ -3,6 +3,10 @@ [![npm version][npm-image]][npm-url] [![License][license-image]](LICENSE) +

⚠️ This package is deprecated ⚠️

+ +--- + Browser Plugin to be used with `@snowplow/browser-tracker`. Adds Optimizely Classic contexts to your Snowplow tracking. diff --git a/trackers/javascript-tracker/tracker.config.ts b/trackers/javascript-tracker/tracker.config.ts index 38e108a28..512613ecc 100644 --- a/trackers/javascript-tracker/tracker.config.ts +++ b/trackers/javascript-tracker/tracker.config.ts @@ -1,25 +1,30 @@ -export const performanceTiming = true; +/* By default included plugins in sp.js */ +export const adTracking = true; +export const clientHints = true; +export const enhancedConsent = true; +export const errorTracking = true; +export const formTracking = true; export const gaCookies = true; export const geolocation = true; -export const optimizelyX = true; -export const clientHints = true; -export const consent = true; export const linkClickTracking = true; -export const formTracking = true; -export const errorTracking = true; -export const timezone = true; -export const ecommerce = true; -export const enhancedEcommerce = true; -export const adTracking = true; +export const performanceTiming = true; export const siteTracking = true; -export const snowplowEcommerceTracking = false; -export const optimizely = false; -export const browserFeatures = false; +export const snowplowEcommerceTracking = true; +export const timezone = true; +export const buttonClickTracking = true; + +/* By default excluded plugins in sp.js */ export const mediaTracking = false; +export const optimizelyX = false; export const youtubeTracking = false; -export const enhancedConsent = false; export const snowplowMedia = false; export const vimeoTracking = false; export const privacySandbox = false; -export const buttonClickTracking = false; export const eventSpecifications = false; + +/* Deprecated */ +export const browserFeatures = false; +export const consent = false; +export const ecommerce = false; +export const enhancedEcommerce = false; +export const optimizely = false; From 10e20dbd81ead0d50f3e4e3e7b799410e82c54b4 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Thu, 9 Mar 2023 10:01:04 +0200 Subject: [PATCH 070/277] Change default tracker initialization parameters for JS/Browser v4 #1144 --- ...initialization-params-browser_2023-01-26-08-53.json | 10 ++++++++++ ...initialization-params-browser_2023-01-26-08-53.json | 10 ++++++++++ libraries/browser-tracker-core/src/tracker/index.ts | 5 +++-- libraries/browser-tracker-core/src/tracker/types.ts | 4 ++-- libraries/browser-tracker-core/test/helpers/index.ts | 4 ++-- trackers/javascript-tracker/test/pages/cookies.html | 6 ------ 6 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json create mode 100644 common/changes/@snowplow/javascript-tracker/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json diff --git a/common/changes/@snowplow/browser-tracker-core/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json b/common/changes/@snowplow/browser-tracker-core/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json new file mode 100644 index 000000000..7b0868bdf --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Change default tracker initialization params (discoverRootDomain, cookieSameSite)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json b/common/changes/@snowplow/javascript-tracker/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json new file mode 100644 index 000000000..ae2f53795 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/feature-v4-change-default-initialization-params-browser_2023-01-26-08-53.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index a29950758..b9fc3d3c0 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -225,11 +225,12 @@ export function Tracker( // First-party cookie domain // User agent defaults to origin hostname configCookieDomain = trackerConfiguration.cookieDomain ?? undefined, + discoverRootDomain = trackerConfiguration.discoverRootDomain || true, // First-party cookie path // Default is user agent defined. configCookiePath = '/', // First-party cookie samesite attribute - configCookieSameSite = trackerConfiguration.cookieSameSite ?? 'None', + configCookieSameSite = trackerConfiguration.cookieSameSite ?? 'Lax', // First-party cookie secure attribute configCookieSecure = trackerConfiguration.cookieSecure ?? true, // Do Not Track browser feature @@ -315,7 +316,7 @@ export function Tracker( trackerConfiguration.useExtendedCrossDomainLinker || false ); - if (trackerConfiguration.hasOwnProperty('discoverRootDomain') && trackerConfiguration.discoverRootDomain) { + if (discoverRootDomain && !configCookieDomain) { configCookieDomain = findRootDomain(configCookieSameSite, configCookieSecure); } diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index a93973bd6..4a12143b5 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -80,7 +80,7 @@ export type TrackerConfiguration = { /** * The SameSite value for the cookie * {@link https://snowplowanalytics.com/blog/2020/09/07/pipeline-configuration-for-complete-and-accurate-data/} - * @defaultValue None + * @defaultValue Lax */ cookieSameSite?: CookieSameSite; /** @@ -164,7 +164,7 @@ export type TrackerConfiguration = { * * This sets cookies to try to determine the root domain, and some cookies may * fail to save. This is expected behavior. - * @defaultValue false + * @defaultValue true */ discoverRootDomain?: boolean; /** diff --git a/libraries/browser-tracker-core/test/helpers/index.ts b/libraries/browser-tracker-core/test/helpers/index.ts index b2a3acff3..04dc78825 100644 --- a/libraries/browser-tracker-core/test/helpers/index.ts +++ b/libraries/browser-tracker-core/test/helpers/index.ts @@ -60,7 +60,7 @@ export function createTestIdCookie(params: Partial) { const { domainHash } = cookieParams; // @ts-expect-error delete cookieParams.domainHash; - return `_sp_id.${domainHash}=${Object.values(cookieParams).join('.')}; Expires=; Path=/; SameSite=None; Secure;`; + return `_sp_id.${domainHash}=${Object.values(cookieParams).join('.')}; Expires=; Path=/; SameSite=Lax; Secure;`; } interface CreateTestSessionIdCookie { @@ -72,7 +72,7 @@ interface CreateTestSessionIdCookie { */ export function createTestSessionIdCookie(params?: CreateTestSessionIdCookie) { const domainHash = DEFAULT_DOMAIN_HASH || params?.domainHash; - return `_sp_ses.${domainHash}=*; Expires=; Path=/; SameSite=None; Secure;`; + return `_sp_ses.${domainHash}=*; Expires=; Path=/; SameSite=Lax; Secure;`; } export function createTracker(configuration?: TrackerConfiguration, sharedState?: SharedState) { diff --git a/trackers/javascript-tracker/test/pages/cookies.html b/trackers/javascript-tracker/test/pages/cookies.html index bc3420a54..5973225e3 100644 --- a/trackers/javascript-tracker/test/pages/cookies.html +++ b/trackers/javascript-tracker/test/pages/cookies.html @@ -34,7 +34,6 @@ snowplow('newTracker', 'sp1', 'snowplow-js-tracker.local:9090', { cookieName: '_sp_1', - cookieSameSite: 'Lax', cookieSecure: false, }); @@ -49,7 +48,6 @@ snowplow('newTracker', 'sp3', 'snowplow-js-tracker.local:9090', { cookieName: '_sp_3', - cookieSameSite: 'Lax', cookieSecure: false, sessionCookieTimeout: 1, cookieLifetime: 1, @@ -57,28 +55,24 @@ snowplow('newTracker', 'sp4', 'snowplow-js-tracker.local:9090', { cookieName: '_sp_4', - cookieSameSite: 'Lax', cookieSecure: false, anonymousTracking: true, }); snowplow('newTracker', 'sp5', 'snowplow-js-tracker.local:9090', { cookieName: '_sp_5', - cookieSameSite: 'Lax', cookieSecure: false, stateStorageStrategy: 'localStorage', }); snowplow('newTracker', 'sp6', 'snowplow-js-tracker.local:9090', { cookieName: '_sp_6', - cookieSameSite: 'Lax', cookieSecure: false, stateStorageStrategy: 'cookie', }); snowplow('newTracker', 'sp7', 'snowplow-js-tracker.local:9090', { cookieName: '_sp_7', - cookieSameSite: 'Lax', cookieSecure: false, cookieDomain: '.google.com', }); From 0cffdf50b282665e5f4ffd0b816b901f00a865e5 Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Wed, 16 Aug 2023 14:11:49 +0300 Subject: [PATCH 071/277] Fix newTracker typing to accurately return null or undefined (fix #1167) #1175 --- .../docs/browser-tracker/browser-tracker.api.md | 5 +---- ...ction-on-browser-tracker_2023-04-17-07-28.json | 10 ++++++++++ trackers/browser-tracker/src/index.ts | 15 --------------- 3 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker/fix-1167-correct-newTracker-function-on-browser-tracker_2023-04-17-07-28.json diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index 8818fcbe5..bd2c101cf 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -264,10 +264,7 @@ export type GetBatch = string[]; export function newSession(trackers?: Array): void; // @public -export function newTracker(trackerId: string, endpoint: string): BrowserTracker; - -// @public -export function newTracker(trackerId: string, endpoint: string, configuration: TrackerConfiguration): BrowserTracker; +export function newTracker(trackerId: string, endpoint: string, configuration?: TrackerConfiguration): BrowserTracker | null | undefined; // @public export interface PageViewEvent { diff --git a/common/changes/@snowplow/browser-tracker/fix-1167-correct-newTracker-function-on-browser-tracker_2023-04-17-07-28.json b/common/changes/@snowplow/browser-tracker/fix-1167-correct-newTracker-function-on-browser-tracker_2023-04-17-07-28.json new file mode 100644 index 000000000..151e2bcfb --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/fix-1167-correct-newTracker-function-on-browser-tracker_2023-04-17-07-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Fix newTracker typing to accurately return null or undefined (fix #1167)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/trackers/browser-tracker/src/index.ts b/trackers/browser-tracker/src/index.ts index dfe3701b9..b6278e50f 100644 --- a/trackers/browser-tracker/src/index.ts +++ b/trackers/browser-tracker/src/index.ts @@ -49,21 +49,6 @@ import { version } from '@snowplow/tracker-core'; const state = typeof window !== 'undefined' ? createSharedState() : undefined; -/** - * Initialise a new tracker - * - * @param trackerId - The tracker id - also known as tracker namespace - * @param endpoint - Collector endpoint in the form collector.mysite.com - */ -export function newTracker(trackerId: string, endpoint: string): BrowserTracker; -/** - * Initialise a new tracker - * - * @param trackerId - The tracker id - also known as tracker namespace - * @param endpoint - Collector endpoint in the form collector.mysite.com - * @param configuration - The initialisation options of the tracker - */ -export function newTracker(trackerId: string, endpoint: string, configuration: TrackerConfiguration): BrowserTracker; /** * Initialise a new tracker * From 99e6b683b1d05f68c15d72073ae8f7d2db16378b Mon Sep 17 00:00:00 2001 From: Peter Perlepes Date: Fri, 13 Oct 2023 11:52:30 +0300 Subject: [PATCH 072/277] Fix newTracker optional typing (#1237) --- ...move-newTracker-faulty-typing_2023-09-13-09-52.json | 10 ++++++++++ trackers/browser-tracker/src/index.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/changes/@snowplow/browser-tracker/fix-remove-newTracker-faulty-typing_2023-09-13-09-52.json diff --git a/common/changes/@snowplow/browser-tracker/fix-remove-newTracker-faulty-typing_2023-09-13-09-52.json b/common/changes/@snowplow/browser-tracker/fix-remove-newTracker-faulty-typing_2023-09-13-09-52.json new file mode 100644 index 000000000..c1b673840 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/fix-remove-newTracker-faulty-typing_2023-09-13-09-52.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Fix newTracker typing for better understanding of arguments", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/trackers/browser-tracker/src/index.ts b/trackers/browser-tracker/src/index.ts index b6278e50f..ae782e880 100644 --- a/trackers/browser-tracker/src/index.ts +++ b/trackers/browser-tracker/src/index.ts @@ -56,7 +56,7 @@ const state = typeof window !== 'undefined' ? createSharedState() : undefined; * @param endpoint - Collector endpoint in the form collector.mysite.com * @param configuration - The initialisation options of the tracker */ -export function newTracker(trackerId: string, endpoint: string, configuration: TrackerConfiguration = {}) { +export function newTracker(trackerId: string, endpoint: string, configuration?: TrackerConfiguration) { if (state) { return addTracker(trackerId, trackerId, `js-${version}`, endpoint, state, configuration); } else { From 559a2443643df0cde8685fe332a25b2eba4d34ac Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Wed, 10 Jul 2024 11:57:33 +1000 Subject: [PATCH 073/277] Add event delegation for link click tracking (#1325) * link-click-tracking: event delegation - Global event listeners are now used instead of per-element listeners - `refreshLinkClickTracking` is now deprecated and does nothing as it should no longer be required (but still exists for API compatibility) - There is now a `disableLinkClickTracking` method to balance `enableLinkClickTracking` - `trackLinkClick` can now optionally be passed a link element directly, rather than requiring manual construction of the event payload - Event listeners now use the capture phase instead of bubble - Link URIs are no longer unescaped - Additional unit tests for link click tracking --- ...4138-link-delegation_2024-07-05-06-32.json | 10 + .../README.md | 11 +- .../src/index.ts | 322 ++++++++++-------- .../test/events.test.ts | 258 ++++++++++++-- 4 files changed, 434 insertions(+), 167 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-link-click-tracking/PE-4138-link-delegation_2024-07-05-06-32.json diff --git a/common/changes/@snowplow/browser-plugin-link-click-tracking/PE-4138-link-delegation_2024-07-05-06-32.json b/common/changes/@snowplow/browser-plugin-link-click-tracking/PE-4138-link-delegation_2024-07-05-06-32.json new file mode 100644 index 000000000..405e8a5d5 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-link-click-tracking/PE-4138-link-delegation_2024-07-05-06-32.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-link-click-tracking", + "comment": "Update plugin to use global rather than per-element event listeners", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-link-click-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-link-click-tracking/README.md b/plugins/browser-plugin-link-click-tracking/README.md index 2de3feb81..39da9bff9 100644 --- a/plugins/browser-plugin-link-click-tracking/README.md +++ b/plugins/browser-plugin-link-click-tracking/README.md @@ -42,11 +42,18 @@ newTracker('sp1', '{{collector}}', { plugins: [ LinkClickTrackingPlugin() ] }); Then use the available functions from this package to track to all trackers which have been initialized with this plugin: ```js -import { enableLinkClickTracking, refreshLinkClickTracking } from '@snowplow/browser-plugin-link-click-tracking'; +import { enableLinkClickTracking } from '@snowplow/browser-plugin-link-click-tracking'; enableLinkClickTracking({ options: { ... }, psuedoClicks: true }); +``` + +You can also explicitly track a click without installing listeners: + +```js +import { trackLinkClick } from '@snowplow/browser-plugin-link-click-tracking'; -refreshLinkClickTracking(); +trackLinkClick({ element: document.querySelector("a, area") }); +trackLinkClick({ targetUrl: "http://example.com/" }); ``` ## Copyright and license diff --git a/plugins/browser-plugin-link-click-tracking/src/index.ts b/plugins/browser-plugin-link-click-tracking/src/index.ts index 0ed723d18..873122a16 100644 --- a/plugins/browser-plugin-link-click-tracking/src/index.ts +++ b/plugins/browser-plugin-link-click-tracking/src/index.ts @@ -29,49 +29,65 @@ */ import { - getHostName, - getCssClasses, addEventListener, - getFilterByClass, - FilterCriterion, - BrowserPlugin, - BrowserTracker, dispatchToTrackersInCollection, + getCssClasses, + getFilterByClass, + getHostName, + type BrowserPlugin, + type BrowserTracker, + type FilterCriterion, } from '@snowplow/browser-tracker-core'; + import { - resolveDynamicContext, - DynamicContext, buildLinkClick, - CommonEventProperties, - LinkClickEvent, + resolveDynamicContext, + type CommonEventProperties, + type DynamicContext, + type LinkClickEvent, + type Logger, + type PayloadBuilder, } from '@snowplow/tracker-core'; interface LinkClickConfiguration { linkTrackingFilter?: (element: HTMLElement) => boolean; // Whether pseudo clicks are tracked - linkTrackingPseudoClicks?: boolean | null | undefined; + linkTrackingPseudoClicks?: boolean | null; // Whether to track the innerHTML of clicked links - linkTrackingContent?: boolean | null | undefined; + linkTrackingContent?: boolean | null; // The context attached to link click events - linkTrackingContext?: DynamicContext | null | undefined; - lastButton?: number | null; - lastTarget?: EventTarget | null; + linkTrackingContext?: DynamicContext | null; + lastButton?: number; + lastTarget?: EventTarget; } +type TrackableElement = HTMLAnchorElement | HTMLAreaElement; + +const TRACKABLE_ELEMENTS = ['a', 'area']; // should be kept in sync with TrackableElement type +const TRACKABLE_ELEMENTS_SELECTOR = TRACKABLE_ELEMENTS.join(', '); +const ELEMENT_PROTOCOL_FILTER = /^(javascript|vbscript|jscript|mocha|livescript|ecmascript):/i; + const _trackers: Record = {}; +const _listeners: Record = {}; const _configuration: Record = {}; +let _logger: Logger | undefined = undefined; /** - * Link click tracking + * Link click tracking. * - * Will automatically tracking link clicks once enabled with 'enableLinkClickTracking' - * or you can manually track link clicks with 'trackLinkClick' + * Will automatically track link clicks once enabled with `enableLinkClickTracking` + * or you can manually track link clicks with `trackLinkClick`. + * + * @returns Plugin instance */ export function LinkClickTrackingPlugin(): BrowserPlugin { return { activateBrowserPlugin: (tracker: BrowserTracker) => { _trackers[tracker.id] = tracker; }, + logger: (logger: Logger) => { + _logger = logger; + }, }; } @@ -83,15 +99,15 @@ export interface LinkClickTrackingConfiguration { * Captures middle click events in browsers that don't generate standard click * events for middle click actions */ - pseudoClicks?: boolean | null; + pseudoClicks?: boolean; /** Whether the content of the links should be tracked */ - trackContent?: boolean | null; - /** The dyanmic context which will be evaluated for each link click event */ + trackContent?: boolean; + /** The dynamic context which will be evaluated for each link click event */ context?: DynamicContext | null; } /** - * Enable link click tracking + * Enable link click tracking. * * @remarks * The default behaviour is to use actual click events. However, some browsers @@ -99,162 +115,182 @@ export interface LinkClickTrackingConfiguration { * * To capture more "clicks", the pseudo click-handler uses mousedown + mouseup events. * This is not industry standard and is vulnerable to false positives (e.g., drag events). + * + * @param configuration The link tracking configuration to use for the new click handlers + * @param trackers List of tracker IDs that should track the click events */ export function enableLinkClickTracking( configuration: LinkClickTrackingConfiguration = {}, trackers: Array = Object.keys(_trackers) ) { + // remove listeners in case pseudoclick support has been toggled, which may duplicate handlers + disableLinkClickTracking(trackers); trackers.forEach((id) => { if (_trackers[id]) { - if (_trackers[id].sharedState.hasLoaded) { - // the load event has already fired, add the click listeners now - configureLinkClickTracking(configuration, id); - addClickListeners(id); - } else { - // defer until page has loaded - _trackers[id].sharedState.registeredOnLoadHandlers.push(function () { - configureLinkClickTracking(configuration, id); - addClickListeners(id); - }); - } + configureLinkClickTracking(configuration, id); + addClickListeners(id); } }); } /** - * Add click event listeners to links which have been added to the page since the - * last time enableLinkClickTracking or refreshLinkClickTracking was used + * Disable link click tracking. + * + * Removes all document-level click event handlers installed by the plugin for + * provided tracker instances. * - * @param trackers - The tracker identifiers which the have their link click state refreshed + * @param trackers The tracker identifiers that will have their listeners removed */ -export function refreshLinkClickTracking(trackers: Array = Object.keys(_trackers)) { +export function disableLinkClickTracking(trackers: Array = Object.keys(_trackers)) { trackers.forEach((id) => { - if (_trackers[id]) { - if (_trackers[id].sharedState.hasLoaded) { - addClickListeners(id); - } else { - _trackers[id].sharedState.registeredOnLoadHandlers.push(function () { - addClickListeners(id); - }); - } + if (_trackers[id] && _listeners[id]) { + // remove all possible cases where the handler may have been attached + window.removeEventListener('click', _listeners[id], true); + window.removeEventListener('mouseup', _listeners[id], true); + window.removeEventListener('mousedown', _listeners[id], true); } }); } /** - * Manually log a click + * Add click event listeners to links which have been added to the page since the + * last time `enableLinkClickTracking` or `refreshLinkClickTracking` was called. + * + * @deprecated v4.0 moved to event delegation and this is no longer required + * @param trackers The tracker identifiers which the have their link click state refreshed + */ +export function refreshLinkClickTracking(_trackers: Array = []) { + _logger?.warn('refreshLinkClickTracking is deprecated in v4 and has no effect'); +} + +/** + * Manually log a click. * - * @param event - The event information - * @param trackers - The tracker identifiers which the event will be sent to + * @param event The event or element information + * @param trackers The tracker identifiers which the event will be sent to */ export function trackLinkClick( - event: LinkClickEvent & CommonEventProperties, + event: (LinkClickEvent | { element: TrackableElement; trackContent?: boolean }) & CommonEventProperties, trackers: Array = Object.keys(_trackers) ) { dispatchToTrackersInCollection(trackers, _trackers, (t) => { - t.core.track(buildLinkClick(event), event.context, event.timestamp); + let payload: PayloadBuilder | undefined; + if ('element' in event) { + const includeContent = event.trackContent ?? _configuration[t.id]?.linkTrackingContent ?? false; + payload = processClick(event.element, includeContent); + } else { + payload = buildLinkClick(event); + } + if (payload) t.core.track(payload, event.context, event.timestamp); }); } -/* - * Process clicks +/** + * Process a clicked element into a link_click event payload. + * + * @param sourceElement The trackable element to be used to build the payload + * @param includeContent Whether to include the element's contents in the payload + * @returns A link_click SDE payload for the given element, or nothing if the element shouldn't be tracked */ -function processClick(tracker: BrowserTracker, sourceElement: Element, context?: DynamicContext | null) { - let parentElement, tag, elementId, elementClasses, elementTarget, elementContent; +function processClick(sourceElement: TrackableElement, includeContent: boolean = false) { + let elementId, elementClasses, elementTarget, elementContent; + + const anchorElement = sourceElement; + // browsers, such as Safari, don't downcase hostname and href + const originalSourceHostName = anchorElement.hostname || getHostName(anchorElement.href); + const targetUrl = anchorElement.href.replace(originalSourceHostName, (s) => s.toLowerCase()); - while ( - (parentElement = sourceElement.parentElement) !== null && - parentElement != null && - (tag = sourceElement.tagName.toUpperCase()) !== 'A' && - tag !== 'AREA' - ) { - sourceElement = parentElement; + // Ignore script pseudo-protocol links + if (!ELEMENT_PROTOCOL_FILTER.test(targetUrl)) { + elementId = anchorElement.id; + elementClasses = getCssClasses(anchorElement); + elementTarget = anchorElement.target; + elementContent = includeContent ? anchorElement.innerHTML : undefined; + + // decodeUrl %xx + return buildLinkClick({ + targetUrl, + elementId, + elementClasses, + elementTarget, + elementContent, + }); } - const anchorElement = sourceElement; - if (anchorElement.href != null) { - // browsers, such as Safari, don't downcase hostname and href - var originalSourceHostName = anchorElement.hostname || getHostName(anchorElement.href), - sourceHostName = originalSourceHostName.toLowerCase(), - sourceHref = anchorElement.href.replace(originalSourceHostName, sourceHostName), - scriptProtocol = new RegExp('^(javascript|vbscript|jscript|mocha|livescript|ecmascript):', 'i'); + return; +} - // Ignore script pseudo-protocol links - if (!scriptProtocol.test(sourceHref)) { - elementId = anchorElement.id; - elementClasses = getCssClasses(anchorElement); - elementTarget = anchorElement.target; - elementContent = _configuration[tracker.id].linkTrackingContent ? anchorElement.innerHTML : undefined; +/** + * Find the nearest trackable element to the given element; this is Element.closest() + * with a polyfill if required. + * + * @param target + * @returns An element that may be used to track a link click event, or null if `target` has no eligible parent + */ +function findNearestEligibleElement(target: EventTarget | null): TrackableElement | null { + if (target instanceof Element) { + if (typeof target['closest'] === 'function') return target.closest(TRACKABLE_ELEMENTS_SELECTOR); + let sourceElement: Element | null = target; - // decodeUrl %xx - sourceHref = unescape(sourceHref); - tracker.core.track( - buildLinkClick({ - targetUrl: sourceHref, - elementId, - elementClasses, - elementTarget, - elementContent, - }), - resolveDynamicContext(context, sourceElement) - ); + while (sourceElement) { + const tagName = sourceElement.tagName.toLowerCase(); + if (TRACKABLE_ELEMENTS.indexOf(tagName) !== -1) return sourceElement as TrackableElement; + sourceElement = sourceElement.parentElement; } } + + return null; } -/* - * Return function to handle click event +/** + * Handle a (pseudo)click event; decide if the click is for a valid, unfiltered, + * element and track the click. + * + * @param tracker Tracker ID to generate the event for + * @param evt The DOM click event itself */ -function getClickHandler(tracker: string, context?: DynamicContext | null): EventListenerOrEventListenerObject { - return function (evt: Event) { - var button, target; +function clickHandler(tracker: string, evt: MouseEvent | undefined): void { + const context = _configuration[tracker].linkTrackingContext; + const filter = _configuration[tracker].linkTrackingFilter; - evt = evt || window.event; - button = (evt as MouseEvent).which || (evt as MouseEvent).button; - target = evt.target || evt.srcElement; + const event = evt || (window.event as MouseEvent); - // Using evt.type (added in IE4), we avoid defining separate handlers for mouseup and mousedown. - if (evt.type === 'click') { - if (target) { - processClick(_trackers[tracker], target as Element, context); - } - } else if (evt.type === 'mousedown') { - if ((button === 1 || button === 2) && target) { - _configuration[tracker].lastButton = button; - _configuration[tracker].lastTarget = target; - } else { - _configuration[tracker].lastButton = _configuration[tracker].lastTarget = null; - } - } else if (evt.type === 'mouseup') { - if (button === _configuration[tracker].lastButton && target === _configuration[tracker].lastTarget) { - processClick(_trackers[tracker], target as Element, context); - } - _configuration[tracker].lastButton = _configuration[tracker].lastTarget = null; - } - }; -} + const button = event.which || event.button; + const target = findNearestEligibleElement(event.target || event.srcElement); -/* - * Add click listener to a DOM element - */ -function addClickListener(tracker: string, element: HTMLAnchorElement | HTMLAreaElement) { - if (_configuration[tracker].linkTrackingPseudoClicks) { - // for simplicity and performance, we ignore drag events - addEventListener(element, 'mouseup', getClickHandler(tracker, _configuration[tracker].linkTrackingContext), false); - addEventListener( - element, - 'mousedown', - getClickHandler(tracker, _configuration[tracker].linkTrackingContext), - false - ); - } else { - addEventListener(element, 'click', getClickHandler(tracker, _configuration[tracker].linkTrackingContext), false); + if (!target || target.href == null) return; + if (filter && !filter(target)) return; + + // Using evt.type (added in IE4), we avoid defining separate handlers for mouseup and mousedown. + if (event.type === 'click') { + trackLinkClick({ + element: target, + context: resolveDynamicContext(context, target), + }); + } else if (event.type === 'mousedown') { + if (button === 1 || button === 2) { + _configuration[tracker].lastButton = button; + _configuration[tracker].lastTarget = target; + } else { + delete _configuration[tracker].lastButton; + } + } else if (event.type === 'mouseup') { + if (button === _configuration[tracker].lastButton && target === _configuration[tracker].lastTarget) { + trackLinkClick({ + element: target, + context: resolveDynamicContext(context, target), + }); + } + delete _configuration[tracker].lastButton; + delete _configuration[tracker].lastTarget; } } -/* - * Configures link click tracking: how to filter which links will be tracked, - * whether to use pseudo click tracking, and what context to attach to link_click events +/** + * Update the link-tracking configuration for the given tracker ID. + * + * @param param0 The new link-tracking configuration + * @param tracker The tracker ID to update configuration for */ function configureLinkClickTracking( { options, pseudoClicks, trackContent, context }: LinkClickTrackingConfiguration = {}, @@ -268,18 +304,20 @@ function configureLinkClickTracking( }; } -/* - * Add click handlers to anchor and AREA elements, except those to be ignored +/** + * Add (psuedo)click handlers to the window for the given tracker ID. + * + * @param trackerId Tracker ID to install a listener for */ function addClickListeners(trackerId: string) { - var linkElements = document.links, - i; + // by re-using exact function references the browser will prevent dupes and allow removal + _listeners[trackerId] = _listeners[trackerId] || clickHandler.bind(null, trackerId); - for (i = 0; i < linkElements.length; i++) { - // Add a listener to link elements which pass the filter and aren't already tracked - if (_configuration[trackerId].linkTrackingFilter?.(linkElements[i]) && !(linkElements[i] as any)[trackerId]) { - addClickListener(trackerId, linkElements[i]); - (linkElements[i] as any)[trackerId] = true; - } + if (_configuration[trackerId].linkTrackingPseudoClicks) { + // for simplicity and performance, we ignore drag events + addEventListener(window, 'mouseup', _listeners[trackerId], true); + addEventListener(window, 'mousedown', _listeners[trackerId], true); + } else { + addEventListener(window, 'click', _listeners[trackerId], true); } } diff --git a/plugins/browser-plugin-link-click-tracking/test/events.test.ts b/plugins/browser-plugin-link-click-tracking/test/events.test.ts index 1685155c9..d786de9b0 100644 --- a/plugins/browser-plugin-link-click-tracking/test/events.test.ts +++ b/plugins/browser-plugin-link-click-tracking/test/events.test.ts @@ -30,23 +30,21 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; -import { LinkClickTrackingPlugin, trackLinkClick } from '../src'; +import { LinkClickTrackingPlugin, disableLinkClickTracking, enableLinkClickTracking, trackLinkClick } from '../src'; const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e')))); const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.ue_pr'))); const extractUeEvent = (schema: string) => { return { - from: F.compose( - F.first, - F.filter(F.compose(F.eq(schema), F.get('schema'))), - F.flatten, - extractEventProperties, - getUEEvents - ), + from: (a: any, n: number = 0) => + F.nth( + n, + F.compose(F.filter(F.compose(F.eq(schema), F.get('schema'))), F.flatten, extractEventProperties, getUEEvents)(a) + ), }; }; -describe('AdTrackingPlugin', () => { +describe('LinkClickTrackingPlugin', () => { const state = new SharedState(); addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { stateStorageStrategy: 'cookie', @@ -54,26 +52,240 @@ describe('AdTrackingPlugin', () => { plugins: [LinkClickTrackingPlugin()], }); - it('trackLinkClick adds the expected link click event to the queue', () => { - trackLinkClick({ - targetUrl: 'https://www.example.com', - elementClasses: ['class-1', 'class-2'], - elementContent: 'content-1', - elementId: 'id-1234', - elementTarget: '_blank', - }); + const $addEventListener = jest.spyOn(window, 'addEventListener'); + const $removeEventListener = jest.spyOn(window, 'removeEventListener'); + + afterEach(() => { + // clear the outQueue(s) after each test + state.outQueues.forEach((queue) => Array.isArray(queue) && (queue.length = 0)); + jest.clearAllMocks(); + }); - expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', - data: { + describe('trackLinkClick', () => { + it('adds the specified link click event to the queue', () => { + trackLinkClick({ targetUrl: 'https://www.example.com', elementClasses: ['class-1', 'class-2'], elementContent: 'content-1', elementId: 'id-1234', elementTarget: '_blank', - }, + }); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', + data: { + targetUrl: 'https://www.example.com', + elementClasses: ['class-1', 'class-2'], + elementContent: 'content-1', + elementId: 'id-1234', + elementTarget: '_blank', + }, + }); + }); + + it('generates a link click event from a given element and adds it to the queue', () => { + const a = Object.assign(document.createElement('a'), { + href: 'https://www.example.com/abc', + className: 'class-1 class-2', + textContent: 'content-1', + id: 'id-1234', + target: '_blank', + }); + + trackLinkClick({ element: a }); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', + data: { + targetUrl: 'https://www.example.com/abc', + elementClasses: ['class-1', 'class-2'], + //elementContent: missing because disabled in default configuration + elementId: 'id-1234', + elementTarget: '_blank', + }, + }); + }); + + it('does nothing for no trackers', () => { + trackLinkClick( + { + targetUrl: 'https://www.example.com', + elementClasses: ['class-1', 'class-2'], + elementContent: 'content-1', + elementId: 'id-1234', + elementTarget: '_blank', + }, + [] + ); + + expect(state.outQueues[0]).toHaveLength(0); + }); + + it('does nothing for fake trackers', () => { + trackLinkClick( + { + targetUrl: 'https://www.example.com', + elementClasses: ['class-1', 'class-2'], + elementContent: 'content-1', + elementId: 'id-1234', + elementTarget: '_blank', + }, + ['doesNotExist'] + ); + + expect(state.outQueues[0]).toHaveLength(0); + }); + }); + + describe('enableLinkClickTracking', () => { + it('does nothing for no trackers', () => { + enableLinkClickTracking({}, []); + expect($addEventListener).not.toBeCalled(); + }); + + it('adds click listeners by default', () => { + enableLinkClickTracking(); + + expect($addEventListener).lastCalledWith('click', expect.anything(), true); + }); + + it('adds pseudo-click listeners when requested', () => { + enableLinkClickTracking({ pseudoClicks: true }); + expect($addEventListener).lastCalledWith('mousedown', expect.anything(), true); + }); + + it('tracks clicks on links that already exist', () => { + const target = document.createElement('a'); + target.href = 'https://www.example.com/exists'; + document.body.appendChild(target); + + enableLinkClickTracking(); + + target.click(); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', + data: { + targetUrl: 'https://www.example.com/exists', + }, + }); + }); + + it('tracks clicks on links added after enabling', () => { + enableLinkClickTracking(); + + const target = document.createElement('a'); + target.href = 'https://www.example.com/dynamic'; + document.body.appendChild(target); + + target.click(); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', + data: { + targetUrl: 'https://www.example.com/dynamic', + }, + }); + }); + + it('tracks clicks on child elements of links and contents', () => { + enableLinkClickTracking({ trackContent: true }); + + const parent = document.createElement('a'); + parent.href = 'https://www.example.com/parent'; + + const target = document.createElement('span'); + target.textContent = 'child'; + parent.appendChild(target); + + document.body.appendChild(parent); + + target.click(); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', + data: { + targetUrl: 'https://www.example.com/parent', + elementContent: 'child', + }, + }); + }); + + it('doesnt double track clicks', () => { + enableLinkClickTracking({ pseudoClicks: true }); + enableLinkClickTracking({ pseudoClicks: false }); + + const target = document.createElement('a'); + target.href = 'https://www.example.com/multiple'; + document.body.appendChild(target); + + expect(state.outQueues[0]).toHaveLength(0); + + target.click(); + + expect(state.outQueues[0]).toHaveLength(1); + }); + + it('ignores links that match denylist criteria', () => { + enableLinkClickTracking({ options: { denylist: ['exclude'] } }); + + const target = document.createElement('a'); + target.href = 'https://www.example.com/exclude'; + target.className = 'exclude'; + document.body.appendChild(target); + + expect(state.outQueues[0]).toHaveLength(0); + + target.click(); + + expect(state.outQueues[0]).toHaveLength(0); + + target.className = 'include'; + target.click(); + + expect(state.outQueues[0]).toHaveLength(1); + }); + + it('ignores links that dont match allowlist criteria', () => { + enableLinkClickTracking({ options: { allowlist: ['include'] } }); + + const target = document.createElement('a'); + target.href = 'https://www.example.com/include'; + target.className = 'exclude'; + document.body.appendChild(target); + + expect(state.outQueues[0]).toHaveLength(0); + + target.click(); + + expect(state.outQueues[0]).toHaveLength(0); + + target.className = 'include'; + target.click(); + + expect(state.outQueues[0]).toHaveLength(1); + }); + }); + + describe('disableLinkClickTracking', () => { + it('removes any listeners added', () => { + enableLinkClickTracking(); + disableLinkClickTracking(); + + const addCalls = $addEventListener.mock.calls; + + expect(addCalls).toHaveLength(1); + expect($removeEventListener.mock.calls).toContainEqual(addCalls[0]); }); }); }); From ecccab7f9ee83b78ec393ba6daf5d699124a149d Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 11 Jul 2024 15:44:49 +0200 Subject: [PATCH 074/277] Add a filter function to plugins to filter out events so that they are not tracked (#1326) --- .../markdown/browser-tracker.md | 3 +- .../markdown/browser-tracker.newtracker.md | 5 +- .../markdown/browser-tracker.newtracker_1.md | 26 --- .../node-tracker.coreplugin.filter.md | 13 ++ .../markdown/node-tracker.coreplugin.md | 1 + .../docs/node-tracker/node-tracker.api.md | 1 + .../issue-plugin_filter_2024-07-09-11-54.json | 10 ++ .../issue-plugin_filter_2024-07-09-11-54.json | 10 ++ .../issue-plugin_filter_2024-07-09-11-54.json | 10 ++ .../issue-plugin_filter_2024-07-09-11-54.json | 10 ++ .../issue-plugin_filter_2024-07-09-11-54.json | 10 ++ libraries/tracker-core/src/core.ts | 21 ++- libraries/tracker-core/src/plugins.ts | 8 +- libraries/tracker-core/test/core.ts | 160 ++++++++++++++---- trackers/node-tracker/test/tracker.ts | 2 +- 15 files changed, 225 insertions(+), 65 deletions(-) delete mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker_1.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.filter.md create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-plugin_filter_2024-07-09-11-54.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-plugin_filter_2024-07-09-11-54.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-plugin_filter_2024-07-09-11-54.json create mode 100644 common/changes/@snowplow/node-tracker/issue-plugin_filter_2024-07-09-11-54.json create mode 100644 common/changes/@snowplow/tracker-core/issue-plugin_filter_2024-07-09-11-54.json diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index 58669c275..08350063d 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -23,8 +23,7 @@ | [enableAnonymousTracking(configuration, trackers)](./browser-tracker.enableanonymoustracking.md) | Enables anonymous tracking (ie. tracker initialized without anonymousTracking) | | [flushBuffer(configuration, trackers)](./browser-tracker.flushbuffer.md) | Send all events in the outQueue Only need to use this when sending events with a bufferSize of at least 2 | | [newSession(trackers)](./browser-tracker.newsession.md) | Expires current session and starts a new session. | -| [newTracker(trackerId, endpoint)](./browser-tracker.newtracker.md) | Initialise a new tracker | -| [newTracker(trackerId, endpoint, configuration)](./browser-tracker.newtracker_1.md) | Initialise a new tracker | +| [newTracker(trackerId, endpoint, configuration)](./browser-tracker.newtracker.md) | Initialise a new tracker | | [preservePageViewId(trackers)](./browser-tracker.preservepageviewid.md) | Stop regenerating pageViewId (available from web_page context) | | [removeGlobalContexts(contexts, trackers)](./browser-tracker.removeglobalcontexts.md) | All provided contexts will no longer be sent with every event | | [setBufferSize(newBufferSize, trackers)](./browser-tracker.setbuffersize.md) | Set the buffer size Can be useful if you want to stop batching requests to ensure events start sending closer to event creation | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker.md index 446ff6375..23d477b89 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker.md @@ -9,7 +9,7 @@ Initialise a new tracker Signature: ```typescript -declare function newTracker(trackerId: string, endpoint: string): BrowserTracker; +declare function newTracker(trackerId: string, endpoint: string, configuration?: TrackerConfiguration): BrowserTracker | null | undefined; ``` ## Parameters @@ -18,8 +18,9 @@ declare function newTracker(trackerId: string, endpoint: string): BrowserTracker | --- | --- | --- | | trackerId | string | The tracker id - also known as tracker namespace | | endpoint | string | Collector endpoint in the form collector.mysite.com | +| configuration | TrackerConfiguration | The initialisation options of the tracker | Returns: -BrowserTracker +BrowserTracker \| null \| undefined diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker_1.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker_1.md deleted file mode 100644 index ac03fc02a..000000000 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.newtracker_1.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [newTracker](./browser-tracker.newtracker_1.md) - -## newTracker() function - -Initialise a new tracker - -Signature: - -```typescript -declare function newTracker(trackerId: string, endpoint: string, configuration: TrackerConfiguration): BrowserTracker; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| trackerId | string | The tracker id - also known as tracker namespace | -| endpoint | string | Collector endpoint in the form collector.mysite.com | -| configuration | TrackerConfiguration | The initialisation options of the tracker | - -Returns: - -BrowserTracker - diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.filter.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.filter.md new file mode 100644 index 000000000..c5d39c6d2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.filter.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [CorePlugin](./node-tracker.coreplugin.md) > [filter](./node-tracker.coreplugin.filter.md) + +## CorePlugin.filter property + +Called before the payload is sent to the callback to decide whether to send the payload or skip it + +Signature: + +```typescript +filter?: (payload: Payload) => boolean; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md index 2106026ce..fd32c8130 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md @@ -20,5 +20,6 @@ interface CorePlugin | [afterTrack?](./node-tracker.coreplugin.aftertrack.md) | (payload: Payload) => void | (Optional) Called just after the trackerCore callback fires | | [beforeTrack?](./node-tracker.coreplugin.beforetrack.md) | (payloadBuilder: PayloadBuilder) => void | (Optional) Called just before the trackerCore callback fires | | [contexts?](./node-tracker.coreplugin.contexts.md) | () => SelfDescribingJson\[\] | (Optional) Called when constructing the context for each event Useful for adding additional context to events | +| [filter?](./node-tracker.coreplugin.filter.md) | (payload: Payload) => boolean | (Optional) Called before the payload is sent to the callback to decide whether to send the payload or skip it | | [logger?](./node-tracker.coreplugin.logger.md) | (logger: Logger) => void | (Optional) Passed a logger instance which can be used to send log information to the active logger | diff --git a/api-docs/docs/node-tracker/node-tracker.api.md b/api-docs/docs/node-tracker/node-tracker.api.md index a5f69fc3f..58b772637 100644 --- a/api-docs/docs/node-tracker/node-tracker.api.md +++ b/api-docs/docs/node-tracker/node-tracker.api.md @@ -167,6 +167,7 @@ export interface CorePlugin { afterTrack?: (payload: Payload) => void; beforeTrack?: (payloadBuilder: PayloadBuilder) => void; contexts?: () => SelfDescribingJson[]; + filter?: (payload: Payload) => boolean; // Warning: (ae-forgotten-export) The symbol "Logger" needs to be exported by the entry point index.module.d.ts logger?: (logger: Logger) => void; } diff --git a/common/changes/@snowplow/browser-tracker-core/issue-plugin_filter_2024-07-09-11-54.json b/common/changes/@snowplow/browser-tracker-core/issue-plugin_filter_2024-07-09-11-54.json new file mode 100644 index 000000000..927053c15 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-plugin_filter_2024-07-09-11-54.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add a filter function to plugins to filter out events so that they are not tracked (#1326)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-plugin_filter_2024-07-09-11-54.json b/common/changes/@snowplow/browser-tracker/issue-plugin_filter_2024-07-09-11-54.json new file mode 100644 index 000000000..035e343b1 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-plugin_filter_2024-07-09-11-54.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add a filter function to plugins to filter out events so that they are not tracked (#1326)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-plugin_filter_2024-07-09-11-54.json b/common/changes/@snowplow/javascript-tracker/issue-plugin_filter_2024-07-09-11-54.json new file mode 100644 index 000000000..3ef2242ed --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-plugin_filter_2024-07-09-11-54.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Add a filter function to plugins to filter out events so that they are not tracked (#1326)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/issue-plugin_filter_2024-07-09-11-54.json b/common/changes/@snowplow/node-tracker/issue-plugin_filter_2024-07-09-11-54.json new file mode 100644 index 000000000..53f8e7c04 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/issue-plugin_filter_2024-07-09-11-54.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Add a filter function to plugins to filter out events so that they are not tracked (#1326)", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-plugin_filter_2024-07-09-11-54.json b/common/changes/@snowplow/tracker-core/issue-plugin_filter_2024-07-09-11-54.json new file mode 100644 index 000000000..28b4a64ac --- /dev/null +++ b/common/changes/@snowplow/tracker-core/issue-plugin_filter_2024-07-09-11-54.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Add a filter function to plugins to filter out events so that they are not tracked (#1326)", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/libraries/tracker-core/src/core.ts b/libraries/tracker-core/src/core.ts index b4072e29f..a906092a8 100644 --- a/libraries/tracker-core/src/core.ts +++ b/libraries/tracker-core/src/core.ts @@ -138,7 +138,7 @@ export interface TrackerCore { * @param pb - Payload * @param context - Custom contexts relating to the event * @param timestamp - Timestamp of the event - * @returns Payload after the callback is applied + * @returns Payload after the callback is applied or undefined if the event is skipped */ track: ( /** A PayloadBuilder created by one of the `buildX` functions */ @@ -147,7 +147,7 @@ export interface TrackerCore { context?: Array | null, /** Timestamp override */ timestamp?: Timestamp | null - ) => Payload; + ) => Payload | undefined; /** * Set a persistent key-value pair to be added to every payload @@ -376,13 +376,13 @@ export function trackerCore(configuration: CoreConfiguration = {}): TrackerCore * @param pb - Payload * @param context - Custom contexts relating to the event * @param timestamp - Timestamp of the event - * @returns Payload after the callback is applied + * @returns Payload after the callback is applied or undefined if the event is skipped */ function track( pb: PayloadBuilder, context?: Array | null, timestamp?: Timestamp | null - ): Payload { + ): Payload | undefined { pb.withJsonProcessor(payloadJsonProcessor(encodeBase64)); pb.add('eid', uuid()); pb.addDict(payloadPairs); @@ -404,6 +404,19 @@ export function trackerCore(configuration: CoreConfiguration = {}): TrackerCore } }); + // Call the filter on plugins to determine if the event should be tracked + const skip = corePlugins.find((plugin) => { + try { + return plugin.filter && plugin.filter(pb.build()) === false; + } catch (ex) { + LOG.error('Plugin filter', ex); + return false; + } + }); + if (skip) { + return undefined; + } + if (typeof callback === 'function') { callback(pb); } diff --git a/libraries/tracker-core/src/plugins.ts b/libraries/tracker-core/src/plugins.ts index e0f195c57..4d1f6c2d9 100644 --- a/libraries/tracker-core/src/plugins.ts +++ b/libraries/tracker-core/src/plugins.ts @@ -44,7 +44,7 @@ export interface CorePlugin { */ activateCorePlugin?: (core: TrackerCore) => void; /** - * Called just before the trackerCore callback fires + * Called before the `filter` method is called and before the trackerCore callback fires (if the filter passes) * @param payloadBuilder - The payloadBuilder which will be sent to the callback, can be modified */ beforeTrack?: (payloadBuilder: PayloadBuilder) => void; @@ -53,6 +53,12 @@ export interface CorePlugin { * @param payload - The final built payload */ afterTrack?: (payload: Payload) => void; + /** + * Called before the payload is sent to the callback to decide whether to send the payload or skip it + * @param payload - The final event payload, can't be modified. + * @returns True if the payload should be sent, false if it should be skipped + */ + filter?: (payload: Payload) => boolean; /** * Called when constructing the context for each event * Useful for adding additional context to events diff --git a/libraries/tracker-core/test/core.ts b/libraries/tracker-core/test/core.ts index b238514d6..aac62a570 100644 --- a/libraries/tracker-core/test/core.ts +++ b/libraries/tracker-core/test/core.ts @@ -80,7 +80,7 @@ test('tracker.track API should return the eid attribute', (t) => { page: pageTitle, refr: referrer, }; - const eventPayload = tracker.track(buildPageView({ pageUrl, pageTitle, referrer })); + const eventPayload = tracker.track(buildPageView({ pageUrl, pageTitle, referrer }))!; t.truthy(eventPayload.eid); t.regex(eventPayload.eid as string, UUID_REGEX); compare(eventPayload, expected, t); @@ -96,7 +96,7 @@ test('should track a page view', (t) => { page: pageTitle, refr: referrer, }; - compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer })), expected, t); + compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer }))!, expected, t); }); test('should track a page ping', (t) => { const pageUrl = 'http://www.example.com'; @@ -115,7 +115,7 @@ test('should track a page ping', (t) => { compare( tracker.track( buildPagePing({ pageUrl, pageTitle, referrer, minXOffset: 1, maxXOffset: 2, minYOffset: 3, maxYOffset: 4 }) - ), + )!, expected, t ); @@ -130,7 +130,7 @@ test('should track a structured event', (t) => { se_va: '1', }; compare( - tracker.track(buildStructEvent({ category: 'cat', action: 'act', label: 'lab', property: 'prop', value: 1 })), + tracker.track(buildStructEvent({ category: 'cat', action: 'act', label: 'lab', property: 'prop', value: 1 }))!, expected, t ); @@ -170,7 +170,7 @@ test('should track an ecommerce transaction event', (t) => { country, currency, }) - ), + )!, expected, t ); @@ -194,7 +194,7 @@ test('should track an ecommerce transaction item event', (t) => { ti_cu: currency, }; compare( - tracker.track(buildEcommerceTransactionItem({ orderId, sku, name, category, price, quantity, currency })), + tracker.track(buildEcommerceTransactionItem({ orderId, sku, name, category, price, quantity, currency }))!, expected, t ); @@ -213,7 +213,7 @@ test('should track a self-describing event', (t) => { data: inputJson, }), }; - compare(tracker.track(buildSelfDescribingEvent({ event: inputJson })), expected, t); + compare(tracker.track(buildSelfDescribingEvent({ event: inputJson }))!, expected, t); }); test('should track a link click', (t) => { const targetUrl = 'http://www.example.com'; @@ -239,7 +239,7 @@ test('should track a link click', (t) => { }), }; compare( - tracker.track(buildLinkClick({ targetUrl, elementId, elementClasses, elementTarget, elementContent })), + tracker.track(buildLinkClick({ targetUrl, elementId, elementClasses, elementTarget, elementContent }))!, expected, t ); @@ -261,7 +261,7 @@ test('should track a screen view', (t) => { data: inputJson, }), }; - compare(tracker.track(buildScreenView({ name, id })), expected, t); + compare(tracker.track(buildScreenView({ name, id }))!, expected, t); }); test('should track an ad impression', (t) => { const impressionId = 'a0e8f8780ab3'; @@ -295,7 +295,7 @@ test('should track an ad impression', (t) => { compare( tracker.track( buildAdImpression({ impressionId, costModel, cost, targetUrl, bannerId, zoneId, advertiserId, campaignId }) - ), + )!, expected, t ); @@ -334,7 +334,7 @@ test('should track an ad click', (t) => { compare( tracker.track( buildAdClick({ targetUrl, clickId, costModel, cost, bannerId, zoneId, impressionId, advertiserId, campaignId }) - ), + )!, expected, t ); @@ -383,7 +383,7 @@ test('should track an ad conversion', (t) => { advertiserId, campaignId, }) - ), + )!, expected, t ); @@ -407,7 +407,7 @@ test('should track a social interaction', (t) => { data: inputJson, }), }; - compare(tracker.track(buildSocialInteraction({ action, network, target })), expected, t); + compare(tracker.track(buildSocialInteraction({ action, network, target }))!, expected, t); }); test('should track an add-to-cart event', (t) => { const sku = '4q345'; @@ -434,7 +434,7 @@ test('should track an add-to-cart event', (t) => { data: inputJson, }), }; - compare(tracker.track(buildAddToCart({ sku, name, category, unitPrice, quantity, currency })), expected, t); + compare(tracker.track(buildAddToCart({ sku, name, category, unitPrice, quantity, currency }))!, expected, t); }); test('should track a remove-from-cart event', (t) => { const sku = '4q345'; @@ -461,7 +461,7 @@ test('should track a remove-from-cart event', (t) => { data: inputJson, }), }; - compare(tracker.track(buildRemoveFromCart({ sku, name, category, unitPrice, quantity, currency })), expected, t); + compare(tracker.track(buildRemoveFromCart({ sku, name, category, unitPrice, quantity, currency }))!, expected, t); }); test('should track a form focus event', (t) => { const formId = 'parent'; @@ -491,7 +491,7 @@ test('should track a form focus event', (t) => { compare( tracker.track( buildFormFocusOrChange({ schema: 'focus_form', formId, elementId, nodeName, type, elementClasses, value }) - ), + )!, expected, t ); @@ -524,7 +524,7 @@ test('should track a form change event', (t) => { compare( tracker.track( buildFormFocusOrChange({ schema: 'change_form', formId, elementId, nodeName, type, elementClasses, value }) - ), + )!, expected, t ); @@ -555,7 +555,7 @@ test('should track a form submission event', (t) => { data: inputJson, }), }; - compare(tracker.track(buildFormSubmission({ formId, formClasses, elements })), expected, t); + compare(tracker.track(buildFormSubmission({ formId, formClasses, elements }))!, expected, t); }); test('should track a site seach event', (t) => { const terms = ['javascript', 'development']; @@ -581,7 +581,7 @@ test('should track a site seach event', (t) => { data: inputJson, }), }; - compare(tracker.track(buildSiteSearch({ terms, filters, totalResults, pageResults })), expected, t); + compare(tracker.track(buildSiteSearch({ terms, filters, totalResults, pageResults }))!, expected, t); }); test('should track a consent withdrawn event', (t) => { const all = false; @@ -619,7 +619,7 @@ test('should track a consent withdrawn event', (t) => { }), }; const consentEvent = buildConsentWithdrawn({ all, id, version, name, description }); - compare(tracker.track(consentEvent.event, consentEvent.context, timestamp), expected, t); + compare(tracker.track(consentEvent.event, consentEvent.context, timestamp)!, expected, t); }); test('should track a consent granted event', (t) => { const id = '1234'; @@ -657,7 +657,7 @@ test('should track a consent granted event', (t) => { }), }; const consentEvent = buildConsentGranted({ id, version, name, description, expiry }); - compare(tracker.track(consentEvent.event, consentEvent.context, timestamp), expected, t); + compare(tracker.track(consentEvent.event, consentEvent.context, timestamp)!, expected, t); }); test('should track a page view with custom context', (t) => { const pageUrl = 'http://www.example.com'; @@ -682,7 +682,7 @@ test('should track a page view with custom context', (t) => { data: inputContext, }), }; - compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer }), inputContext), expected, t); + compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer }), inputContext)!, expected, t); }); test('should track a page view with a timestamp', (t) => { const timestamp = 1000000000000; @@ -691,7 +691,7 @@ test('should track a page view with a timestamp', (t) => { buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'title', referrer: 'ref' }), [], timestamp - )['dtm'], + )!['dtm'], '1000000000000' ); }); @@ -710,7 +710,7 @@ test('should add individual name-value pairs to the payload', (t) => { }; tracker.addPayloadPair('tna', 'sp'); tracker.addPayloadPair('tv', 'js-2.0.0'); - compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer })), expected, t); + compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer }))!, expected, t); }); test('should add a dictionary of name-value pairs to the payload', (t) => { const tracker = trackerCore({ base64: false }); @@ -731,7 +731,7 @@ test('should add a dictionary of name-value pairs to the payload', (t) => { tna: 'sp', aid: 'sp325', }); - compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer })), expected, t); + compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer }))!, expected, t); }); test('should reset payload name-value pairs', (t) => { const tracker = trackerCore({ base64: false }); @@ -747,7 +747,7 @@ test('should reset payload name-value pairs', (t) => { }; tracker.addPayloadPair('tna', 'mistake'); tracker.resetPayloadPairs({ tna: 'sp' }); - compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer })), expected, t); + compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer }))!, expected, t); }); test('should execute a callback', (t) => { const tracker = trackerCore({ @@ -802,7 +802,7 @@ test('should use setter methods', (t) => { ua: 'SnowplowJavascript/0.0.1', refr: referrer, }; - compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer })), expected, t); + compare(tracker.track(buildPageView({ pageUrl, pageTitle, referrer }))!, expected, t); }); test('should set true timestamp', (t) => { @@ -812,7 +812,7 @@ test('should set true timestamp', (t) => { const result = tracker.track(buildPageView({ pageUrl, pageTitle, referrer }), undefined, { type: 'ttm', value: 1477403862, - }); + })!; t.true('ttm' in result); t.is(result['ttm'], '1477403862'); t.false('dtm' in result); @@ -828,7 +828,7 @@ test('should set device timestamp as ADT', (t) => { const result = tracker.track(buildSelfDescribingEvent({ event: inputJson }), [inputJson], { type: 'dtm', value: 1477403869, - }); + })!; t.true('dtm' in result); t.is(result['dtm'], '1477403869'); t.false('ttm' in result); @@ -932,3 +932,105 @@ test('should run plugin before and after track callbacks on each track event', ( t.is(beforeCount, fs.length); t.is(afterCount, fs.length); }); + +test('should skip events in case the plugin filter function returns false', (t) => { + let countTracked = 0; + const tracker = trackerCore({ + base64: false, + corePlugins: [ + { + filter: (payload) => { + return payload.e !== 'pv'; + }, + }, + { + filter: (payload) => { + return payload.e !== 'pp'; + }, + }, + { + afterTrack: () => { + countTracked += 1; + }, + }, + ], + }); + + t.falsy( + tracker.track( + buildPageView({ + pageUrl: 'http://www.example.com', + pageTitle: 'title page', + referrer: 'https://www.google.com', + }) + ) + ); + + t.falsy( + tracker.track( + buildPagePing({ + pageUrl: 'http://www.example.com', + pageTitle: 'title page', + referrer: 'https://www.google.com', + maxXOffset: 1, + maxYOffset: 1, + minXOffset: 1, + minYOffset: 1, + }) + ) + ); + + t.truthy( + tracker.track( + buildAddToCart({ + category: 'cat', + name: 'name', + quantity: 1, + sku: 'sku', + unitPrice: 1, + }) + ) + ); + + t.assert(countTracked === 1); +}); + +test('filter is passed full payload including dynamic context', (t) => { + let countTracked = 0; + const tracker = trackerCore({ + base64: false, + corePlugins: [ + { + contexts: () => { + return [ + { + schema: 'iglu:com.acme/user/jsonschema/1-0-0', + data: { + userType: 'tester', + userName: 'Jon', + }, + }, + ] + }, + filter: (payload) => { + return (payload.co as string).includes('com.acme'); + }, + afterTrack: () => { + countTracked += 1; + }, + }, + ], + }); + + t.truthy( + tracker.track( + buildPageView({ + pageUrl: 'http://www.example.com', + pageTitle: 'title page', + referrer: 'https://www.google.com', + }) + ) + ); + + t.assert(countTracked === 1); +}); diff --git a/trackers/node-tracker/test/tracker.ts b/trackers/node-tracker/test/tracker.ts index a0636f4e3..c0fb90f37 100644 --- a/trackers/node-tracker/test/tracker.ts +++ b/trackers/node-tracker/test/tracker.ts @@ -110,7 +110,7 @@ for (const method of testMethods) { const eventPayload = track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), context - ); + )!; t.truthy(eventPayload.eid); t.regex(eventPayload.eid as string, UUID_REGEX); }); From 8d98c7ef88cd346764926cc03ae85fc88550802b Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Fri, 19 Jul 2024 15:48:57 +1000 Subject: [PATCH 075/277] Add event delegation for form tracking (#1329) - Global event listeners are now used instead of per-element listeners - Event listeners now use the capture phase instead of bubble - Forms added after the initial `enableFormTracking` call should automatically be tracked without needing additional calls - Field value transform functions can now return `null` for all events - Add unit tests for form tracking - The new `targets` parameter allows listening for forms in only a subset of the document tree, or across multiple same-origin documents (e.g. iframes) --- .../PE-6528-formsv4_2024-07-17-01-15.json | 10 + .../PE-6528-formsv4_2024-07-17-01-15.json | 10 + .../jest.config.js | 6 + .../browser-plugin-form-tracking/package.json | 2 +- .../src/helpers.ts | 422 +++++++++++------- .../browser-plugin-form-tracking/src/index.ts | 37 +- .../test/events.test.ts | 248 ++++++++++ .../test/pages/form-tracking.html | 1 + 8 files changed, 568 insertions(+), 168 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-form-tracking/PE-6528-formsv4_2024-07-17-01-15.json create mode 100644 common/changes/@snowplow/javascript-tracker/PE-6528-formsv4_2024-07-17-01-15.json create mode 100644 plugins/browser-plugin-form-tracking/jest.config.js create mode 100644 plugins/browser-plugin-form-tracking/test/events.test.ts diff --git a/common/changes/@snowplow/browser-plugin-form-tracking/PE-6528-formsv4_2024-07-17-01-15.json b/common/changes/@snowplow/browser-plugin-form-tracking/PE-6528-formsv4_2024-07-17-01-15.json new file mode 100644 index 000000000..603fcbc0b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-form-tracking/PE-6528-formsv4_2024-07-17-01-15.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-form-tracking", + "comment": "Add event delegation for link click tracking", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-form-tracking" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/PE-6528-formsv4_2024-07-17-01-15.json b/common/changes/@snowplow/javascript-tracker/PE-6528-formsv4_2024-07-17-01-15.json new file mode 100644 index 000000000..ae2f53795 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/PE-6528-formsv4_2024-07-17-01-15.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/plugins/browser-plugin-form-tracking/jest.config.js b/plugins/browser-plugin-form-tracking/jest.config.js new file mode 100644 index 000000000..87d15da9b --- /dev/null +++ b/plugins/browser-plugin-form-tracking/jest.config.js @@ -0,0 +1,6 @@ +module.exports = { + preset: 'ts-jest', + reporters: ['jest-standard-reporter'], + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], + testEnvironment: 'jest-environment-jsdom-global', +}; diff --git a/plugins/browser-plugin-form-tracking/package.json b/plugins/browser-plugin-form-tracking/package.json index fcce4fea1..248c105e9 100644 --- a/plugins/browser-plugin-form-tracking/package.json +++ b/plugins/browser-plugin-form-tracking/package.json @@ -19,7 +19,7 @@ ], "scripts": { "build": "rollup -c --silent --failAfterWarnings", - "test": "" + "test": "jest" }, "dependencies": { "@snowplow/browser-tracker-core": "workspace:*", diff --git a/plugins/browser-plugin-form-tracking/src/helpers.ts b/plugins/browser-plugin-form-tracking/src/helpers.ts index 4b424dd04..8364f1780 100644 --- a/plugins/browser-plugin-form-tracking/src/helpers.ts +++ b/plugins/browser-plugin-form-tracking/src/helpers.ts @@ -1,16 +1,16 @@ import { - getCssClasses, addEventListener, - BrowserTracker, - FilterCriterion, + getCssClasses, getFilterByClass, getFilterByName, + type BrowserTracker, + type FilterCriterion, } from '@snowplow/browser-tracker-core'; import { - resolveDynamicContext, - DynamicContext, buildFormFocusOrChange, buildFormSubmission, + resolveDynamicContext, + type DynamicContext, } from '@snowplow/tracker-core'; /** The form tracking configuration */ @@ -22,7 +22,7 @@ export interface FormTrackingConfiguration { } /** Events to capture in form tracking */ -export enum FormTrackingEvent { +enum FormTrackingEvent { /** Form field changed event */ CHANGE_FORM = 'change_form', /** Form field focused event */ @@ -31,45 +31,45 @@ export enum FormTrackingEvent { SUBMIT_FORM = 'submit_form', } -/** List of form tracking events to capture */ -export type FormTrackingEvents = Array; const defaultFormTrackingEvents = [ FormTrackingEvent.CHANGE_FORM, FormTrackingEvent.FOCUS_FORM, FormTrackingEvent.SUBMIT_FORM, ]; -export interface FormTrackingOptions { - forms?: FilterCriterion | HTMLCollectionOf | NodeListOf; - fields?: FilterCriterion & { transform: transformFn }; - events?: FormTrackingEvents; +/** Form tracking plugin options to determine which events to fire and the elements to listen for */ +interface FormTrackingOptions { + /** List of `form` elements that are allowed to generate events, or criteria for deciding that when the event listener handles the event */ + forms?: + | FilterCriterion + | HTMLCollectionOf + | NodeListOf + | HTMLFormElement[]; + /** Criteria for fields within forms that should generate focus or change events; you may also include a transformation function for fields that may include personal data */ + fields?: FilterCriterion & { transform?: transformFn }; + /** Allow list of events to enable tracking for; can be any combination of focus_form, change_form, or submit_form */ + events?: `${FormTrackingEvent}`[]; + /** A list of targets to add event listeners to. If not provided, defaults to the current `document` */ + targets?: EventTarget[]; } -export interface TrackedHTMLElementTagNameMap { - textarea: HTMLTextAreaElement; - input: HTMLInputElement; - select: HTMLSelectElement; -} +type TrackedHTMLElementTagNameMap = Pick; -export type TrackedHTMLElement = TrackedHTMLElementTagNameMap[keyof TrackedHTMLElementTagNameMap]; +type TrackedHTMLElement = TrackedHTMLElementTagNameMap[keyof TrackedHTMLElementTagNameMap]; -export interface ElementData extends Record { +interface ElementData extends Record { name: string; value: string | null; nodeName: string; type?: string; } -export type transformFn = ( +type transformFn = ( elementValue: string | null, elementInfo: ElementData | TrackedHTMLElement, elt: TrackedHTMLElement ) => string | null; -export const innerElementTags: Array = ['textarea', 'input', 'select']; - -type TrackedHTMLElementWithMarker = TrackedHTMLElement & Record; - type ElementDataWrapper = { elementData: ElementData; originalElement: TrackedHTMLElement }; const defaultTransformFn: transformFn = (x) => x; @@ -78,57 +78,76 @@ interface FormConfiguration { formFilter: (_: HTMLFormElement) => boolean; fieldFilter: (_: TrackedHTMLElement) => boolean; fieldTransform: transformFn; + forms: HTMLCollectionOf | NodeListOf | HTMLFormElement[] | null; } -/* - * Add submission event listeners to all form elements - * Add value change event listeners to all mutable inner form elements +const _focusListeners: Record = {}; +const _changeListeners: Record = {}; +const _submitListeners: Record = {}; +const _targets: Record = {}; + +/** + * Add submission/focus/change event listeners to page for forms and elements according to `configuration` + * + * @param tracker The tracker instance the listener belongs to that will be used to track events + * @param configuration Plugin configuration controlling the events to track and forms/fields to target or transform */ export function addFormListeners(tracker: BrowserTracker, configuration: FormTrackingConfiguration) { const { options, context } = configuration, - trackingMarker = tracker.id + 'form', config = getConfigurationForOptions(options); - let forms = config.forms ?? document.getElementsByTagName('form'); - Array.prototype.slice.call(forms).forEach(function (form: HTMLFormElement) { - if (config.formFilter(form)) { - Array.prototype.slice.call(innerElementTags).forEach(function (tagname: keyof TrackedHTMLElementTagNameMap) { - Array.prototype.slice - .call(form.getElementsByTagName(tagname)) - .forEach(function (innerElement: TrackedHTMLElementWithMarker) { - if ( - config.fieldFilter(innerElement) && - !innerElement[trackingMarker] && - innerElement.type.toLowerCase() !== 'password' - ) { - if (config.eventFilter(FormTrackingEvent.FOCUS_FORM)) { - addEventListener( - innerElement, - 'focus', - getFormChangeListener(tracker, config, 'focus_form', context), - false - ); - } - if (config.eventFilter(FormTrackingEvent.CHANGE_FORM)) { - addEventListener( - innerElement, - 'change', - getFormChangeListener(tracker, config, 'change_form', context), - false - ); - } - innerElement[trackingMarker] = true; - } - }); - }); + const events = options?.events ?? defaultFormTrackingEvents; - if (!form[trackingMarker]) { - if (config.eventFilter(FormTrackingEvent.SUBMIT_FORM)) { - addEventListener(form, 'submit', getFormSubmissionListener(tracker, config, trackingMarker, context)); - } - form[trackingMarker] = true; - } - } + const targets = (_targets[tracker.id] = getTargetList(options?.targets, config.forms)); + + if (events.indexOf(FormTrackingEvent.FOCUS_FORM) !== -1) { + _focusListeners[tracker.id] = getFormChangeListener(tracker, config, FormTrackingEvent.FOCUS_FORM, context); + targets.forEach((target) => addEventListener(target, 'focus', _focusListeners[tracker.id], true)); + } + if (events.indexOf(FormTrackingEvent.CHANGE_FORM) !== -1) { + _changeListeners[tracker.id] = getFormChangeListener(tracker, config, FormTrackingEvent.CHANGE_FORM, context); + targets.forEach((target) => addEventListener(target, 'change', _changeListeners[tracker.id], true)); + } + if (events.indexOf(FormTrackingEvent.SUBMIT_FORM) !== -1) { + _submitListeners[tracker.id] = getFormSubmissionListener(tracker, config, context); + targets.forEach((target) => addEventListener(target, 'submit', _submitListeners[tracker.id], true)); + } +} + +/** + * Builds a list of targets for the plugin event listeners + * + * The list can include any specifically provided targets, and will be extended to include the root nodes of any explicit HTMLFormElements provided + * With neither provided, defaults to the current page's `document` element + * + * @param configTargets Explicitly configured list of event target listeners, if any + * @param forms Explicitly configured list of form elements to track, if any + * @returns List of EventTargets to add the listener to + */ +function getTargetList(configTargets: EventTarget[] | undefined, forms: FormConfiguration['forms']) { + // we attach to document rather than window because the window focus event occurs more often than we require + const targets = configTargets ?? [document]; + + if (forms) { + Array.prototype.forEach.call(forms, (form: HTMLFormElement) => { + targets.push(form.ownerDocument.documentElement); + }); + } + + return targets; +} + +/** + * Remove all submission/focus/change event listeners from page that have been added via a call to `addFormListeners` + * + * @param tracker The tracker instance the listener belongs to that will be used to track events + */ +export function removeFormListeners(tracker: BrowserTracker) { + const targets = _targets[tracker.id] ?? [document]; + targets.forEach((target) => { + if (_focusListeners[tracker.id]) target.removeEventListener('focus', _focusListeners[tracker.id], true); + if (_changeListeners[tracker.id]) target.removeEventListener('change', _changeListeners[tracker.id], true); + if (_submitListeners[tracker.id]) target.removeEventListener('submit', _submitListeners[tracker.id], true); }); } @@ -136,31 +155,69 @@ export function addFormListeners(tracker: BrowserTracker, configuration: FormTra * Check if forms array is a collection of HTML form elements or a filter or undefined */ function isCollectionOfHTMLFormElements( - forms?: FilterCriterion | HTMLCollectionOf | NodeListOf -): forms is HTMLCollectionOf | NodeListOf { + forms?: + | FilterCriterion + | HTMLCollectionOf + | NodeListOf + | HTMLFormElement[] +): forms is HTMLCollectionOf | NodeListOf | HTMLFormElement[] { return forms != null && Array.prototype.slice.call(forms).length > 0; } -/* +/** + * Typeguard for `element` to see if it appears to be the HTMLElement with tagName `type` + * + * instanceof checks don't work for cross-document nodes, which this plugin supports + * + * @param elem Object to check element type + * @param type Element type we're checking for + * @returns If `element` is an element with tagName `type` + */ +function isElement>( + elem: unknown, + type: E +): elem is HTMLElementTagNameMap[Lowercase] { + if (typeof elem === 'object' && elem) { + if ('tagName' in elem && typeof (elem as Element)['tagName'] === 'string') { + return (elem as Element).tagName.toUpperCase() === type; + } + } + + return false; +} + +/** + * Determine if given object is a `TrackedHTMLElement` or not + * + * @param element Value to determine + * @returns If `element` is `TrackedHTMLElement` + */ +function isTrackableElement(element: EventTarget | null): element is TrackedHTMLElement { + return isElement(element, 'INPUT') || isElement(element, 'SELECT') || isElement(element, 'TEXTAREA'); +} + +/** * Configures form tracking: which forms and fields will be tracked, and the context to attach + * + * @param options User-supplied configuration + * @returns Final configuration incorporating defaults */ -function getConfigurationForOptions(options?: FormTrackingOptions) { +function getConfigurationForOptions(options?: FormTrackingOptions): FormConfiguration { if (options) { let formFilter = (_: HTMLElement) => true; - let forms: HTMLCollectionOf | NodeListOf | null = null; + let forms: HTMLCollectionOf | NodeListOf | HTMLFormElement[] | null = null; if (isCollectionOfHTMLFormElements(options.forms)) { - // options.forms is a collection of HTML form elements + // options.forms is an explicity allowlist of HTML form elements forms = options.forms; } else { // options.forms is null or a filter formFilter = getFilterByClass(options.forms); } return { - forms: forms, - formFilter: formFilter, + forms, + formFilter, fieldFilter: getFilterByName(options.fields), fieldTransform: getTransform(options.fields), - eventFilter: (event: FormTrackingEvent) => (options.events ?? defaultFormTrackingEvents).indexOf(event) > -1, }; } else { return { @@ -168,31 +225,51 @@ function getConfigurationForOptions(options?: FormTrackingOptions) { formFilter: () => true, fieldFilter: () => true, fieldTransform: defaultTransformFn, - eventFilter: () => true, }; } } +/** + * Check if the found target element is included in the explicit form allowlist, if provided. + * + * @param target A `form` element to check if we're allowed to track. + * @param allowed An optional list of form elements we want to track against. + * @returns True if there is no allowlist or the `target` is in the allowlist, false otherwise. + */ +function explicitlyAllowedForm(target: HTMLFormElement, allowed: FormConfiguration['forms']) { + if (!allowed) return true; + + for (let i = 0; i < allowed.length; i++) { + if (allowed[i].isSameNode(target)) return true; + } + + return false; +} + /** * Convert a criterion object to a transform function * - * @param object - criterion {transform: function (elt) {return the result of transform function applied to element} + * @param criterion + * @returns Transformation function if provided in `criterion`, or a default identity function */ -function getTransform(criterion?: { transform: transformFn }): transformFn { - if (criterion && Object.prototype.hasOwnProperty.call(criterion, 'transform')) { +function getTransform(criterion?: { transform?: transformFn }): transformFn { + if (criterion && typeof criterion.transform === 'function') { return criterion.transform; } return defaultTransformFn; } -/* - * Get an identifier for a form, input, textarea, or select element +/** + * Get an identifier for a form or `TrackedHTMLElement` + * + * @param elt Element to identify + * @returns Identifier for `elt` */ function getElementIdentifier(elt: Record) { - const properties: Array<'name' | 'id' | 'type' | 'nodeName'> = ['name', 'id', 'type', 'nodeName']; + const properties = ['name', 'id', 'type', 'nodeName'] as const; for (const propName of properties) { - if (elt[propName] != false && typeof elt[propName] === 'string') { + if (elt[propName] && typeof elt[propName] === 'string') { return elt[propName]; } } @@ -200,115 +277,152 @@ function getElementIdentifier(elt: Record) { return null; } -/* - * Identifies the parent form in which an element is contained +/** + * Discovers the parent form in which an element is contained + * + * @param elt Child control to identify the owning form for + * @returns The form element this control belongs to or null if not found */ -function getParentFormIdentifier(elt: Node | null) { - while (elt && elt.nodeName && elt.nodeName.toUpperCase() !== 'HTML' && elt.nodeName.toUpperCase() !== 'FORM') { - elt = elt.parentNode; - } - if (elt && elt.nodeName && elt.nodeName.toUpperCase() === 'FORM') { - return getElementIdentifier(elt); +function getParentForm(elt: TrackedHTMLElement | null) { + if (elt && elt.form) return elt.form; + + let parent: ParentNode | null = elt; + + while (parent) { + if (isElement(parent, 'FORM')) { + return parent; + } + parent = parent.parentNode; } - return null; + return parent; } -/* - * Returns a list of the input, textarea, and select elements inside a form along with their values +/** + * Returns a list of the `TrackedHTMLElement`s inside a form along with their values + * + * @param elt Form element to get the control elements for + * @returns Array of wrapped control elements belonging to the form */ -function getInnerFormElements(trackingMarker: string, elt: HTMLFormElement) { - var innerElements: Array = []; - Array.prototype.slice.call(innerElementTags).forEach((tagname: 'textarea' | 'input' | 'select') => { - let trackedChildren = Array.prototype.slice.call(elt.getElementsByTagName(tagname)).filter(function (child) { - return child.hasOwnProperty(trackingMarker); - }); +function getInnerFormElements(elt: HTMLFormElement) { + const innerElements: Array = []; - Array.prototype.slice.call(trackedChildren).forEach(function (child) { - if (child.type === 'submit') { - return; - } - var elementJson: ElementDataWrapper = { - elementData: { - name: getElementIdentifier(child), - value: child.value, - nodeName: child.nodeName, - }, - originalElement: child, - }; - if (child.type && child.nodeName.toUpperCase() === 'INPUT') { - elementJson.elementData.type = child.type; - } + Array.prototype.forEach.call(elt.elements, function (child: Element) { + if (!isTrackableElement(child)) return; - if ((child.type === 'checkbox' || child.type === 'radio') && !(child as HTMLInputElement).checked) { + const inputType = (child.type || 'text').toLowerCase(); + + // submit and image are roughly equivalent + if (inputType === 'submit' || inputType === 'image') { + return; + } + + const elementJson: ElementDataWrapper = { + elementData: { + name: getElementIdentifier(child)!, + value: child.value, + nodeName: child.nodeName, + }, + originalElement: child, + }; + + if (isElement(child, 'INPUT')) { + elementJson.elementData.type = inputType; + + if (inputType === 'password' || ((inputType === 'checkbox' || inputType === 'radio') && !child.checked)) { elementJson.elementData.value = null; } - innerElements.push(elementJson); - }); + } + + innerElements.push(elementJson); }); return innerElements; } -/* - * Return function to handle form field change event +/** + * Create closure function to handle form field change/focus event + * + * @param tracker The tracker instance to generate the event with + * @param config Plugin configuration + * @param event_type Type of event to generate + * @param context List of entities or context generators to evaluate with the event + * @returns A form change/focus handler */ function getFormChangeListener( tracker: BrowserTracker, config: FormConfiguration, - event_type: 'change_form' | 'focus_form', + event_type: Exclude, context?: DynamicContext | null ) { - return function (e: Event) { - var elt = e.target as TrackedHTMLElement; - if (elt) { - var type = elt.nodeName && elt.nodeName.toUpperCase() === 'INPUT' ? elt.type : null; - var value = - elt.type === 'checkbox' && !(elt as HTMLInputElement).checked - ? null - : config.fieldTransform(elt.value, elt, elt); + return function ({ target }: Event) { + if (isTrackableElement(target) && config.fieldFilter(target)) { + let value: string | null = null; + let type: string | null = null; + + if (isElement(target, 'INPUT')) { + type = (target.type || 'text').toLowerCase(); + value = + (type === 'checkbox' && !target.checked) || type === 'password' + ? null + : config.fieldTransform(target.value, target, target); + } else { + value = config.fieldTransform(target.value, target, target); + } + + const form = getParentForm(target); + if (!(form && config.formFilter(form) && explicitlyAllowedForm(form, config.forms))) return; + if (event_type === 'change_form' || (type !== 'checkbox' && type !== 'radio')) { tracker.core.track( buildFormFocusOrChange({ schema: event_type, - formId: getParentFormIdentifier(elt) ?? '', - elementId: getElementIdentifier(elt) ?? '', - nodeName: elt.nodeName, + formId: getElementIdentifier(form ?? {}) ?? '', + elementId: getElementIdentifier(target) ?? '', + nodeName: target.nodeName, type, - elementClasses: getCssClasses(elt), + elementClasses: getCssClasses(target), value: value ?? null, }), - resolveDynamicContext(context, elt, type, value) + resolveDynamicContext(context, target, type, value) ); } } }; } -/* - * Return function to handle form submission event +/** + * Create closure function to handle form submission event + * + * @param tracker The tracker instance to generate the event with + * @param config Plugin configuration + * @param context List of entities or context generators to evaluate with the event + * @returns A form submit handler */ function getFormSubmissionListener( tracker: BrowserTracker, config: FormConfiguration, - trackingMarker: string, context?: DynamicContext | null ) { - return function (e: Event) { - var elt = e.target as HTMLFormElement; - var innerElements = getInnerFormElements(trackingMarker, elt); - innerElements.forEach(function (innerElement) { - var eltData = innerElement.elementData; - eltData.value = config.fieldTransform(eltData.value, eltData, innerElement.originalElement) ?? eltData.value; - }); - var elementsData = innerElements.map((elt) => elt.elementData); - tracker.core.track( - buildFormSubmission({ - formId: getElementIdentifier(elt) ?? '', - formClasses: getCssClasses(elt), - elements: elementsData, - }), - resolveDynamicContext(context, elt, elementsData) - ); + return function ({ target }: Event) { + if (isElement(target, 'FORM') && config.formFilter(target) && explicitlyAllowedForm(target, config.forms)) { + const elementsData: ElementData[] = []; + + getInnerFormElements(target).forEach(function ({ elementData, originalElement }) { + if (config.fieldFilter(originalElement) && originalElement.type.toLowerCase() !== 'password') { + elementData.value = config.fieldTransform(elementData.value, elementData, originalElement); + elementsData.push(elementData); + } + }); + + tracker.core.track( + buildFormSubmission({ + formId: getElementIdentifier(target) ?? '', + formClasses: getCssClasses(target), + elements: elementsData, + }), + resolveDynamicContext(context, target, elementsData) + ); + } }; } diff --git a/plugins/browser-plugin-form-tracking/src/index.ts b/plugins/browser-plugin-form-tracking/src/index.ts index 3f3f79a39..8649dc16a 100644 --- a/plugins/browser-plugin-form-tracking/src/index.ts +++ b/plugins/browser-plugin-form-tracking/src/index.ts @@ -1,12 +1,12 @@ -import { BrowserPlugin, BrowserTracker } from '@snowplow/browser-tracker-core'; -import { addFormListeners, FormTrackingConfiguration } from './helpers'; +import type { BrowserPlugin, BrowserTracker } from '@snowplow/browser-tracker-core'; +import { addFormListeners, removeFormListeners, type FormTrackingConfiguration } from './helpers'; -export { FormTrackingConfiguration } from './helpers'; +export { type FormTrackingConfiguration } from './helpers'; const _trackers: Record = {}; /** - * A plugin which enabled automatic form tracking + * A plugin which enables automatic form focus, change, and submit tracking */ export function FormTrackingPlugin(): BrowserPlugin { return { @@ -17,9 +17,10 @@ export function FormTrackingPlugin(): BrowserPlugin { } /** - * Enables automatic form tracking + * Enables automatic form tracking. + * * An event will be fired when a form field is changed or a form submitted. - * This can be called multiple times: only forms not already tracked will be tracked. + * This can be called multiple times: previous listeners will be removed and replaced with any updated configuration. * * @param configuration - The form tracking configuration * @param trackers - The tracker identifiers which the events will be sent to @@ -30,13 +31,23 @@ export function enableFormTracking( ) { trackers.forEach((t) => { if (_trackers[t]) { - if (_trackers[t].sharedState.hasLoaded) { - addFormListeners(_trackers[t], configuration); - } else { - _trackers[t].sharedState.registeredOnLoadHandlers.push(function () { - addFormListeners(_trackers[t], configuration); - }); - } + removeFormListeners(_trackers[t]); + addFormListeners(_trackers[t], configuration); + } + }); +} + +/** + * Disables automatic form tracking. + * + * All page-level listeners for the given trackers will be removed. + * + * @param trackers - The tracker identifiers which the events will be sent to + */ +export function disableFormTracking(trackers: Array = Object.keys(_trackers)) { + trackers.forEach((t) => { + if (_trackers[t]) { + removeFormListeners(_trackers[t]); } }); } diff --git a/plugins/browser-plugin-form-tracking/test/events.test.ts b/plugins/browser-plugin-form-tracking/test/events.test.ts new file mode 100644 index 000000000..ef1fc932b --- /dev/null +++ b/plugins/browser-plugin-form-tracking/test/events.test.ts @@ -0,0 +1,248 @@ +/* + * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; +import { enableFormTracking, disableFormTracking, FormTrackingPlugin } from '../src'; + +const getUEEvents = (arr: any) => arr.filter(({ evt }: any) => evt.e === 'ue'); +const extractEventProperties = (arr: any) => arr.map(({ evt }: any) => JSON.parse(evt.ue_pr).data); +const extractUeEvent = (schema: string) => ({ + from: (arr: any, n: number = 0) => + extractEventProperties(getUEEvents(arr)) + .reduce((acc: any[], curr: any[]) => acc.concat([curr]), []) + .filter((evt: any) => evt.schema === schema)[n], +}); + +describe('FormTrackingPlugin', () => { + const state = new SharedState(); + addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { + stateStorageStrategy: 'cookie', + encodeBase64: false, + plugins: [FormTrackingPlugin()], + }); + + const $addEventListener = jest.spyOn(document, 'addEventListener'); + const $removeEventListener = jest.spyOn(document, 'removeEventListener'); + + document.body.appendChild(Object.assign(document.createElement('form'), { id: 'test-form' })); + + afterEach(() => { + // clear the outQueue(s) after each test + state.outQueues.forEach((queue) => Array.isArray(queue) && (queue.length = 0)); + jest.clearAllMocks(); + document.forms[0].replaceChildren(); + }); + + describe('enableFormTracking', () => { + it('does nothing for no trackers', () => { + enableFormTracking({}, []); + expect($addEventListener).not.toBeCalled(); + }); + + it('adds form listeners by default', () => { + enableFormTracking(); + + expect($addEventListener).toBeCalledWith('focus', expect.anything(), true); + expect($addEventListener).toBeCalledWith('change', expect.anything(), true); + expect($addEventListener).toBeCalledWith('submit', expect.anything(), true); + }); + + it('tracks focus on fields that already exist', () => { + const target = document.createElement('input'); + document.forms[0].appendChild(target); + + enableFormTracking(); + + target.focus(); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', + data: { + formId: 'test-form', + }, + }); + }); + + it('tracks focus on fields added after enabling', () => { + enableFormTracking(); + + const target = document.createElement('input'); + document.forms[0].appendChild(target); + + target.focus(); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', + data: { + formId: 'test-form', + }, + }); + }); + + it('tracks changes on field values', () => { + enableFormTracking(); + + const target = document.createElement('input'); + document.forms[0].appendChild(target); + + target.value = 'changed'; + target.dispatchEvent(new Event('change')); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', + data: { + formId: 'test-form', + value: 'changed', + }, + }); + }); + + it('associates non-nested forms correctly', () => { + enableFormTracking(); + + const target = document.createElement('input'); + target.setAttribute('form', 'test-form'); + document.body.appendChild(target); + + target.focus(); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', + data: { + formId: 'test-form', + }, + }); + + document.body.removeChild(target); + }); + + it('ignores password values', () => { + enableFormTracking(); + + const target = document.createElement('input'); + target.type = 'password'; + target.value = 'initial'; + document.forms[0].appendChild(target); + + target.focus(); + target.value = 'zomg_private!1'; + target.dispatchEvent(new Event('change')); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', + data: { + formId: 'test-form', + nodeName: 'INPUT', + elementType: 'password', + value: null, + }, + }); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', + data: { + formId: 'test-form', + nodeName: 'INPUT', + type: 'password', + value: null, + }, + }); + }); + + it('does not listen for ignored event types', () => { + enableFormTracking({ options: { events: ['focus_form'] } }); + expect($addEventListener).toBeCalledTimes(1); + expect($addEventListener).toBeCalledWith('focus', expect.anything(), true); + }); + + it('ignores form that are not explicitly specified', () => { + const extra = document.createElement('form'); + extra.id = 'skipme'; + document.body.appendChild(extra); + + enableFormTracking({ options: { forms: [document.forms[0]] } }); + + let target = document.createElement('input'); + extra.appendChild(target); + target.focus(); + + expect(state.outQueues[0]).toHaveLength(0); + + target = document.createElement('input'); + document.forms[0].appendChild(target); + target.focus(); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', + data: { + formId: 'test-form', + }, + }); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + ).not.toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', + data: { + formId: 'skipme', + }, + }); + + document.body.removeChild(extra); + }); + }); + + describe('disableFormTracking', () => { + it('removes any listeners added', () => { + enableFormTracking(); + disableFormTracking(); + + const addCalls = $addEventListener.mock.calls; + + expect(addCalls).toHaveLength(3); + + addCalls.forEach((call) => expect($removeEventListener.mock.calls).toContainEqual(call)); + }); + }); +}); diff --git a/trackers/javascript-tracker/test/pages/form-tracking.html b/trackers/javascript-tracker/test/pages/form-tracking.html index 3717b0d17..198f13acd 100644 --- a/trackers/javascript-tracker/test/pages/form-tracking.html +++ b/trackers/javascript-tracker/test/pages/form-tracking.html @@ -148,6 +148,7 @@ case 'iframeForm': var forms = iframe.contentWindow.document.getElementsByTagName('form'); snowplow('enableFormTracking', { options: { forms: forms } }); + break; default: snowplow('enableFormTracking', { context: [ From 888657a693976f58a9de33c200ee9cb6292e004b Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Tue, 23 Jul 2024 12:08:44 +1000 Subject: [PATCH 076/277] Add support for named global context (#1331) The `addGlobalContexts` API now accepts an `object` mapping "names" to context primitives or context generators, rather than just an array of "unnamed" global entities/generators. Calling `addGlobalContexts` multiple times with values of the same "name" will overwrite the previous value for subsequent events, allowing "upserting" or updating of global context without having to remove the previous version first and introducing duplicates. `removeGlobalContexts` can now also accept plain strings which are handled as names, so primitives/generators can be removed by name without having to own a reference to the generating function or an object that serializes to the same string. --- .../browser-tracker/browser-tracker.api.md | 4 +- .../PE-5311-namedctx_2024-07-17-02-36.json | 10 +++ .../PE-5311-namedctx_2024-07-17-02-36.json | 10 +++ libraries/tracker-core/src/contexts.ts | 71 ++++++++++++++----- libraries/tracker-core/src/core.ts | 8 ++- libraries/tracker-core/test/contexts.ts | 69 ++++++++++++++++++ trackers/browser-tracker/src/api.ts | 6 +- 7 files changed, 154 insertions(+), 24 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker/PE-5311-namedctx_2024-07-17-02-36.json create mode 100644 common/changes/@snowplow/tracker-core/PE-5311-namedctx_2024-07-17-02-36.json diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index bd2c101cf..0aa06992e 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -29,7 +29,7 @@ export interface ActivityTrackingConfigurationCallback { } // @public -export function addGlobalContexts(contexts: Array, trackers?: Array): void; +export function addGlobalContexts(contexts: Array | Record, trackers?: Array): void; // @public export function addPlugin(configuration: BrowserPluginConfiguration, trackers?: Array): void; @@ -300,7 +300,7 @@ export function preservePageViewId(trackers?: Array): void; export type PreservePageViewIdForUrl = boolean | "full" | "pathname" | "pathnameAndSearch"; // @public -export function removeGlobalContexts(contexts: Array, trackers?: Array): void; +export function removeGlobalContexts(contexts: Array, trackers?: Array): void; // @public export type RequestFailure = { diff --git a/common/changes/@snowplow/browser-tracker/PE-5311-namedctx_2024-07-17-02-36.json b/common/changes/@snowplow/browser-tracker/PE-5311-namedctx_2024-07-17-02-36.json new file mode 100644 index 000000000..70c4488da --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/PE-5311-namedctx_2024-07-17-02-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add support for named global context", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/PE-5311-namedctx_2024-07-17-02-36.json b/common/changes/@snowplow/tracker-core/PE-5311-namedctx_2024-07-17-02-36.json new file mode 100644 index 000000000..dfc5b88b1 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/PE-5311-namedctx_2024-07-17-02-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Add support for named global context", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/libraries/tracker-core/src/contexts.ts b/libraries/tracker-core/src/contexts.ts index bed5a9b0c..1b946d93d 100644 --- a/libraries/tracker-core/src/contexts.ts +++ b/libraries/tracker-core/src/contexts.ts @@ -116,7 +116,11 @@ export interface GlobalContexts { * Adds conditional or primitive global contexts * @param contexts - An Array of either Conditional Contexts or Primitive Contexts */ - addGlobalContexts(contexts: Array): void; + addGlobalContexts( + contexts: + | Array + | Record + ): void; /** * Removes all global contexts @@ -127,7 +131,7 @@ export interface GlobalContexts { * Removes previously added global context, performs a deep comparison of the contexts or conditional contexts * @param contexts - An Array of either Condition Contexts or Primitive Contexts */ - removeGlobalContexts(contexts: Array): void; + removeGlobalContexts(contexts: Array): void; /** * Returns all applicable global contexts for a specified event @@ -142,6 +146,8 @@ export interface GlobalContexts { export function globalContexts(): GlobalContexts { let globalPrimitives: Array = []; let conditionalProviders: Array = []; + let namedPrimitives: Record = {}; + let namedConditionalProviders: Record = {}; /** * Returns all applicable global contexts for a specified event @@ -152,10 +158,20 @@ export function globalContexts(): GlobalContexts { const eventSchema = getUsefulSchema(event); const eventType = getEventType(event); const contexts: Array = []; - const generatedPrimitives = generatePrimitives(globalPrimitives, event, eventType, eventSchema); + const generatedPrimitives = generatePrimitives( + globalPrimitives.concat(Object.values(namedPrimitives)), + event, + eventType, + eventSchema + ); contexts.push(...generatedPrimitives); - const generatedConditionals = generateConditionals(conditionalProviders, event, eventType, eventSchema); + const generatedConditionals = generateConditionals( + conditionalProviders.concat(Object.values(namedConditionalProviders)), + event, + eventType, + eventSchema + ); contexts.push(...generatedConditionals); return contexts; @@ -163,35 +179,54 @@ export function globalContexts(): GlobalContexts { return { getGlobalPrimitives(): Array { - return globalPrimitives; + return globalPrimitives.concat(Object.values(namedPrimitives)); }, getConditionalProviders(): Array { - return conditionalProviders; + return conditionalProviders.concat(Object.values(namedConditionalProviders)); }, - addGlobalContexts(contexts: Array): void { - const acceptedConditionalContexts: ConditionalContextProvider[] = []; - const acceptedContextPrimitives: ContextPrimitive[] = []; - for (const context of contexts) { - if (isConditionalContextProvider(context)) { - acceptedConditionalContexts.push(context); - } else if (isContextPrimitive(context)) { - acceptedContextPrimitives.push(context); + addGlobalContexts( + contexts: + | Array + | Record + ): void { + if (Array.isArray(contexts)) { + const acceptedConditionalContexts: ConditionalContextProvider[] = []; + const acceptedContextPrimitives: ContextPrimitive[] = []; + for (const context of contexts) { + if (isConditionalContextProvider(context)) { + acceptedConditionalContexts.push(context); + } else if (isContextPrimitive(context)) { + acceptedContextPrimitives.push(context); + } + } + globalPrimitives = globalPrimitives.concat(acceptedContextPrimitives); + conditionalProviders = conditionalProviders.concat(acceptedConditionalContexts); + } else { + for (const [name, context] of Object.entries(contexts)) { + if (isConditionalContextProvider(context)) { + namedConditionalProviders[name] = context; + } else if (isContextPrimitive(context)) { + namedPrimitives[name] = context; + } } } - globalPrimitives = globalPrimitives.concat(acceptedContextPrimitives); - conditionalProviders = conditionalProviders.concat(acceptedConditionalContexts); }, clearGlobalContexts(): void { conditionalProviders = []; globalPrimitives = []; + namedConditionalProviders = {}; + namedPrimitives = {}; }, - removeGlobalContexts(contexts: Array): void { + removeGlobalContexts(contexts: Array): void { for (const context of contexts) { - if (isConditionalContextProvider(context)) { + if (typeof context === 'string') { + delete namedConditionalProviders[context]; + delete namedPrimitives[context]; + } else if (isConditionalContextProvider(context)) { conditionalProviders = conditionalProviders.filter((item) => !compareProvider(context, item)); } else if (isContextPrimitive(context)) { globalPrimitives = globalPrimitives.filter((item) => !compareProvider(context, item)); diff --git a/libraries/tracker-core/src/core.ts b/libraries/tracker-core/src/core.ts index a906092a8..eaabf4f7d 100644 --- a/libraries/tracker-core/src/core.ts +++ b/libraries/tracker-core/src/core.ts @@ -273,7 +273,11 @@ export interface TrackerCore { * Adds contexts globally, contexts added here will be attached to all applicable events * @param contexts - An array containing either contexts or a conditional contexts */ - addGlobalContexts(contexts: Array): void; + addGlobalContexts( + contexts: + | Array + | Record + ): void; /** * Removes all global contexts @@ -284,7 +288,7 @@ export interface TrackerCore { * Removes previously added global context, performs a deep comparison of the contexts or conditional contexts * @param contexts - An array containing either contexts or a conditional contexts */ - removeGlobalContexts(contexts: Array): void; + removeGlobalContexts(contexts: Array): void; /** * Add a plugin into the plugin collection after Core has already been initialised diff --git a/libraries/tracker-core/test/contexts.ts b/libraries/tracker-core/test/contexts.ts index b1e511b94..fe2d6a81a 100644 --- a/libraries/tracker-core/test/contexts.ts +++ b/libraries/tracker-core/test/contexts.ts @@ -215,6 +215,75 @@ test('Add global contexts', (t) => { t.is(globalContexts.getConditionalProviders().length, 2, 'Correct number of conditional providers added'); }); +test('Handle named global contexts', (t) => { + const geolocationContext = { + schema: 'iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0', + data: { + latitude: 40.0, + longitude: 55.1, + }, + }; + + function eventTypeContextGenerator(args?: contexts.ContextEvent) { + const context: SelfDescribingJson = { + schema: 'iglu:com.snowplowanalytics.snowplow/mobile_context/jsonschema/1-0-1', + data: { + osType: 'ubuntu', + osVersion: '2018.04', + deviceManufacturer: 'ASUS', + deviceModel: args ? String(args['eventType']) : '', + }, + }; + return context; + } + + const bothRuleSet = { + accept: ['iglu:com.snowplowanalytics.snowplow/*/jsonschema/*-*-*'], + reject: ['iglu:com.snowplowanalytics.snowplow/*/jsonschema/*-*-*'], + }; + + const filterFunction = function (args?: contexts.ContextEvent) { + return args?.eventType === 'ue'; + }; + + const filterProvider: contexts.FilterProvider = [filterFunction, [geolocationContext, eventTypeContextGenerator]]; + const ruleSetProvider: contexts.RuleSetProvider = [bothRuleSet, [geolocationContext, eventTypeContextGenerator]]; + + const namedContexts = { + filters: filterProvider, + rules: ruleSetProvider, + static: geolocationContext, + generator: eventTypeContextGenerator, + }; + const globalContexts = contexts.globalContexts(); + + globalContexts.addGlobalContexts(namedContexts); + t.is(globalContexts.getGlobalPrimitives().length, 2, 'Correct number of primitives added'); + t.is(globalContexts.getConditionalProviders().length, 2, 'Correct number of conditional providers added'); + + globalContexts.removeGlobalContexts(['static', 'rules']); + t.is(globalContexts.getGlobalPrimitives().length, 1, 'Correct number of primitives removed'); + t.is(globalContexts.getConditionalProviders().length, 1, 'Correct number of conditional providers removed'); + + globalContexts.clearGlobalContexts(); + t.is(globalContexts.getGlobalPrimitives().length, 0, 'All primitives removed'); + t.is(globalContexts.getConditionalProviders().length, 0, 'All conditional providers removed'); + + globalContexts.addGlobalContexts([geolocationContext]); + globalContexts.addGlobalContexts({ geo: geolocationContext }); + t.is(globalContexts.getGlobalPrimitives().length, 2, 'Treats anonymous and named globals separately'); + + const mutatedGeolocationContext = JSON.parse(JSON.stringify(geolocationContext)); + mutatedGeolocationContext.data.latitude = 30; + + globalContexts.addGlobalContexts({ geo: mutatedGeolocationContext }); + t.deepEqual( + globalContexts.getGlobalPrimitives(), + [geolocationContext, mutatedGeolocationContext], + 'Upserts named globals' + ); +}); + test('Remove one of two global context primitives', (t) => { const geolocationContext = { schema: 'iglu:com.snowplowanalytics.snowplow/geolocation_context/jsonschema/1-1-0', diff --git a/trackers/browser-tracker/src/api.ts b/trackers/browser-tracker/src/api.ts index ffd04f350..a605599e7 100644 --- a/trackers/browser-tracker/src/api.ts +++ b/trackers/browser-tracker/src/api.ts @@ -413,7 +413,9 @@ export function trackSelfDescribingEvent(event: SelfDescribingEvent & CommonEven * @param trackers - The tracker identifiers which the global contexts will be added to */ export function addGlobalContexts( - contexts: Array, + contexts: + | Array + | Record, trackers?: Array ) { dispatchToTrackers(trackers, (t) => { @@ -428,7 +430,7 @@ export function addGlobalContexts( * @param trackers - The tracker identifiers which the global contexts will be remove from */ export function removeGlobalContexts( - contexts: Array, + contexts: Array, trackers?: Array ) { dispatchToTrackers(trackers, (t) => { From a8fe882d2d34a8805a34c1c5ef9be80d6d9d0f31 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 29 Aug 2024 08:57:02 +0200 Subject: [PATCH 077/277] Use fetch API instead of XMLHttpRequest both in browser and Node trackers and refactor emitter and event store interfaces (close #1076) PR #1337 --- .bundlemonrc.json | 10 +- .../browser-tracker/browser-tracker.api.md | 209 ++++- .../browser-tracker.addglobalcontexts.md | 4 +- ...r-tracker.coreplugin.activatecoreplugin.md | 18 + .../browser-tracker.coreplugin.aftertrack.md | 13 + .../browser-tracker.coreplugin.beforetrack.md | 13 + .../browser-tracker.coreplugin.contexts.md | 13 + .../browser-tracker.coreplugin.filter.md | 13 + .../browser-tracker.coreplugin.logger.md | 13 + .../markdown/browser-tracker.coreplugin.md | 25 + ...browser-tracker.corepluginconfiguration.md | 20 + ...-tracker.corepluginconfiguration.plugin.md | 11 + .../browser-tracker.devicetimestamp.md | 21 + .../browser-tracker.devicetimestamp.type.md | 11 + .../browser-tracker.devicetimestamp.value.md | 11 + ...ker.emitterconfigurationbase.buffersize.md | 13 + ...tterconfigurationbase.connectiontimeout.md | 13 + ...er.emitterconfigurationbase.credentials.md | 13 + ...er.emitterconfigurationbase.customfetch.md | 13 + ....emitterconfigurationbase.customheaders.md | 13 + ...rconfigurationbase.dontretrystatuscodes.md | 13 + ...er.emitterconfigurationbase.eventmethod.md | 13 + ...ker.emitterconfigurationbase.eventstore.md | 13 + ...cker.emitterconfigurationbase.idservice.md | 15 + ...cker.emitterconfigurationbase.keepalive.md | 13 + ...er.emitterconfigurationbase.maxgetbytes.md | 13 + ...r.emitterconfigurationbase.maxpostbytes.md | 13 + ...rowser-tracker.emitterconfigurationbase.md | 35 + ...itterconfigurationbase.onrequestfailure.md | 13 + ...itterconfigurationbase.onrequestsuccess.md | 13 + ...acker.emitterconfigurationbase.postpath.md | 13 + ...erconfigurationbase.retryfailedrequests.md | 17 + ...itterconfigurationbase.retrystatuscodes.md | 13 + ...tracker.emitterconfigurationbase.usestm.md | 13 + .../markdown/browser-tracker.eventbatch.md | 4 +- .../markdown/browser-tracker.eventjson.md | 13 + .../markdown/browser-tracker.eventmethod.md | 2 +- .../browser-tracker.eventstore.add.md | 13 + .../browser-tracker.eventstore.count.md | 13 + .../browser-tracker.eventstore.getall.md | 13 + ...owser-tracker.eventstore.getallpayloads.md | 13 + .../browser-tracker.eventstore.iterator.md | 13 + .../markdown/browser-tracker.eventstore.md | 25 + .../browser-tracker.eventstore.removehead.md | 13 + ...tracker.eventstoreconfiguration.maxsize.md | 15 + ...browser-tracker.eventstoreconfiguration.md | 18 + .../browser-tracker.eventstoreiterator.md | 18 + ...browser-tracker.eventstoreiterator.next.md | 16 + .../browser-tracker.eventstorepayload.md | 19 + ...owser-tracker.eventstorepayload.payload.md | 13 + ...owser-tracker.eventstorepayload.svranon.md | 13 + .../markdown/browser-tracker.getbatch.md | 13 - .../markdown/browser-tracker.jsonprocessor.md | 13 + ...figurationbase.maxlocalstoragequeuesize.md | 15 + ...localstorageeventstoreconfigurationbase.md | 20 + ...tstoreconfigurationbase.uselocalstorage.md | 13 + .../markdown/browser-tracker.logger.debug.md | 11 + .../markdown/browser-tracker.logger.error.md | 11 + .../markdown/browser-tracker.logger.info.md | 11 + .../markdown/browser-tracker.logger.md | 22 + .../browser-tracker.logger.setloglevel.md | 11 + .../markdown/browser-tracker.logger.warn.md | 11 + .../markdown/browser-tracker.md | 27 +- .../markdown/browser-tracker.payload.md | 13 + .../browser-tracker.payloadbuilder.add.md | 13 + ...tracker.payloadbuilder.addcontextentity.md | 13 + .../browser-tracker.payloadbuilder.adddict.md | 13 + .../browser-tracker.payloadbuilder.addjson.md | 13 + .../browser-tracker.payloadbuilder.build.md | 13 + .../browser-tracker.payloadbuilder.getjson.md | 13 + ...owser-tracker.payloadbuilder.getpayload.md | 13 + .../browser-tracker.payloadbuilder.md | 27 + ...racker.payloadbuilder.withjsonprocessor.md | 13 + .../markdown/browser-tracker.postbatch.md | 13 - .../browser-tracker.removeglobalcontexts.md | 4 +- ...wser-tracker.sharedstate.bufferflushers.md | 11 + .../browser-tracker.sharedstate.hasloaded.md | 11 + .../markdown/browser-tracker.sharedstate.md | 24 + .../browser-tracker.sharedstate.pageviewid.md | 11 + ...browser-tracker.sharedstate.pageviewurl.md | 11 + ...er.sharedstate.registeredonloadhandlers.md | 11 + .../markdown/browser-tracker.timestamp.md | 13 + .../browser-tracker.trackerconfiguration.md | 19 +- ...r-tracker.trackercore.addglobalcontexts.md | 24 + ...wser-tracker.trackercore.addpayloaddict.md | 24 + ...wser-tracker.trackercore.addpayloadpair.md | 13 + .../browser-tracker.trackercore.addplugin.md | 24 + ...tracker.trackercore.clearglobalcontexts.md | 17 + ...r-tracker.trackercore.getbase64encoding.md | 17 + .../markdown/browser-tracker.trackercore.md | 46 + ...racker.trackercore.removeglobalcontexts.md | 24 + ...r-tracker.trackercore.resetpayloadpairs.md | 24 + .../browser-tracker.trackercore.setappid.md | 24 + ...r-tracker.trackercore.setbase64encoding.md | 24 + ...owser-tracker.trackercore.setcolordepth.md | 24 + ...rowser-tracker.trackercore.setipaddress.md | 24 + .../browser-tracker.trackercore.setlang.md | 24 + ...browser-tracker.trackercore.setplatform.md | 24 + ...tracker.trackercore.setscreenresolution.md | 25 + ...browser-tracker.trackercore.settimezone.md | 24 + ...tracker.trackercore.settrackernamespace.md | 24 + ...r-tracker.trackercore.settrackerversion.md | 24 + ...rowser-tracker.trackercore.setuseragent.md | 24 + .../browser-tracker.trackercore.setuserid.md | 24 + ...browser-tracker.trackercore.setviewport.md | 25 + .../browser-tracker.trackercore.track.md | 13 + .../markdown/browser-tracker.truetimestamp.md | 21 + .../browser-tracker.truetimestamp.type.md | 11 + .../browser-tracker.truetimestamp.value.md | 11 + ...node-tracker.conditionalcontextprovider.md | 13 + .../markdown/node-tracker.contextprimitive.md | 13 + .../node-tracker.coreplugin.beforetrack.md | 2 +- .../markdown/node-tracker.coreplugin.md | 2 +- .../node-tracker.corepluginconfiguration.md | 20 + ...-tracker.corepluginconfiguration.plugin.md | 11 + .../markdown/node-tracker.customemitter.md | 14 + .../markdown/node-tracker.devicetimestamp.md | 21 + .../node-tracker.devicetimestamp.type.md | 11 + .../node-tracker.devicetimestamp.value.md | 11 + .../markdown/node-tracker.emitter.flush.md | 4 +- .../markdown/node-tracker.emitter.input.md | 4 +- .../markdown/node-tracker.emitter.md | 10 +- .../node-tracker.emitter.setanonymization.md | 13 - ...de-tracker.emitter.setanonymoustracking.md | 13 + .../node-tracker.emitter.setbuffersize.md | 13 + .../node-tracker.emitter.setcollectorurl.md | 13 + ...e-tracker.emitterconfiguration.endpoint.md | 11 + .../node-tracker.emitterconfiguration.md | 22 + .../node-tracker.emitterconfiguration.port.md | 11 + ...e-tracker.emitterconfiguration.protocol.md | 11 + ...mitterconfiguration.serveranonymization.md | 11 + ...ker.emitterconfigurationbase.buffersize.md | 13 + ...tterconfigurationbase.connectiontimeout.md | 13 + ...er.emitterconfigurationbase.credentials.md | 13 + ...er.emitterconfigurationbase.customfetch.md | 13 + ....emitterconfigurationbase.customheaders.md | 13 + ...rconfigurationbase.dontretrystatuscodes.md | 13 + ...er.emitterconfigurationbase.eventmethod.md | 13 + ...ker.emitterconfigurationbase.eventstore.md | 13 + ...cker.emitterconfigurationbase.idservice.md | 15 + ...cker.emitterconfigurationbase.keepalive.md | 13 + ...er.emitterconfigurationbase.maxgetbytes.md | 13 + ...r.emitterconfigurationbase.maxpostbytes.md | 13 + .../node-tracker.emitterconfigurationbase.md | 35 + ...itterconfigurationbase.onrequestfailure.md | 13 + ...itterconfigurationbase.onrequestsuccess.md | 13 + ...acker.emitterconfigurationbase.postpath.md | 13 + ...erconfigurationbase.retryfailedrequests.md | 17 + ...itterconfigurationbase.retrystatuscodes.md | 13 + ...tracker.emitterconfigurationbase.usestm.md | 13 + .../markdown/node-tracker.eventbatch.md | 13 + .../markdown/node-tracker.eventjson.md | 13 + .../node-tracker.eventjsonwithkeys.md | 17 + .../markdown/node-tracker.eventmethod.md | 11 + .../markdown/node-tracker.eventstore.add.md | 13 + .../markdown/node-tracker.eventstore.count.md | 13 + .../node-tracker.eventstore.getall.md | 13 + .../node-tracker.eventstore.getallpayloads.md | 13 + .../node-tracker.eventstore.iterator.md | 13 + .../markdown/node-tracker.eventstore.md | 25 + .../node-tracker.eventstore.removehead.md | 13 + ...tracker.eventstoreconfiguration.maxsize.md | 15 + .../node-tracker.eventstoreconfiguration.md | 18 + .../node-tracker.eventstoreiterator.md | 18 + .../node-tracker.eventstoreiterator.next.md | 16 + .../node-tracker.eventstorepayload.md | 19 + .../node-tracker.eventstorepayload.payload.md | 13 + .../node-tracker.eventstorepayload.svranon.md | 13 + .../markdown/node-tracker.filterprovider.md | 16 + .../markdown/node-tracker.formelement.md | 18 + .../markdown/node-tracker.jsonprocessor.md | 13 + .../markdown/node-tracker.log_level.md | 22 + .../markdown/node-tracker.logger.debug.md | 11 + .../markdown/node-tracker.logger.error.md | 11 + .../markdown/node-tracker.logger.info.md | 11 + .../markdown/node-tracker.logger.md | 22 + .../node-tracker.logger.setloglevel.md | 11 + .../markdown/node-tracker.logger.warn.md | 11 + .../node-tracker/markdown/node-tracker.md | 34 +- .../markdown/node-tracker.newtracker.md | 4 +- .../node-tracker.nodeemitterconfiguration.md | 11 + .../markdown/node-tracker.requestfailure.md | 18 + .../markdown/node-tracker.ruleset.accept.md | 11 + .../markdown/node-tracker.ruleset.md | 21 + .../markdown/node-tracker.ruleset.reject.md | 11 + .../markdown/node-tracker.rulesetprovider.md | 16 + .../markdown/node-tracker.tracker.flush.md | 13 + .../markdown/node-tracker.tracker.md | 1 + ...node-tracker.trackerconfiguration.appid.md | 11 + ...acker.trackerconfiguration.encodebase64.md | 11 + .../node-tracker.trackerconfiguration.md | 20 + ...-tracker.trackerconfiguration.namespace.md | 11 + ...e-tracker.trackercore.addglobalcontexts.md | 24 + ...node-tracker.trackercore.addpayloaddict.md | 24 + ...node-tracker.trackercore.addpayloadpair.md | 13 + .../node-tracker.trackercore.addplugin.md | 24 + ...tracker.trackercore.clearglobalcontexts.md | 17 + ...e-tracker.trackercore.getbase64encoding.md | 17 + .../markdown/node-tracker.trackercore.md | 46 + ...racker.trackercore.removeglobalcontexts.md | 24 + ...e-tracker.trackercore.resetpayloadpairs.md | 24 + .../node-tracker.trackercore.setappid.md | 24 + ...e-tracker.trackercore.setbase64encoding.md | 24 + .../node-tracker.trackercore.setcolordepth.md | 24 + .../node-tracker.trackercore.setipaddress.md | 24 + .../node-tracker.trackercore.setlang.md | 24 + .../node-tracker.trackercore.setplatform.md | 24 + ...tracker.trackercore.setscreenresolution.md | 25 + .../node-tracker.trackercore.settimezone.md | 24 + ...tracker.trackercore.settrackernamespace.md | 24 + ...e-tracker.trackercore.settrackerversion.md | 24 + .../node-tracker.trackercore.setuseragent.md | 24 + .../node-tracker.trackercore.setuserid.md | 24 + .../node-tracker.trackercore.setviewport.md | 25 + .../node-tracker.trackercore.track.md | 13 + .../markdown/node-tracker.truetimestamp.md | 21 + .../node-tracker.truetimestamp.type.md | 11 + .../node-tracker.truetimestamp.value.md | 11 + .../docs/node-tracker/node-tracker.api.md | 256 +++++- .../issue-fetch_api_2024-08-20-06-45.json | 10 + .../issue-fetch_api_2024-08-20-06-45.json | 10 + .../issue-fetch_api_2024-08-20-06-45.json | 10 + .../issue-fetch_api_2024-08-20-06-45.json | 10 + .../issue-fetch_api_2024-08-20-06-45.json | 10 + .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 134 +-- common/config/rush/repo-state.json | 2 +- libraries/browser-tracker-core/jest.config.js | 1 + libraries/browser-tracker-core/package.json | 3 +- libraries/browser-tracker-core/src/state.ts | 2 - .../src/tracker/id_cookie.ts | 4 +- .../browser-tracker-core/src/tracker/index.ts | 42 +- .../src/tracker/local_storage_event_store.ts | 61 ++ .../src/tracker/out_queue.ts | 622 +------------- .../src/tracker/schemata.ts | 1 - .../browser-tracker-core/src/tracker/types.ts | 172 +--- .../test/out_queue.test.ts | 790 ++++++++---------- .../tracker-core/src/emitter/emitter_event.ts | 160 ++++ .../src/emitter/emitter_request.ts | 237 ++++++ libraries/tracker-core/src/emitter/index.ts | 442 ++++++++++ libraries/tracker-core/src/event_store.ts | 99 +++ .../tracker-core/src/event_store_payload.ts | 27 + libraries/tracker-core/src/index.ts | 3 + libraries/tracker-core/src/schemata.ts | 1 + .../test/emitter/emitter_event.test.ts | 66 ++ .../test/emitter/emitter_request.test.ts | 306 +++++++ .../tracker-core/test/emitter/index.test.ts | 334 ++++++++ .../tracker-core/test/event_store.test.ts | 92 ++ .../test/events.test.ts | 28 +- .../test/events.test.ts | 45 +- .../test/events.test.ts | 21 +- .../test/events.test.ts | 54 +- .../test/contexts.test.ts | 15 +- .../test/events.test.ts | 42 +- .../test/request.test.ts | 21 +- .../test/events.test.ts | 63 +- .../test/events.test.ts | 75 +- .../test/events.test.ts | 29 +- .../test/contexts.test.ts | 36 +- .../test/events.test.ts | 70 +- rush.json | 33 +- setupTestGlobals.ts | 1 + trackers/browser-tracker/package.json | 3 +- trackers/browser-tracker/src/index.ts | 44 +- trackers/browser-tracker/test/tracker.test.ts | 83 +- .../test/integration/integration.test.ts | 10 +- .../test/pages/integration.html | 6 +- trackers/node-tracker/package.json | 4 - trackers/node-tracker/src/emitter.ts | 35 - trackers/node-tracker/src/got_emitter.ts | 148 ---- trackers/node-tracker/src/index.ts | 34 +- trackers/node-tracker/src/tracker.ts | 50 +- trackers/node-tracker/test/emitter.ts | 55 -- trackers/node-tracker/test/got_emitter.ts | 296 ------- trackers/node-tracker/test/tracker.ts | 275 +++--- trackers/node-tracker/tsconfig.json | 3 +- 276 files changed, 6690 insertions(+), 2467 deletions(-) create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.activatecoreplugin.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.aftertrack.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.beforetrack.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.contexts.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.filter.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.logger.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.plugin.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.type.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.value.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.buffersize.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.connectiontimeout.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.credentials.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customfetch.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customheaders.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.dontretrystatuscodes.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventmethod.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventstore.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.idservice.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.keepalive.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxgetbytes.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxpostbytes.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestfailure.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestsuccess.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.postpath.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retryfailedrequests.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retrystatuscodes.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.usestm.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventjson.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.add.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.count.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getall.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getallpayloads.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.iterator.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.removehead.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.maxsize.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.next.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.payload.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.svranon.md delete mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.jsonprocessor.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.maxlocalstoragequeuesize.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.uselocalstorage.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.logger.debug.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.logger.error.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.logger.info.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.logger.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.logger.setloglevel.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.logger.warn.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payload.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.add.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addcontextentity.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.adddict.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addjson.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.build.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getjson.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getpayload.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.withjsonprocessor.md delete mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.bufferflushers.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.hasloaded.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewid.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewurl.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.registeredonloadhandlers.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.timestamp.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addglobalcontexts.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloaddict.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloadpair.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addplugin.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.clearglobalcontexts.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.getbase64encoding.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.removeglobalcontexts.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.resetpayloadpairs.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setappid.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setbase64encoding.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setcolordepth.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setipaddress.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setlang.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setplatform.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setscreenresolution.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settimezone.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackernamespace.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackerversion.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuseragent.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuserid.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setviewport.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.track.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.type.md create mode 100644 api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.value.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.conditionalcontextprovider.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.contextprimitive.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.plugin.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.customemitter.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.type.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.value.md delete mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymization.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymoustracking.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitter.setbuffersize.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitter.setcollectorurl.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.endpoint.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.port.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.protocol.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.serveranonymization.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.buffersize.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.connectiontimeout.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.credentials.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customfetch.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customheaders.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.dontretrystatuscodes.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventmethod.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventstore.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.idservice.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.keepalive.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxgetbytes.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxpostbytes.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestfailure.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestsuccess.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.postpath.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retryfailedrequests.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retrystatuscodes.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.usestm.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventbatch.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventjson.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventjsonwithkeys.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventmethod.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstore.add.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstore.count.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getall.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getallpayloads.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstore.iterator.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstore.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstore.removehead.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.maxsize.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.next.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.payload.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.svranon.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.filterprovider.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.formelement.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.jsonprocessor.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.log_level.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.logger.debug.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.logger.error.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.logger.info.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.logger.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.logger.setloglevel.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.logger.warn.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.nodeemitterconfiguration.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.requestfailure.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.ruleset.accept.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.ruleset.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.ruleset.reject.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.rulesetprovider.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.tracker.flush.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.appid.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.encodebase64.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.namespace.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addglobalcontexts.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloaddict.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloadpair.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addplugin.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.clearglobalcontexts.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.getbase64encoding.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.removeglobalcontexts.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.resetpayloadpairs.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setappid.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setbase64encoding.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setcolordepth.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setipaddress.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setlang.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setplatform.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setscreenresolution.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settimezone.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackernamespace.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackerversion.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuseragent.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuserid.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setviewport.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.trackercore.track.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.type.md create mode 100644 api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.value.md create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-fetch_api_2024-08-20-06-45.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-fetch_api_2024-08-20-06-45.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-fetch_api_2024-08-20-06-45.json create mode 100644 common/changes/@snowplow/node-tracker/issue-fetch_api_2024-08-20-06-45.json create mode 100644 common/changes/@snowplow/tracker-core/issue-fetch_api_2024-08-20-06-45.json create mode 100644 libraries/browser-tracker-core/src/tracker/local_storage_event_store.ts create mode 100644 libraries/tracker-core/src/emitter/emitter_event.ts create mode 100644 libraries/tracker-core/src/emitter/emitter_request.ts create mode 100644 libraries/tracker-core/src/emitter/index.ts create mode 100644 libraries/tracker-core/src/event_store.ts create mode 100644 libraries/tracker-core/src/event_store_payload.ts create mode 100644 libraries/tracker-core/src/schemata.ts create mode 100644 libraries/tracker-core/test/emitter/emitter_event.test.ts create mode 100644 libraries/tracker-core/test/emitter/emitter_request.test.ts create mode 100644 libraries/tracker-core/test/emitter/index.test.ts create mode 100644 libraries/tracker-core/test/event_store.test.ts delete mode 100644 trackers/node-tracker/src/emitter.ts delete mode 100644 trackers/node-tracker/src/got_emitter.ts delete mode 100644 trackers/node-tracker/test/emitter.ts delete mode 100644 trackers/node-tracker/test/got_emitter.ts diff --git a/.bundlemonrc.json b/.bundlemonrc.json index 00805baa2..4dfd4d327 100644 --- a/.bundlemonrc.json +++ b/.bundlemonrc.json @@ -7,27 +7,27 @@ }, { "path": "./trackers/browser-tracker/dist/index.umd.min.js", - "maxSize": "16kb", + "maxSize": "20kb", "maxPercentIncrease": 10 }, { "path": "./trackers/javascript-tracker/dist/sp.js", - "maxSize": "26kb", + "maxSize": "30kb", "maxPercentIncrease": 10 }, { "path": "./trackers/javascript-tracker/dist/sp.lite.js", - "maxSize": "16kb", + "maxSize": "20kb", "maxPercentIncrease": 10 }, { "path": "./libraries/browser-tracker-core/dist/index.module.js", - "maxSize": "28kb", + "maxSize": "25kb", "maxPercentIncrease": 10 }, { "path": "./libraries/tracker-core/dist/index.module.js", - "maxSize": "15kb", + "maxSize": "20kb", "maxPercentIncrease": 10 } ], diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index 0aa06992e..6f4c850d9 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -40,15 +40,11 @@ export type AnonymousTrackingOptions = boolean | { withServerAnonymisation?: boolean; }; -// Warning: (ae-forgotten-export) The symbol "CorePlugin" needs to be exported by the entry point index.module.d.ts -// // @public export interface BrowserPlugin extends CorePlugin { activateBrowserPlugin?: (tracker: BrowserTracker) => void; } -// Warning: (ae-forgotten-export) The symbol "CorePluginConfiguration" needs to be exported by the entry point index.module.d.ts -// // @public export interface BrowserPluginConfiguration extends CorePluginConfiguration { /* The plugin to add */ @@ -60,7 +56,6 @@ export interface BrowserPluginConfiguration extends CorePluginConfiguration { export interface BrowserTracker { addPlugin: (configuration: BrowserPluginConfiguration) => void; clearUserData: (configuration?: ClearUserDataConfiguration) => void; - // Warning: (ae-forgotten-export) The symbol "TrackerCore" needs to be exported by the entry point index.module.d.ts core: TrackerCore; crossDomainLinker: (crossDomainLinkerCriterion: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean) => void; disableActivityTracking: () => void; @@ -96,7 +91,6 @@ export interface BrowserTracker { setUserIdFromLocation: (querystringField: string) => void; setUserIdFromReferrer: (querystringField: string) => void; setVisitorCookieTimeout: (timeout: number) => void; - // Warning: (ae-forgotten-export) The symbol "SharedState" needs to be exported by the entry point index.module.d.ts sharedState: SharedState; trackPageView: (event?: PageViewEvent & CommonEventProperties) => void; updatePageActivity: () => void; @@ -145,7 +139,6 @@ export interface ClientSession extends Record { // @public export interface CommonEventProperties> { context?: Array> | null; - // Warning: (ae-forgotten-export) The symbol "Timestamp" needs to be exported by the entry point index.module.d.ts timestamp?: Timestamp | null; } @@ -154,7 +147,6 @@ export type ConditionalContextProvider = FilterProvider | RuleSetProvider; // @public export interface ContextEvent { - // Warning: (ae-forgotten-export) The symbol "Payload" needs to be exported by the entry point index.module.d.ts event: Payload; eventSchema: string; eventType: string; @@ -172,9 +164,34 @@ export type ContextPrimitive = SelfDescribingJson | ContextGenerator; // @public (undocumented) export type CookieSameSite = "None" | "Lax" | "Strict"; +// @public +export interface CorePlugin { + activateCorePlugin?: (core: TrackerCore) => void; + afterTrack?: (payload: Payload) => void; + beforeTrack?: (payloadBuilder: PayloadBuilder) => void; + contexts?: () => SelfDescribingJson[]; + filter?: (payload: Payload) => boolean; + logger?: (logger: Logger) => void; +} + +// @public +export interface CorePluginConfiguration { + /* The plugin to add */ + // (undocumented) + plugin: CorePlugin; +} + // @public export function crossDomainLinker(crossDomainLinkerCriterion: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean, trackers?: Array): void; +// @public +export interface DeviceTimestamp { + // (undocumented) + readonly type: "dtm"; + // (undocumented) + readonly value: number; +} + // @public export function disableActivityTracking(trackers?: Array): void; @@ -197,6 +214,28 @@ export function discardBrace(enable: boolean, trackers?: Array): void; // @public export function discardHashTag(enable: boolean, trackers?: Array): void; +// @public (undocumented) +export interface EmitterConfigurationBase { + bufferSize?: number; + connectionTimeout?: number; + credentials?: "omit" | "same-origin" | "include"; + customFetch?: (input: Request, options?: RequestInit) => Promise; + customHeaders?: Record; + dontRetryStatusCodes?: number[]; + eventMethod?: EventMethod; + eventStore?: EventStore; + idService?: string; + keepalive?: boolean; + maxGetBytes?: number; + maxPostBytes?: number; + onRequestFailure?: (data: RequestFailure, response?: Response) => void; + onRequestSuccess?: (data: EventBatch, response: Response) => void; + postPath?: string; + retryFailedRequests?: boolean; + retryStatusCodes?: number[]; + useStm?: boolean; +} + // @public export function enableActivityTracking(configuration: ActivityTrackingConfiguration, trackers?: Array): void; @@ -217,18 +256,51 @@ export interface EnableAnonymousTrackingConfiguration { } // @public -export type EventBatch = GetBatch | PostBatch; +export type EventBatch = Payload[]; + +// Warning: (ae-forgotten-export) The symbol "EventJsonWithKeys" needs to be exported by the entry point index.module.d.ts +// +// @public +export type EventJson = Array; // @public (undocumented) -export type EventMethod = "post" | "get" | "beacon"; +export type EventMethod = "post" | "get"; // @public export interface EventPayloadAndContext { context: Array; - // Warning: (ae-forgotten-export) The symbol "PayloadBuilder" needs to be exported by the entry point index.module.d.ts event: PayloadBuilder; } +// @public +export interface EventStore { + add: (payload: EventStorePayload) => Promise; + count: () => Promise; + getAll: () => Promise; + getAllPayloads: () => Promise; + iterator: () => EventStoreIterator; + removeHead: (count: number) => Promise; +} + +// @public (undocumented) +export interface EventStoreConfiguration { + maxSize?: number; +} + +// @public (undocumented) +export interface EventStoreIterator { + next: () => Promise<{ + value: EventStorePayload | undefined; + done: boolean; + }>; +} + +// @public (undocumented) +export interface EventStorePayload { + payload: Payload; + svrAnon?: boolean; +} + // @public (undocumented) export type ExtendedCrossDomainLinkerAttributes = { userId?: boolean; @@ -258,7 +330,29 @@ export interface FlushBufferConfiguration { } // @public -export type GetBatch = string[]; +export type JsonProcessor = (payloadBuilder: PayloadBuilder, jsonForProcessing: EventJson, contextEntitiesForProcessing: SelfDescribingJson[]) => void; + +// @public (undocumented) +export interface LocalStorageEventStoreConfigurationBase extends EventStoreConfiguration { + maxLocalStorageQueueSize?: number; + useLocalStorage?: boolean; +} + +// @public (undocumented) +export interface Logger { + // (undocumented) + debug: (message: string, ...extraParams: unknown[]) => void; + // (undocumented) + error: (message: string, error?: unknown, ...extraParams: unknown[]) => void; + // (undocumented) + info: (message: string, ...extraParams: unknown[]) => void; + // Warning: (ae-forgotten-export) The symbol "LOG_LEVEL" needs to be exported by the entry point index.module.d.ts + // + // (undocumented) + setLogLevel: (level: LOG_LEVEL) => void; + // (undocumented) + warn: (message: string, error?: unknown, ...extraParams: unknown[]) => void; +} // @public export function newSession(trackers?: Array): void; @@ -287,11 +381,23 @@ firstEventTs: number | undefined, eventIndex: number ]; -// @public (undocumented) -export type Platform = "web" | "mob" | "pc" | "srv" | "app" | "tv" | "cnsl" | "iot"; +// @public +export type Payload = Record; // @public -export type PostBatch = Record[]; +export interface PayloadBuilder { + add: (key: string, value: unknown) => void; + addContextEntity: (entity: SelfDescribingJson) => void; + addDict: (dict: Payload) => void; + addJson: (keyIfEncoded: string, keyIfNotEncoded: string, json: Record) => void; + build: () => Payload; + getJson: () => EventJson; + getPayload: () => Payload; + withJsonProcessor: (jsonProcessor: JsonProcessor) => void; +} + +// @public (undocumented) +export type Platform = "web" | "mob" | "pc" | "srv" | "app" | "tv" | "cnsl" | "iot"; // @public export function preservePageViewId(trackers?: Array): void; @@ -371,6 +477,24 @@ export function setUserIdFromReferrer(querystringField: string, trackers?: Array // @public export function setVisitorCookieTimeout(timeout: number, trackers?: Array): void; +// @public +export class SharedState { + // (undocumented) + bufferFlushers: Array<(sync: boolean) => void>; + /* DOM Ready */ + // (undocumented) + hasLoaded: boolean; + /* DOM Ready */ + // (undocumented) + pageViewId?: string; + /* DOM Ready */ + // (undocumented) + pageViewUrl?: string; + /* DOM Ready */ + // (undocumented) + registeredOnLoadHandlers: Array<() => void>; +} + // @public (undocumented) export type StateStorageStrategy = "cookieAndLocalStorage" | "cookie" | "localStorage" | "none"; @@ -388,6 +512,9 @@ export interface StructuredEvent { value?: number; } +// @public +export type Timestamp = TrueTimestamp | DeviceTimestamp | number; + // @public export type TrackerConfiguration = { encodeBase64?: boolean; @@ -396,37 +523,47 @@ export type TrackerConfiguration = { cookieSameSite?: CookieSameSite; cookieSecure?: boolean; cookieLifetime?: number; - withCredentials?: boolean; sessionCookieTimeout?: number; appId?: string; platform?: Platform; respectDoNotTrack?: boolean; - eventMethod?: EventMethod; - postPath?: string; - useStm?: boolean; - bufferSize?: number; crossDomainLinker?: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean; useExtendedCrossDomainLinker?: ExtendedCrossDomainLinkerOptions; - maxPostBytes?: number; - maxGetBytes?: number; discoverRootDomain?: boolean; stateStorageStrategy?: StateStorageStrategy; - maxLocalStorageQueueSize?: number; resetActivityTrackingOnPageView?: boolean; - connectionTimeout?: number; anonymousTracking?: AnonymousTrackingOptions; contexts?: BuiltInContexts; plugins?: Array; - customHeaders?: Record; - retryStatusCodes?: number[]; - dontRetryStatusCodes?: number[]; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; - idService?: string; - retryFailedRequests?: boolean; - onRequestSuccess?: (data: EventBatch) => void; - onRequestFailure?: (data: RequestFailure) => void; preservePageViewIdForUrl?: PreservePageViewIdForUrl; -}; +} & EmitterConfigurationBase & LocalStorageEventStoreConfigurationBase; + +// @public +export interface TrackerCore { + addGlobalContexts(contexts: Array | Record): void; + addPayloadDict(dict: Payload): void; + addPayloadPair: (key: string, value: unknown) => void; + addPlugin(configuration: CorePluginConfiguration): void; + clearGlobalContexts(): void; + getBase64Encoding(): boolean; + removeGlobalContexts(contexts: Array): void; + resetPayloadPairs(dict: Payload): void; + setAppId(appId: string): void; + setBase64Encoding(encode: boolean): void; + setColorDepth(depth: string): void; + setIpAddress(ip: string): void; + setLang(lang: string): void; + setPlatform(value: string): void; + setScreenResolution(width: string, height: string): void; + setTimezone(timezone: string): void; + setTrackerNamespace(name: string): void; + setTrackerVersion(version: string): void; + setUseragent(useragent: string): void; + setUserId(userId: string): void; + setViewport(width: string, height: string): void; + track: (pb: PayloadBuilder, context?: Array | null, timestamp?: Timestamp | null) => Payload | undefined; +} // @public export function trackPageView(event?: PageViewEvent & CommonEventProperties, trackers?: Array): void; @@ -437,6 +574,14 @@ export function trackSelfDescribingEvent(event: SelfDescribingEvent & CommonEven // @public export function trackStructEvent(event: StructuredEvent & CommonEventProperties, trackers?: Array): void; +// @public +export interface TrueTimestamp { + // (undocumented) + readonly type: "ttm"; + // (undocumented) + readonly value: number; +} + // @public export function updatePageActivity(trackers?: Array): void; diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.addglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.addglobalcontexts.md index 5b77e0513..d77b7c3ae 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.addglobalcontexts.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.addglobalcontexts.md @@ -9,14 +9,14 @@ All provided contexts will be sent with every event Signature: ```typescript -declare function addGlobalContexts(contexts: Array, trackers?: Array): void; +declare function addGlobalContexts(contexts: Array | Record, trackers?: Array): void; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | -| contexts | Array<ConditionalContextProvider \| ContextPrimitive> | An array of contexts or conditional contexts | +| contexts | Array<ConditionalContextProvider \| ContextPrimitive> \| Record<string, ConditionalContextProvider \| ContextPrimitive> | An array of contexts or conditional contexts | | trackers | Array<string> | The tracker identifiers which the global contexts will be added to | Returns: diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.activatecoreplugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.activatecoreplugin.md new file mode 100644 index 000000000..2cc3b446e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.activatecoreplugin.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePlugin](./browser-tracker.coreplugin.md) > [activateCorePlugin](./browser-tracker.coreplugin.activatecoreplugin.md) + +## CorePlugin.activateCorePlugin property + +Called when the plugin is initialised during the trackerCore construction + +Signature: + +```typescript +activateCorePlugin?: (core: TrackerCore) => void; +``` + +## Remarks + +Use to capture the specific core instance for each instance of a core plugin + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.aftertrack.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.aftertrack.md new file mode 100644 index 000000000..bfd62b673 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.aftertrack.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePlugin](./browser-tracker.coreplugin.md) > [afterTrack](./browser-tracker.coreplugin.aftertrack.md) + +## CorePlugin.afterTrack property + +Called just after the trackerCore callback fires + +Signature: + +```typescript +afterTrack?: (payload: Payload) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.beforetrack.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.beforetrack.md new file mode 100644 index 000000000..6e30d3045 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.beforetrack.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePlugin](./browser-tracker.coreplugin.md) > [beforeTrack](./browser-tracker.coreplugin.beforetrack.md) + +## CorePlugin.beforeTrack property + +Called before the `filter` method is called and before the trackerCore callback fires (if the filter passes) + +Signature: + +```typescript +beforeTrack?: (payloadBuilder: PayloadBuilder) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.contexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.contexts.md new file mode 100644 index 000000000..d89bf1f7f --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.contexts.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePlugin](./browser-tracker.coreplugin.md) > [contexts](./browser-tracker.coreplugin.contexts.md) + +## CorePlugin.contexts property + +Called when constructing the context for each event Useful for adding additional context to events + +Signature: + +```typescript +contexts?: () => SelfDescribingJson[]; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.filter.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.filter.md new file mode 100644 index 000000000..08c5dd447 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.filter.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePlugin](./browser-tracker.coreplugin.md) > [filter](./browser-tracker.coreplugin.filter.md) + +## CorePlugin.filter property + +Called before the payload is sent to the callback to decide whether to send the payload or skip it + +Signature: + +```typescript +filter?: (payload: Payload) => boolean; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.logger.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.logger.md new file mode 100644 index 000000000..59ae6ae6e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.logger.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePlugin](./browser-tracker.coreplugin.md) > [logger](./browser-tracker.coreplugin.logger.md) + +## CorePlugin.logger property + +Passed a logger instance which can be used to send log information to the active logger + +Signature: + +```typescript +logger?: (logger: Logger) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.md new file mode 100644 index 000000000..55875f4c0 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.coreplugin.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePlugin](./browser-tracker.coreplugin.md) + +## CorePlugin interface + +Interface which defines Core Plugins + +Signature: + +```typescript +interface CorePlugin +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [activateCorePlugin?](./browser-tracker.coreplugin.activatecoreplugin.md) | (core: TrackerCore) => void | (Optional) Called when the plugin is initialised during the trackerCore construction | +| [afterTrack?](./browser-tracker.coreplugin.aftertrack.md) | (payload: Payload) => void | (Optional) Called just after the trackerCore callback fires | +| [beforeTrack?](./browser-tracker.coreplugin.beforetrack.md) | (payloadBuilder: PayloadBuilder) => void | (Optional) Called before the filter method is called and before the trackerCore callback fires (if the filter passes) | +| [contexts?](./browser-tracker.coreplugin.contexts.md) | () => SelfDescribingJson\[\] | (Optional) Called when constructing the context for each event Useful for adding additional context to events | +| [filter?](./browser-tracker.coreplugin.filter.md) | (payload: Payload) => boolean | (Optional) Called before the payload is sent to the callback to decide whether to send the payload or skip it | +| [logger?](./browser-tracker.coreplugin.logger.md) | (logger: Logger) => void | (Optional) Passed a logger instance which can be used to send log information to the active logger | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.md new file mode 100644 index 000000000..223654314 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePluginConfiguration](./browser-tracker.corepluginconfiguration.md) + +## CorePluginConfiguration interface + +The configuration of the plugin to add + +Signature: + +```typescript +interface CorePluginConfiguration +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [plugin](./browser-tracker.corepluginconfiguration.plugin.md) | CorePlugin | | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.plugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.plugin.md new file mode 100644 index 000000000..7131d2310 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.corepluginconfiguration.plugin.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [CorePluginConfiguration](./browser-tracker.corepluginconfiguration.md) > [plugin](./browser-tracker.corepluginconfiguration.plugin.md) + +## CorePluginConfiguration.plugin property + +Signature: + +```typescript +plugin: CorePlugin; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.md new file mode 100644 index 000000000..bd0fad3b4 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [DeviceTimestamp](./browser-tracker.devicetimestamp.md) + +## DeviceTimestamp interface + +A representation of a Device Timestamp (dtm) + +Signature: + +```typescript +interface DeviceTimestamp +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [type](./browser-tracker.devicetimestamp.type.md) | "dtm" | | +| [value](./browser-tracker.devicetimestamp.value.md) | number | | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.type.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.type.md new file mode 100644 index 000000000..59f6089c2 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [DeviceTimestamp](./browser-tracker.devicetimestamp.md) > [type](./browser-tracker.devicetimestamp.type.md) + +## DeviceTimestamp.type property + +Signature: + +```typescript +readonly type: "dtm"; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.value.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.value.md new file mode 100644 index 000000000..f0829f0dc --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.devicetimestamp.value.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [DeviceTimestamp](./browser-tracker.devicetimestamp.md) > [value](./browser-tracker.devicetimestamp.value.md) + +## DeviceTimestamp.value property + +Signature: + +```typescript +readonly value: number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.buffersize.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.buffersize.md new file mode 100644 index 000000000..c094e7a7e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.buffersize.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [bufferSize](./browser-tracker.emitterconfigurationbase.buffersize.md) + +## EmitterConfigurationBase.bufferSize property + +The amount of events that should be buffered before sending Recommended to leave as 1 to reduce change of losing events + +Signature: + +```typescript +bufferSize?: number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.connectiontimeout.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.connectiontimeout.md new file mode 100644 index 000000000..d13a613d5 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.connectiontimeout.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [connectionTimeout](./browser-tracker.emitterconfigurationbase.connectiontimeout.md) + +## EmitterConfigurationBase.connectionTimeout property + +How long to wait before aborting requests to the collector + +Signature: + +```typescript +connectionTimeout?: number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.credentials.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.credentials.md new file mode 100644 index 000000000..683b3a9cc --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.credentials.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [credentials](./browser-tracker.emitterconfigurationbase.credentials.md) + +## EmitterConfigurationBase.credentials property + +Controls whether or not the browser sends credentials (defaults to 'include') + +Signature: + +```typescript +credentials?: "omit" | "same-origin" | "include"; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customfetch.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customfetch.md new file mode 100644 index 000000000..4c4b6748c --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customfetch.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [customFetch](./browser-tracker.emitterconfigurationbase.customfetch.md) + +## EmitterConfigurationBase.customFetch property + +Enables overriding the default fetch function with a custom implementation. + +Signature: + +```typescript +customFetch?: (input: Request, options?: RequestInit) => Promise; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customheaders.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customheaders.md new file mode 100644 index 000000000..0c10efa4b --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.customheaders.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [customHeaders](./browser-tracker.emitterconfigurationbase.customheaders.md) + +## EmitterConfigurationBase.customHeaders property + +An object of key value pairs which represent headers to attach when sending a POST request, only works for POST + +Signature: + +```typescript +customHeaders?: Record; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.dontretrystatuscodes.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.dontretrystatuscodes.md new file mode 100644 index 000000000..c98d09680 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.dontretrystatuscodes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [dontRetryStatusCodes](./browser-tracker.emitterconfigurationbase.dontretrystatuscodes.md) + +## EmitterConfigurationBase.dontRetryStatusCodes property + +List of HTTP response status codes for which events sent to Collector should not be retried in future request. Only non-success status codes are considered (greater or equal to 300). The don't retry codes are only considered for GET and POST requests. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422 (these don't retry codes will remain even if you set your own `dontRetryStatusCodes` but can be changed using the `retryStatusCodes`). + +Signature: + +```typescript +dontRetryStatusCodes?: number[]; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventmethod.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventmethod.md new file mode 100644 index 000000000..eea7ad823 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventmethod.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [eventMethod](./browser-tracker.emitterconfigurationbase.eventmethod.md) + +## EmitterConfigurationBase.eventMethod property + +The preferred technique to use to send events + +Signature: + +```typescript +eventMethod?: EventMethod; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventstore.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventstore.md new file mode 100644 index 000000000..0ac1f659e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.eventstore.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [eventStore](./browser-tracker.emitterconfigurationbase.eventstore.md) + +## EmitterConfigurationBase.eventStore property + +Enables providing a custom EventStore implementation to store events before sending them to the collector. + +Signature: + +```typescript +eventStore?: EventStore; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.idservice.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.idservice.md new file mode 100644 index 000000000..d0cb68a4f --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.idservice.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [idService](./browser-tracker.emitterconfigurationbase.idservice.md) + +## EmitterConfigurationBase.idService property + +Id service full URL. This URL will be added to the queue and will be called using a GET method. This option is there to allow the service URL to be called in order to set any required identifiers e.g. extra cookies. + +The request respects the `anonymousTracking` option, including the SP-Anonymous header if needed, and any additional custom headers from the customHeaders option. + +Signature: + +```typescript +idService?: string; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.keepalive.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.keepalive.md new file mode 100644 index 000000000..faf4e5faf --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.keepalive.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [keepalive](./browser-tracker.emitterconfigurationbase.keepalive.md) + +## EmitterConfigurationBase.keepalive property + +Indicates that the request should be allowed to outlive the webpage that initiated it. Enables collector requests to complete even if the page is closed or navigated away from. + +Signature: + +```typescript +keepalive?: boolean; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxgetbytes.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxgetbytes.md new file mode 100644 index 000000000..6d24229e2 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxgetbytes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [maxGetBytes](./browser-tracker.emitterconfigurationbase.maxgetbytes.md) + +## EmitterConfigurationBase.maxGetBytes property + +The max size a GET request (its complete URL) can be. Requests over this size will be tried as a POST request. + +Signature: + +```typescript +maxGetBytes?: number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxpostbytes.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxpostbytes.md new file mode 100644 index 000000000..d9f935784 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.maxpostbytes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [maxPostBytes](./browser-tracker.emitterconfigurationbase.maxpostbytes.md) + +## EmitterConfigurationBase.maxPostBytes property + +The max size a POST request can be before the tracker will force send it + +Signature: + +```typescript +maxPostBytes?: number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.md new file mode 100644 index 000000000..c223c8da3 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.md @@ -0,0 +1,35 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) + +## EmitterConfigurationBase interface + +Signature: + +```typescript +interface EmitterConfigurationBase +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [bufferSize?](./browser-tracker.emitterconfigurationbase.buffersize.md) | number | (Optional) The amount of events that should be buffered before sending Recommended to leave as 1 to reduce change of losing events | +| [connectionTimeout?](./browser-tracker.emitterconfigurationbase.connectiontimeout.md) | number | (Optional) How long to wait before aborting requests to the collector | +| [credentials?](./browser-tracker.emitterconfigurationbase.credentials.md) | "omit" \| "same-origin" \| "include" | (Optional) Controls whether or not the browser sends credentials (defaults to 'include') | +| [customFetch?](./browser-tracker.emitterconfigurationbase.customfetch.md) | (input: Request, options?: RequestInit) => Promise<Response> | (Optional) Enables overriding the default fetch function with a custom implementation. | +| [customHeaders?](./browser-tracker.emitterconfigurationbase.customheaders.md) | Record<string, string> | (Optional) An object of key value pairs which represent headers to attach when sending a POST request, only works for POST | +| [dontRetryStatusCodes?](./browser-tracker.emitterconfigurationbase.dontretrystatuscodes.md) | number\[\] | (Optional) List of HTTP response status codes for which events sent to Collector should not be retried in future request. Only non-success status codes are considered (greater or equal to 300). The don't retry codes are only considered for GET and POST requests. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422 (these don't retry codes will remain even if you set your own dontRetryStatusCodes but can be changed using the retryStatusCodes). | +| [eventMethod?](./browser-tracker.emitterconfigurationbase.eventmethod.md) | EventMethod | (Optional) The preferred technique to use to send events | +| [eventStore?](./browser-tracker.emitterconfigurationbase.eventstore.md) | EventStore | (Optional) Enables providing a custom EventStore implementation to store events before sending them to the collector. | +| [idService?](./browser-tracker.emitterconfigurationbase.idservice.md) | string | (Optional) Id service full URL. This URL will be added to the queue and will be called using a GET method. This option is there to allow the service URL to be called in order to set any required identifiers e.g. extra cookies.The request respects the anonymousTracking option, including the SP-Anonymous header if needed, and any additional custom headers from the customHeaders option. | +| [keepalive?](./browser-tracker.emitterconfigurationbase.keepalive.md) | boolean | (Optional) Indicates that the request should be allowed to outlive the webpage that initiated it. Enables collector requests to complete even if the page is closed or navigated away from. | +| [maxGetBytes?](./browser-tracker.emitterconfigurationbase.maxgetbytes.md) | number | (Optional) The max size a GET request (its complete URL) can be. Requests over this size will be tried as a POST request. | +| [maxPostBytes?](./browser-tracker.emitterconfigurationbase.maxpostbytes.md) | number | (Optional) The max size a POST request can be before the tracker will force send it | +| [onRequestFailure?](./browser-tracker.emitterconfigurationbase.onrequestfailure.md) | (data: RequestFailure, response?: Response) => void | (Optional) A callback function to be executed whenever a request fails to be sent to the collector. This is the inverse of the onRequestSuccess callback, so any non 2xx status code will trigger this callback. | +| [onRequestSuccess?](./browser-tracker.emitterconfigurationbase.onrequestsuccess.md) | (data: EventBatch, response: Response) => void | (Optional) A callback function to be executed whenever a request is successfully sent to the collector. In practice this means any request which returns a 2xx status code will trigger this callback. | +| [postPath?](./browser-tracker.emitterconfigurationbase.postpath.md) | string | (Optional) The post path which events will be sent to. Ensure your collector is configured to accept events on this post path | +| [retryFailedRequests?](./browser-tracker.emitterconfigurationbase.retryfailedrequests.md) | boolean | (Optional) Whether to retry failed requests to the collector.Failed requests are requests that failed due to \[timeouts\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout\_event), \[network errors\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error\_event), and \[abort events\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort\_event).Takes precedent over retryStatusCodes and dontRetryStatusCodes. | +| [retryStatusCodes?](./browser-tracker.emitterconfigurationbase.retrystatuscodes.md) | number\[\] | (Optional) List of HTTP response status codes for which events sent to Collector should be retried in future requests. Only non-success status codes are considered (greater or equal to 300). The retry codes are only considered for GET and POST requests. They take priority over the dontRetryStatusCodes option. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422. | +| [useStm?](./browser-tracker.emitterconfigurationbase.usestm.md) | boolean | (Optional) Should the Sent Timestamp be attached to events. Only applies for GET events. | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestfailure.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestfailure.md new file mode 100644 index 000000000..38b53f7d9 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestfailure.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [onRequestFailure](./browser-tracker.emitterconfigurationbase.onrequestfailure.md) + +## EmitterConfigurationBase.onRequestFailure property + +A callback function to be executed whenever a request fails to be sent to the collector. This is the inverse of the onRequestSuccess callback, so any non 2xx status code will trigger this callback. + +Signature: + +```typescript +onRequestFailure?: (data: RequestFailure, response?: Response) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestsuccess.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestsuccess.md new file mode 100644 index 000000000..640824819 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.onrequestsuccess.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [onRequestSuccess](./browser-tracker.emitterconfigurationbase.onrequestsuccess.md) + +## EmitterConfigurationBase.onRequestSuccess property + +A callback function to be executed whenever a request is successfully sent to the collector. In practice this means any request which returns a 2xx status code will trigger this callback. + +Signature: + +```typescript +onRequestSuccess?: (data: EventBatch, response: Response) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.postpath.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.postpath.md new file mode 100644 index 000000000..aae87c281 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.postpath.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [postPath](./browser-tracker.emitterconfigurationbase.postpath.md) + +## EmitterConfigurationBase.postPath property + +The post path which events will be sent to. Ensure your collector is configured to accept events on this post path + +Signature: + +```typescript +postPath?: string; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retryfailedrequests.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retryfailedrequests.md new file mode 100644 index 000000000..196a6e7bc --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retryfailedrequests.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [retryFailedRequests](./browser-tracker.emitterconfigurationbase.retryfailedrequests.md) + +## EmitterConfigurationBase.retryFailedRequests property + +Whether to retry failed requests to the collector. + +Failed requests are requests that failed due to \[timeouts\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout\_event), \[network errors\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error\_event), and \[abort events\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort\_event). + +Takes precedent over `retryStatusCodes` and `dontRetryStatusCodes`. + +Signature: + +```typescript +retryFailedRequests?: boolean; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retrystatuscodes.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retrystatuscodes.md new file mode 100644 index 000000000..bd65300bc --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.retrystatuscodes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [retryStatusCodes](./browser-tracker.emitterconfigurationbase.retrystatuscodes.md) + +## EmitterConfigurationBase.retryStatusCodes property + +List of HTTP response status codes for which events sent to Collector should be retried in future requests. Only non-success status codes are considered (greater or equal to 300). The retry codes are only considered for GET and POST requests. They take priority over the `dontRetryStatusCodes` option. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422. + +Signature: + +```typescript +retryStatusCodes?: number[]; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.usestm.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.usestm.md new file mode 100644 index 000000000..a678f8ec3 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.emitterconfigurationbase.usestm.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) > [useStm](./browser-tracker.emitterconfigurationbase.usestm.md) + +## EmitterConfigurationBase.useStm property + +Should the Sent Timestamp be attached to events. Only applies for GET events. + +Signature: + +```typescript +useStm?: boolean; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md index 3c68f3a47..e5b3b7460 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventbatch.md @@ -4,10 +4,10 @@ ## EventBatch type -A collection of events which are sent to the collector. This can either be a collection of query strings or JSON objects. +A collection of event payloads which are sent to the collector. Signature: ```typescript -type EventBatch = GetBatch | PostBatch; +type EventBatch = Payload[]; ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventjson.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventjson.md new file mode 100644 index 000000000..9984fb028 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventjson.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventJson](./browser-tracker.eventjson.md) + +## EventJson type + +An array of tuples which represents the unprocessed JSON to be added to the Payload + +Signature: + +```typescript +type EventJson = Array; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventmethod.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventmethod.md index 94dfa18d1..283adbbeb 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventmethod.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventmethod.md @@ -7,5 +7,5 @@ Signature: ```typescript -type EventMethod = "post" | "get" | "beacon"; +type EventMethod = "post" | "get"; ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.add.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.add.md new file mode 100644 index 000000000..1e770e91a --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.add.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStore](./browser-tracker.eventstore.md) > [add](./browser-tracker.eventstore.add.md) + +## EventStore.add property + +Add an event to the store + +Signature: + +```typescript +add: (payload: EventStorePayload) => Promise; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.count.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.count.md new file mode 100644 index 000000000..b1c073d49 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.count.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStore](./browser-tracker.eventstore.md) > [count](./browser-tracker.eventstore.count.md) + +## EventStore.count property + +Count all events in the store + +Signature: + +```typescript +count: () => Promise; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getall.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getall.md new file mode 100644 index 000000000..295e07ced --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getall.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStore](./browser-tracker.eventstore.md) > [getAll](./browser-tracker.eventstore.getall.md) + +## EventStore.getAll property + +Retrieve all payloads including their meta configuration in the store + +Signature: + +```typescript +getAll: () => Promise; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getallpayloads.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getallpayloads.md new file mode 100644 index 000000000..42d0c186e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.getallpayloads.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStore](./browser-tracker.eventstore.md) > [getAllPayloads](./browser-tracker.eventstore.getallpayloads.md) + +## EventStore.getAllPayloads property + +Retrieve all pure payloads in the store + +Signature: + +```typescript +getAllPayloads: () => Promise; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.iterator.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.iterator.md new file mode 100644 index 000000000..70bb55e0d --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.iterator.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStore](./browser-tracker.eventstore.md) > [iterator](./browser-tracker.eventstore.iterator.md) + +## EventStore.iterator property + +Get an iterator over all events in the store + +Signature: + +```typescript +iterator: () => EventStoreIterator; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.md new file mode 100644 index 000000000..cbf5c602e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStore](./browser-tracker.eventstore.md) + +## EventStore interface + +EventStore allows storing and retrieving events before they are sent to the collector + +Signature: + +```typescript +interface EventStore +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [add](./browser-tracker.eventstore.add.md) | (payload: EventStorePayload) => Promise<number> | Add an event to the store | +| [count](./browser-tracker.eventstore.count.md) | () => Promise<number> | Count all events in the store | +| [getAll](./browser-tracker.eventstore.getall.md) | () => Promise<readonly EventStorePayload\[\]> | Retrieve all payloads including their meta configuration in the store | +| [getAllPayloads](./browser-tracker.eventstore.getallpayloads.md) | () => Promise<readonly Payload\[\]> | Retrieve all pure payloads in the store | +| [iterator](./browser-tracker.eventstore.iterator.md) | () => EventStoreIterator | Get an iterator over all events in the store | +| [removeHead](./browser-tracker.eventstore.removehead.md) | (count: number) => Promise<void> | Remove the first count events from the store | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.removehead.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.removehead.md new file mode 100644 index 000000000..082aa93a2 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstore.removehead.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStore](./browser-tracker.eventstore.md) > [removeHead](./browser-tracker.eventstore.removehead.md) + +## EventStore.removeHead property + +Remove the first `count` events from the store + +Signature: + +```typescript +removeHead: (count: number) => Promise; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.maxsize.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.maxsize.md new file mode 100644 index 000000000..212e3d54f --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.maxsize.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStoreConfiguration](./browser-tracker.eventstoreconfiguration.md) > [maxSize](./browser-tracker.eventstoreconfiguration.maxsize.md) + +## EventStoreConfiguration.maxSize property + +The maximum amount of events that will be buffered in the event store + +This is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to each website should the collector be unavailable due to lost connectivity. Will drop old events once the limit is hit + +Signature: + +```typescript +maxSize?: number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.md new file mode 100644 index 000000000..3993ed5e1 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreconfiguration.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStoreConfiguration](./browser-tracker.eventstoreconfiguration.md) + +## EventStoreConfiguration interface + +Signature: + +```typescript +interface EventStoreConfiguration +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [maxSize?](./browser-tracker.eventstoreconfiguration.maxsize.md) | number | (Optional) The maximum amount of events that will be buffered in the event storeThis is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to each website should the collector be unavailable due to lost connectivity. Will drop old events once the limit is hit | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.md new file mode 100644 index 000000000..f234a8cda --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStoreIterator](./browser-tracker.eventstoreiterator.md) + +## EventStoreIterator interface + +Signature: + +```typescript +interface EventStoreIterator +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [next](./browser-tracker.eventstoreiterator.next.md) | () => Promise<{ value: EventStorePayload \| undefined; done: boolean; }> | Retrieve the next event in the store | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.next.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.next.md new file mode 100644 index 000000000..31d93ab25 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstoreiterator.next.md @@ -0,0 +1,16 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStoreIterator](./browser-tracker.eventstoreiterator.md) > [next](./browser-tracker.eventstoreiterator.next.md) + +## EventStoreIterator.next property + +Retrieve the next event in the store + +Signature: + +```typescript +next: () => Promise<{ + value: EventStorePayload | undefined; + done: boolean; + }>; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.md new file mode 100644 index 000000000..09cad3307 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStorePayload](./browser-tracker.eventstorepayload.md) + +## EventStorePayload interface + +Signature: + +```typescript +interface EventStorePayload +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [payload](./browser-tracker.eventstorepayload.payload.md) | Payload | The event payload to be stored | +| [svrAnon?](./browser-tracker.eventstorepayload.svranon.md) | boolean | (Optional) If the request should undergo server anonymization. | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.payload.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.payload.md new file mode 100644 index 000000000..837ff1e5d --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.payload.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStorePayload](./browser-tracker.eventstorepayload.md) > [payload](./browser-tracker.eventstorepayload.payload.md) + +## EventStorePayload.payload property + +The event payload to be stored + +Signature: + +```typescript +payload: Payload; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.svranon.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.svranon.md new file mode 100644 index 000000000..d1a6c44ce --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.eventstorepayload.svranon.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [EventStorePayload](./browser-tracker.eventstorepayload.md) > [svrAnon](./browser-tracker.eventstorepayload.svranon.md) + +## EventStorePayload.svrAnon property + +If the request should undergo server anonymization. + +Signature: + +```typescript +svrAnon?: boolean; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md deleted file mode 100644 index 6af01ced0..000000000 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.getbatch.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [GetBatch](./browser-tracker.getbatch.md) - -## GetBatch type - -A collection of GET events which are sent to the collector. This will be a collection of query strings. - -Signature: - -```typescript -type GetBatch = string[]; -``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.jsonprocessor.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.jsonprocessor.md new file mode 100644 index 000000000..26e8bf8e0 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.jsonprocessor.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [JsonProcessor](./browser-tracker.jsonprocessor.md) + +## JsonProcessor type + +A function which will processor the Json onto the injected PayloadBuilder + +Signature: + +```typescript +type JsonProcessor = (payloadBuilder: PayloadBuilder, jsonForProcessing: EventJson, contextEntitiesForProcessing: SelfDescribingJson[]) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.maxlocalstoragequeuesize.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.maxlocalstoragequeuesize.md new file mode 100644 index 000000000..0ef04bc99 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.maxlocalstoragequeuesize.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [LocalStorageEventStoreConfigurationBase](./browser-tracker.localstorageeventstoreconfigurationbase.md) > [maxLocalStorageQueueSize](./browser-tracker.localstorageeventstoreconfigurationbase.maxlocalstoragequeuesize.md) + +## LocalStorageEventStoreConfigurationBase.maxLocalStorageQueueSize property + +The maximum amount of events that will be buffered in local storage + +This is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to each website should the collector be unavailable due to lost connectivity. Will drop events once the limit is hit + +Signature: + +```typescript +maxLocalStorageQueueSize?: number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.md new file mode 100644 index 000000000..6d78a2a50 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [LocalStorageEventStoreConfigurationBase](./browser-tracker.localstorageeventstoreconfigurationbase.md) + +## LocalStorageEventStoreConfigurationBase interface + +Signature: + +```typescript +interface LocalStorageEventStoreConfigurationBase extends EventStoreConfiguration +``` +Extends: EventStoreConfiguration + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [maxLocalStorageQueueSize?](./browser-tracker.localstorageeventstoreconfigurationbase.maxlocalstoragequeuesize.md) | number | (Optional) The maximum amount of events that will be buffered in local storageThis is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to each website should the collector be unavailable due to lost connectivity. Will drop events once the limit is hit | +| [useLocalStorage?](./browser-tracker.localstorageeventstoreconfigurationbase.uselocalstorage.md) | boolean | (Optional) Whether to use localStorage at all Default is true | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.uselocalstorage.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.uselocalstorage.md new file mode 100644 index 000000000..da464b7cc --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.localstorageeventstoreconfigurationbase.uselocalstorage.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [LocalStorageEventStoreConfigurationBase](./browser-tracker.localstorageeventstoreconfigurationbase.md) > [useLocalStorage](./browser-tracker.localstorageeventstoreconfigurationbase.uselocalstorage.md) + +## LocalStorageEventStoreConfigurationBase.useLocalStorage property + +Whether to use localStorage at all Default is true + +Signature: + +```typescript +useLocalStorage?: boolean; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.debug.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.debug.md new file mode 100644 index 000000000..1167bd49d --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.debug.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Logger](./browser-tracker.logger.md) > [debug](./browser-tracker.logger.debug.md) + +## Logger.debug property + +Signature: + +```typescript +debug: (message: string, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.error.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.error.md new file mode 100644 index 000000000..6e745f314 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.error.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Logger](./browser-tracker.logger.md) > [error](./browser-tracker.logger.error.md) + +## Logger.error property + +Signature: + +```typescript +error: (message: string, error?: unknown, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.info.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.info.md new file mode 100644 index 000000000..0476b618e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.info.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Logger](./browser-tracker.logger.md) > [info](./browser-tracker.logger.info.md) + +## Logger.info property + +Signature: + +```typescript +info: (message: string, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.md new file mode 100644 index 000000000..3161b8eeb --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Logger](./browser-tracker.logger.md) + +## Logger interface + +Signature: + +```typescript +interface Logger +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [debug](./browser-tracker.logger.debug.md) | (message: string, ...extraParams: unknown\[\]) => void | | +| [error](./browser-tracker.logger.error.md) | (message: string, error?: unknown, ...extraParams: unknown\[\]) => void | | +| [info](./browser-tracker.logger.info.md) | (message: string, ...extraParams: unknown\[\]) => void | | +| [setLogLevel](./browser-tracker.logger.setloglevel.md) | (level: LOG\_LEVEL) => void | | +| [warn](./browser-tracker.logger.warn.md) | (message: string, error?: unknown, ...extraParams: unknown\[\]) => void | | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.setloglevel.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.setloglevel.md new file mode 100644 index 000000000..d16d6b118 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.setloglevel.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Logger](./browser-tracker.logger.md) > [setLogLevel](./browser-tracker.logger.setloglevel.md) + +## Logger.setLogLevel property + +Signature: + +```typescript +setLogLevel: (level: LOG_LEVEL) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.warn.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.warn.md new file mode 100644 index 000000000..de43906c0 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.logger.warn.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Logger](./browser-tracker.logger.md) > [warn](./browser-tracker.logger.warn.md) + +## Logger.warn property + +Signature: + +```typescript +warn: (message: string, error?: unknown, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.md index 08350063d..1e475e6de 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.md @@ -4,6 +4,12 @@ ## browser-tracker package +## Classes + +| Class | Description | +| --- | --- | +| [SharedState](./browser-tracker.sharedstate.md) | A set of variables which are shared among all initialised trackers | + ## Functions | Function | Description | @@ -56,14 +62,27 @@ | [ClientSession](./browser-tracker.clientsession.md) | Schema for client client session context entity | | [CommonEventProperties](./browser-tracker.commoneventproperties.md) | Additional data points to set when tracking an event | | [ContextEvent](./browser-tracker.contextevent.md) | Argument for [ContextGenerator](./browser-tracker.contextgenerator.md) and [ContextFilter](./browser-tracker.contextfilter.md) callback | +| [CorePlugin](./browser-tracker.coreplugin.md) | Interface which defines Core Plugins | +| [CorePluginConfiguration](./browser-tracker.corepluginconfiguration.md) | The configuration of the plugin to add | +| [DeviceTimestamp](./browser-tracker.devicetimestamp.md) | A representation of a Device Timestamp (dtm) | | [DisableAnonymousTrackingConfiguration](./browser-tracker.disableanonymoustrackingconfiguration.md) | The configuration that can be changed when disabling anonymous tracking | +| [EmitterConfigurationBase](./browser-tracker.emitterconfigurationbase.md) | | | [EnableAnonymousTrackingConfiguration](./browser-tracker.enableanonymoustrackingconfiguration.md) | The configuration that can be changed when enabling anonymous tracking | | [EventPayloadAndContext](./browser-tracker.eventpayloadandcontext.md) | Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). | +| [EventStore](./browser-tracker.eventstore.md) | EventStore allows storing and retrieving events before they are sent to the collector | +| [EventStoreConfiguration](./browser-tracker.eventstoreconfiguration.md) | | +| [EventStoreIterator](./browser-tracker.eventstoreiterator.md) | | +| [EventStorePayload](./browser-tracker.eventstorepayload.md) | | | [FlushBufferConfiguration](./browser-tracker.flushbufferconfiguration.md) | The configuration that can be changed when flushing the buffer | +| [LocalStorageEventStoreConfigurationBase](./browser-tracker.localstorageeventstoreconfigurationbase.md) | | +| [Logger](./browser-tracker.logger.md) | | | [PageViewEvent](./browser-tracker.pageviewevent.md) | A Page View event Used for tracking a page view | +| [PayloadBuilder](./browser-tracker.payloadbuilder.md) | Interface for mutable object encapsulating tracker payload | | [RuleSet](./browser-tracker.ruleset.md) | A ruleset has accept or reject properties that contain rules for matching Iglu schema URIs | | [SelfDescribingEvent](./browser-tracker.selfdescribingevent.md) | A Self Describing Event A custom event type, allowing for an event to be tracked using your own custom schema and a data object which conforms to the supplied schema | | [StructuredEvent](./browser-tracker.structuredevent.md) | A Structured Event A classic style of event tracking, allows for easier movement between analytics systems. A loosely typed event, creating a Self Describing event is preferred, but useful for interoperability. | +| [TrackerCore](./browser-tracker.trackercore.md) | Export interface containing all Core functions | +| [TrueTimestamp](./browser-tracker.truetimestamp.md) | A representation of a True Timestamp (ttm) | ## Variables @@ -84,19 +103,21 @@ | [ContextGenerator](./browser-tracker.contextgenerator.md) | A context generator is a user-supplied callback that is evaluated for each event to allow an additional context to be dynamically attached to the event | | [ContextPrimitive](./browser-tracker.contextprimitive.md) | A context primitive is either a self-describing JSON or a context generator | | [CookieSameSite](./browser-tracker.cookiesamesite.md) | | -| [EventBatch](./browser-tracker.eventbatch.md) | A collection of events which are sent to the collector. This can either be a collection of query strings or JSON objects. | +| [EventBatch](./browser-tracker.eventbatch.md) | A collection of event payloads which are sent to the collector. | +| [EventJson](./browser-tracker.eventjson.md) | An array of tuples which represents the unprocessed JSON to be added to the Payload | | [EventMethod](./browser-tracker.eventmethod.md) | | | [ExtendedCrossDomainLinkerAttributes](./browser-tracker.extendedcrossdomainlinkerattributes.md) | | | [ExtendedCrossDomainLinkerOptions](./browser-tracker.extendedcrossdomainlinkeroptions.md) | | | [FilterProvider](./browser-tracker.filterprovider.md) | A filter provider is a tuple that has two parts: a context filter and the context primitive(s) If the context filter evaluates to true, the tracker will attach the context primitive(s) | -| [GetBatch](./browser-tracker.getbatch.md) | A collection of GET events which are sent to the collector. This will be a collection of query strings. | +| [JsonProcessor](./browser-tracker.jsonprocessor.md) | A function which will processor the Json onto the injected PayloadBuilder | | [ParsedIdCookie](./browser-tracker.parsedidcookie.md) | The format of state elements stored in the id cookie. | +| [Payload](./browser-tracker.payload.md) | Type for a Payload dictionary | | [Platform](./browser-tracker.platform.md) | | -| [PostBatch](./browser-tracker.postbatch.md) | A collection of POST events which are sent to the collector. This will be a collection of JSON objects. | | [PreservePageViewIdForUrl](./browser-tracker.preservepageviewidforurl.md) | | | [RequestFailure](./browser-tracker.requestfailure.md) | The data that will be available to the onRequestFailure callback | | [RuleSetProvider](./browser-tracker.rulesetprovider.md) | A ruleset provider is aa tuple that has two parts: a ruleset and the context primitive(s) If the ruleset allows the current event schema URI, the tracker will attach the context primitive(s) | | [SelfDescribingJson](./browser-tracker.selfdescribingjson.md) | Export interface for any Self-Describing JSON such as context or Self Describing events | | [StateStorageStrategy](./browser-tracker.statestoragestrategy.md) | | +| [Timestamp](./browser-tracker.timestamp.md) | Algebraic datatype representing possible timestamp type choice | | [TrackerConfiguration](./browser-tracker.trackerconfiguration.md) | The configuration object for initialising the tracker | diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payload.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payload.md new file mode 100644 index 000000000..366651db0 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payload.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Payload](./browser-tracker.payload.md) + +## Payload type + +Type for a Payload dictionary + +Signature: + +```typescript +type Payload = Record; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.add.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.add.md new file mode 100644 index 000000000..2406f791e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.add.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [add](./browser-tracker.payloadbuilder.add.md) + +## PayloadBuilder.add property + +Adds an entry to the Payload + +Signature: + +```typescript +add: (key: string, value: unknown) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addcontextentity.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addcontextentity.md new file mode 100644 index 000000000..d4d8da13c --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addcontextentity.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [addContextEntity](./browser-tracker.payloadbuilder.addcontextentity.md) + +## PayloadBuilder.addContextEntity property + +Caches a context entity to be added to payload on build + +Signature: + +```typescript +addContextEntity: (entity: SelfDescribingJson) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.adddict.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.adddict.md new file mode 100644 index 000000000..26ede193c --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.adddict.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [addDict](./browser-tracker.payloadbuilder.adddict.md) + +## PayloadBuilder.addDict property + +Merges a payload into the existing payload + +Signature: + +```typescript +addDict: (dict: Payload) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addjson.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addjson.md new file mode 100644 index 000000000..810e91371 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.addjson.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [addJson](./browser-tracker.payloadbuilder.addjson.md) + +## PayloadBuilder.addJson property + +Caches a JSON object to be added to payload on build + +Signature: + +```typescript +addJson: (keyIfEncoded: string, keyIfNotEncoded: string, json: Record) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.build.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.build.md new file mode 100644 index 000000000..223be1ce0 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.build.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [build](./browser-tracker.payloadbuilder.build.md) + +## PayloadBuilder.build property + +Builds and returns the Payload + +Signature: + +```typescript +build: () => Payload; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getjson.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getjson.md new file mode 100644 index 000000000..aa7f1962f --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getjson.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [getJson](./browser-tracker.payloadbuilder.getjson.md) + +## PayloadBuilder.getJson property + +Gets all JSON objects added to payload + +Signature: + +```typescript +getJson: () => EventJson; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getpayload.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getpayload.md new file mode 100644 index 000000000..b1e99b19a --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.getpayload.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [getPayload](./browser-tracker.payloadbuilder.getpayload.md) + +## PayloadBuilder.getPayload property + +Gets the current payload, before cached JSON is processed + +Signature: + +```typescript +getPayload: () => Payload; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.md new file mode 100644 index 000000000..da88b4627 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.md @@ -0,0 +1,27 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) + +## PayloadBuilder interface + +Interface for mutable object encapsulating tracker payload + +Signature: + +```typescript +interface PayloadBuilder +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [add](./browser-tracker.payloadbuilder.add.md) | (key: string, value: unknown) => void | Adds an entry to the Payload | +| [addContextEntity](./browser-tracker.payloadbuilder.addcontextentity.md) | (entity: SelfDescribingJson) => void | Caches a context entity to be added to payload on build | +| [addDict](./browser-tracker.payloadbuilder.adddict.md) | (dict: Payload) => void | Merges a payload into the existing payload | +| [addJson](./browser-tracker.payloadbuilder.addjson.md) | (keyIfEncoded: string, keyIfNotEncoded: string, json: Record<string, unknown>) => void | Caches a JSON object to be added to payload on build | +| [build](./browser-tracker.payloadbuilder.build.md) | () => Payload | Builds and returns the Payload | +| [getJson](./browser-tracker.payloadbuilder.getjson.md) | () => EventJson | Gets all JSON objects added to payload | +| [getPayload](./browser-tracker.payloadbuilder.getpayload.md) | () => Payload | Gets the current payload, before cached JSON is processed | +| [withJsonProcessor](./browser-tracker.payloadbuilder.withjsonprocessor.md) | (jsonProcessor: JsonProcessor) => void | Adds a function which will be executed when building the payload to process the JSON which has been added to this payload | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.withjsonprocessor.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.withjsonprocessor.md new file mode 100644 index 000000000..08d3f2cf3 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.payloadbuilder.withjsonprocessor.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PayloadBuilder](./browser-tracker.payloadbuilder.md) > [withJsonProcessor](./browser-tracker.payloadbuilder.withjsonprocessor.md) + +## PayloadBuilder.withJsonProcessor property + +Adds a function which will be executed when building the payload to process the JSON which has been added to this payload + +Signature: + +```typescript +withJsonProcessor: (jsonProcessor: JsonProcessor) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md deleted file mode 100644 index 223e63e5d..000000000 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.postbatch.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [PostBatch](./browser-tracker.postbatch.md) - -## PostBatch type - -A collection of POST events which are sent to the collector. This will be a collection of JSON objects. - -Signature: - -```typescript -type PostBatch = Record[]; -``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.removeglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.removeglobalcontexts.md index 35eece5fb..508e042fd 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.removeglobalcontexts.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.removeglobalcontexts.md @@ -9,14 +9,14 @@ All provided contexts will no longer be sent with every event Signature: ```typescript -declare function removeGlobalContexts(contexts: Array, trackers?: Array): void; +declare function removeGlobalContexts(contexts: Array, trackers?: Array): void; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | -| contexts | Array<ConditionalContextProvider \| ContextPrimitive> | An array of contexts or conditional contexts | +| contexts | Array<ConditionalContextProvider \| ContextPrimitive \| string> | An array of contexts or conditional contexts | | trackers | Array<string> | The tracker identifiers which the global contexts will be remove from | Returns: diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.bufferflushers.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.bufferflushers.md new file mode 100644 index 000000000..fd15315d5 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.bufferflushers.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [SharedState](./browser-tracker.sharedstate.md) > [bufferFlushers](./browser-tracker.sharedstate.bufferflushers.md) + +## SharedState.bufferFlushers property + +Signature: + +```typescript +bufferFlushers: Array<(sync: boolean) => void>; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.hasloaded.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.hasloaded.md new file mode 100644 index 000000000..0a72f97a9 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.hasloaded.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [SharedState](./browser-tracker.sharedstate.md) > [hasLoaded](./browser-tracker.sharedstate.hasloaded.md) + +## SharedState.hasLoaded property + +Signature: + +```typescript +hasLoaded: boolean; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.md new file mode 100644 index 000000000..853f0e674 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [SharedState](./browser-tracker.sharedstate.md) + +## SharedState class + +A set of variables which are shared among all initialised trackers + +Signature: + +```typescript +declare class SharedState +``` + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [bufferFlushers](./browser-tracker.sharedstate.bufferflushers.md) | | Array<(sync: boolean) => void> | | +| [hasLoaded](./browser-tracker.sharedstate.hasloaded.md) | | boolean | | +| [pageViewId?](./browser-tracker.sharedstate.pageviewid.md) | | string | (Optional) | +| [pageViewUrl?](./browser-tracker.sharedstate.pageviewurl.md) | | string | (Optional) | +| [registeredOnLoadHandlers](./browser-tracker.sharedstate.registeredonloadhandlers.md) | | Array<() => void> | | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewid.md new file mode 100644 index 000000000..918e19447 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewid.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [SharedState](./browser-tracker.sharedstate.md) > [pageViewId](./browser-tracker.sharedstate.pageviewid.md) + +## SharedState.pageViewId property + +Signature: + +```typescript +pageViewId?: string; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewurl.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewurl.md new file mode 100644 index 000000000..836702227 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.pageviewurl.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [SharedState](./browser-tracker.sharedstate.md) > [pageViewUrl](./browser-tracker.sharedstate.pageviewurl.md) + +## SharedState.pageViewUrl property + +Signature: + +```typescript +pageViewUrl?: string; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.registeredonloadhandlers.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.registeredonloadhandlers.md new file mode 100644 index 000000000..dca205808 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.sharedstate.registeredonloadhandlers.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [SharedState](./browser-tracker.sharedstate.md) > [registeredOnLoadHandlers](./browser-tracker.sharedstate.registeredonloadhandlers.md) + +## SharedState.registeredOnLoadHandlers property + +Signature: + +```typescript +registeredOnLoadHandlers: Array<() => void>; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.timestamp.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.timestamp.md new file mode 100644 index 000000000..0822e3f3b --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.timestamp.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [Timestamp](./browser-tracker.timestamp.md) + +## Timestamp type + +Algebraic datatype representing possible timestamp type choice + +Signature: + +```typescript +type Timestamp = TrueTimestamp | DeviceTimestamp | number; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md index dbd899188..c84696320 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md @@ -16,37 +16,21 @@ type TrackerConfiguration = { cookieSameSite?: CookieSameSite; cookieSecure?: boolean; cookieLifetime?: number; - withCredentials?: boolean; sessionCookieTimeout?: number; appId?: string; platform?: Platform; respectDoNotTrack?: boolean; - eventMethod?: EventMethod; - postPath?: string; - useStm?: boolean; - bufferSize?: number; crossDomainLinker?: (elt: HTMLAnchorElement | HTMLAreaElement) => boolean; useExtendedCrossDomainLinker?: ExtendedCrossDomainLinkerOptions; - maxPostBytes?: number; - maxGetBytes?: number; discoverRootDomain?: boolean; stateStorageStrategy?: StateStorageStrategy; - maxLocalStorageQueueSize?: number; resetActivityTrackingOnPageView?: boolean; - connectionTimeout?: number; anonymousTracking?: AnonymousTrackingOptions; contexts?: BuiltInContexts; plugins?: Array; - customHeaders?: Record; - retryStatusCodes?: number[]; - dontRetryStatusCodes?: number[]; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; - idService?: string; - retryFailedRequests?: boolean; - onRequestSuccess?: (data: EventBatch) => void; - onRequestFailure?: (data: RequestFailure) => void; preservePageViewIdForUrl?: PreservePageViewIdForUrl; -}; +} & EmitterConfigurationBase & LocalStorageEventStoreConfigurationBase; ``` ## Example @@ -59,6 +43,5 @@ newTracker('sp1', 'collector.my-website.com', { plugins: [ PerformanceTimingPlugin(), AdTrackingPlugin() ], stateStorageStrategy: 'cookieAndLocalStorage' }); - ``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addglobalcontexts.md new file mode 100644 index 000000000..e3cae4eff --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addglobalcontexts.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [addGlobalContexts](./browser-tracker.trackercore.addglobalcontexts.md) + +## TrackerCore.addGlobalContexts() method + +Adds contexts globally, contexts added here will be attached to all applicable events + +Signature: + +```typescript +addGlobalContexts(contexts: Array | Record): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| contexts | Array<ConditionalContextProvider \| ContextPrimitive> \| Record<string, ConditionalContextProvider \| ContextPrimitive> | An array containing either contexts or a conditional contexts | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloaddict.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloaddict.md new file mode 100644 index 000000000..8534971a3 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloaddict.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [addPayloadDict](./browser-tracker.trackercore.addpayloaddict.md) + +## TrackerCore.addPayloadDict() method + +Merges a dictionary into payloadPairs + +Signature: + +```typescript +addPayloadDict(dict: Payload): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| dict | Payload | Adds a new payload dictionary to the existing one | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloadpair.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloadpair.md new file mode 100644 index 000000000..bfc992f48 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addpayloadpair.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [addPayloadPair](./browser-tracker.trackercore.addpayloadpair.md) + +## TrackerCore.addPayloadPair property + +Set a persistent key-value pair to be added to every payload + +Signature: + +```typescript +addPayloadPair: (key: string, value: unknown) => void; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addplugin.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addplugin.md new file mode 100644 index 000000000..f58e4c2c6 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.addplugin.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [addPlugin](./browser-tracker.trackercore.addplugin.md) + +## TrackerCore.addPlugin() method + +Add a plugin into the plugin collection after Core has already been initialised + +Signature: + +```typescript +addPlugin(configuration: CorePluginConfiguration): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| configuration | CorePluginConfiguration | The plugin to add | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.clearglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.clearglobalcontexts.md new file mode 100644 index 000000000..d0d6e8ef0 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.clearglobalcontexts.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [clearGlobalContexts](./browser-tracker.trackercore.clearglobalcontexts.md) + +## TrackerCore.clearGlobalContexts() method + +Removes all global contexts + +Signature: + +```typescript +clearGlobalContexts(): void; +``` +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.getbase64encoding.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.getbase64encoding.md new file mode 100644 index 000000000..721440dbb --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.getbase64encoding.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [getBase64Encoding](./browser-tracker.trackercore.getbase64encoding.md) + +## TrackerCore.getBase64Encoding() method + +Get current base64 encoding state + +Signature: + +```typescript +getBase64Encoding(): boolean; +``` +Returns: + +boolean + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.md new file mode 100644 index 000000000..e2c9f5afd --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.md @@ -0,0 +1,46 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) + +## TrackerCore interface + +Export interface containing all Core functions + +Signature: + +```typescript +interface TrackerCore +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [addPayloadPair](./browser-tracker.trackercore.addpayloadpair.md) | (key: string, value: unknown) => void | Set a persistent key-value pair to be added to every payload | +| [track](./browser-tracker.trackercore.track.md) | (pb: PayloadBuilder, context?: Array<SelfDescribingJson> \| null, timestamp?: Timestamp \| null) => Payload \| undefined | Call with a payload from a buildX function Adds context and payloadPairs name-value pairs to the payload Applies the callback to the built payload | + +## Methods + +| Method | Description | +| --- | --- | +| [addGlobalContexts(contexts)](./browser-tracker.trackercore.addglobalcontexts.md) | Adds contexts globally, contexts added here will be attached to all applicable events | +| [addPayloadDict(dict)](./browser-tracker.trackercore.addpayloaddict.md) | Merges a dictionary into payloadPairs | +| [addPlugin(configuration)](./browser-tracker.trackercore.addplugin.md) | Add a plugin into the plugin collection after Core has already been initialised | +| [clearGlobalContexts()](./browser-tracker.trackercore.clearglobalcontexts.md) | Removes all global contexts | +| [getBase64Encoding()](./browser-tracker.trackercore.getbase64encoding.md) | Get current base64 encoding state | +| [removeGlobalContexts(contexts)](./browser-tracker.trackercore.removeglobalcontexts.md) | Removes previously added global context, performs a deep comparison of the contexts or conditional contexts | +| [resetPayloadPairs(dict)](./browser-tracker.trackercore.resetpayloadpairs.md) | Replace payloadPairs with a new dictionary | +| [setAppId(appId)](./browser-tracker.trackercore.setappid.md) | Set the application ID | +| [setBase64Encoding(encode)](./browser-tracker.trackercore.setbase64encoding.md) | Turn base 64 encoding on or off | +| [setColorDepth(depth)](./browser-tracker.trackercore.setcolordepth.md) | Set the color depth | +| [setIpAddress(ip)](./browser-tracker.trackercore.setipaddress.md) | Set the IP address | +| [setLang(lang)](./browser-tracker.trackercore.setlang.md) | Set the language | +| [setPlatform(value)](./browser-tracker.trackercore.setplatform.md) | Set the platform | +| [setScreenResolution(width, height)](./browser-tracker.trackercore.setscreenresolution.md) | Set the screen resolution | +| [setTimezone(timezone)](./browser-tracker.trackercore.settimezone.md) | Set the timezone | +| [setTrackerNamespace(name)](./browser-tracker.trackercore.settrackernamespace.md) | Set the tracker namespace | +| [setTrackerVersion(version)](./browser-tracker.trackercore.settrackerversion.md) | Set the tracker version | +| [setUseragent(useragent)](./browser-tracker.trackercore.setuseragent.md) | Set the Useragent | +| [setUserId(userId)](./browser-tracker.trackercore.setuserid.md) | Set the user ID | +| [setViewport(width, height)](./browser-tracker.trackercore.setviewport.md) | Set the viewport dimensions | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.removeglobalcontexts.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.removeglobalcontexts.md new file mode 100644 index 000000000..32d42ab60 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.removeglobalcontexts.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [removeGlobalContexts](./browser-tracker.trackercore.removeglobalcontexts.md) + +## TrackerCore.removeGlobalContexts() method + +Removes previously added global context, performs a deep comparison of the contexts or conditional contexts + +Signature: + +```typescript +removeGlobalContexts(contexts: Array): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| contexts | Array<ConditionalContextProvider \| ContextPrimitive \| string> | An array containing either contexts or a conditional contexts | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.resetpayloadpairs.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.resetpayloadpairs.md new file mode 100644 index 000000000..b4216e6b1 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.resetpayloadpairs.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [resetPayloadPairs](./browser-tracker.trackercore.resetpayloadpairs.md) + +## TrackerCore.resetPayloadPairs() method + +Replace payloadPairs with a new dictionary + +Signature: + +```typescript +resetPayloadPairs(dict: Payload): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| dict | Payload | Resets all current payload pairs with a new dictionary of pairs | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setappid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setappid.md new file mode 100644 index 000000000..7e81fa3cc --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setappid.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setAppId](./browser-tracker.trackercore.setappid.md) + +## TrackerCore.setAppId() method + +Set the application ID + +Signature: + +```typescript +setAppId(appId: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| appId | string | An application ID which identifies the current application | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setbase64encoding.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setbase64encoding.md new file mode 100644 index 000000000..510c19bfe --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setbase64encoding.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setBase64Encoding](./browser-tracker.trackercore.setbase64encoding.md) + +## TrackerCore.setBase64Encoding() method + +Turn base 64 encoding on or off + +Signature: + +```typescript +setBase64Encoding(encode: boolean): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| encode | boolean | Whether to encode payload | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setcolordepth.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setcolordepth.md new file mode 100644 index 000000000..200fd458a --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setcolordepth.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setColorDepth](./browser-tracker.trackercore.setcolordepth.md) + +## TrackerCore.setColorDepth() method + +Set the color depth + +Signature: + +```typescript +setColorDepth(depth: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| depth | string | A color depth value as string | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setipaddress.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setipaddress.md new file mode 100644 index 000000000..67dcacf6a --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setipaddress.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setIpAddress](./browser-tracker.trackercore.setipaddress.md) + +## TrackerCore.setIpAddress() method + +Set the IP address + +Signature: + +```typescript +setIpAddress(ip: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| ip | string | An IP Address string | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setlang.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setlang.md new file mode 100644 index 000000000..ee1c10f41 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setlang.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setLang](./browser-tracker.trackercore.setlang.md) + +## TrackerCore.setLang() method + +Set the language + +Signature: + +```typescript +setLang(lang: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| lang | string | A language string e.g. 'en-UK' | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setplatform.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setplatform.md new file mode 100644 index 000000000..375deb965 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setplatform.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setPlatform](./browser-tracker.trackercore.setplatform.md) + +## TrackerCore.setPlatform() method + +Set the platform + +Signature: + +```typescript +setPlatform(value: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | string | A valid Snowplow platform value | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setscreenresolution.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setscreenresolution.md new file mode 100644 index 000000000..4ab8cb85a --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setscreenresolution.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setScreenResolution](./browser-tracker.trackercore.setscreenresolution.md) + +## TrackerCore.setScreenResolution() method + +Set the screen resolution + +Signature: + +```typescript +setScreenResolution(width: string, height: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| width | string | screen resolution width | +| height | string | screen resolution height | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settimezone.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settimezone.md new file mode 100644 index 000000000..d67876ea7 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settimezone.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setTimezone](./browser-tracker.trackercore.settimezone.md) + +## TrackerCore.setTimezone() method + +Set the timezone + +Signature: + +```typescript +setTimezone(timezone: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| timezone | string | A timezone string | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackernamespace.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackernamespace.md new file mode 100644 index 000000000..b216072cf --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackernamespace.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setTrackerNamespace](./browser-tracker.trackercore.settrackernamespace.md) + +## TrackerCore.setTrackerNamespace() method + +Set the tracker namespace + +Signature: + +```typescript +setTrackerNamespace(name: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| name | string | The trackers namespace | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackerversion.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackerversion.md new file mode 100644 index 000000000..05f761ddd --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.settrackerversion.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setTrackerVersion](./browser-tracker.trackercore.settrackerversion.md) + +## TrackerCore.setTrackerVersion() method + +Set the tracker version + +Signature: + +```typescript +setTrackerVersion(version: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| version | string | The version of the current tracker | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuseragent.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuseragent.md new file mode 100644 index 000000000..267d54a30 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuseragent.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setUseragent](./browser-tracker.trackercore.setuseragent.md) + +## TrackerCore.setUseragent() method + +Set the Useragent + +Signature: + +```typescript +setUseragent(useragent: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| useragent | string | A useragent string | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuserid.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuserid.md new file mode 100644 index 000000000..8bb275a1e --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setuserid.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setUserId](./browser-tracker.trackercore.setuserid.md) + +## TrackerCore.setUserId() method + +Set the user ID + +Signature: + +```typescript +setUserId(userId: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| userId | string | The custom user id | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setviewport.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setviewport.md new file mode 100644 index 000000000..1940c919f --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.setviewport.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [setViewport](./browser-tracker.trackercore.setviewport.md) + +## TrackerCore.setViewport() method + +Set the viewport dimensions + +Signature: + +```typescript +setViewport(width: string, height: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| width | string | viewport width | +| height | string | viewport height | + +Returns: + +void + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.track.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.track.md new file mode 100644 index 000000000..9ca4274d1 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackercore.track.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrackerCore](./browser-tracker.trackercore.md) > [track](./browser-tracker.trackercore.track.md) + +## TrackerCore.track property + +Call with a payload from a buildX function Adds context and payloadPairs name-value pairs to the payload Applies the callback to the built payload + +Signature: + +```typescript +track: (pb: PayloadBuilder, context?: Array | null, timestamp?: Timestamp | null) => Payload | undefined; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.md new file mode 100644 index 000000000..6bd5cf26b --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrueTimestamp](./browser-tracker.truetimestamp.md) + +## TrueTimestamp interface + +A representation of a True Timestamp (ttm) + +Signature: + +```typescript +interface TrueTimestamp +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [type](./browser-tracker.truetimestamp.type.md) | "ttm" | | +| [value](./browser-tracker.truetimestamp.value.md) | number | | + diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.type.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.type.md new file mode 100644 index 000000000..18e0036e8 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrueTimestamp](./browser-tracker.truetimestamp.md) > [type](./browser-tracker.truetimestamp.type.md) + +## TrueTimestamp.type property + +Signature: + +```typescript +readonly type: "ttm"; +``` diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.value.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.value.md new file mode 100644 index 000000000..80a5dca81 --- /dev/null +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.truetimestamp.value.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/browser-tracker](./browser-tracker.md) > [TrueTimestamp](./browser-tracker.truetimestamp.md) > [value](./browser-tracker.truetimestamp.value.md) + +## TrueTimestamp.value property + +Signature: + +```typescript +readonly value: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.conditionalcontextprovider.md b/api-docs/docs/node-tracker/markdown/node-tracker.conditionalcontextprovider.md new file mode 100644 index 000000000..177638e68 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.conditionalcontextprovider.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [ConditionalContextProvider](./node-tracker.conditionalcontextprovider.md) + +## ConditionalContextProvider type + +Conditional context providers are two element arrays used to decide when to attach contexts, where: - the first element is some conditional criterion - the second element is any number of context primitives + +Signature: + +```typescript +type ConditionalContextProvider = FilterProvider | RuleSetProvider; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.contextprimitive.md b/api-docs/docs/node-tracker/markdown/node-tracker.contextprimitive.md new file mode 100644 index 000000000..c19d3fef4 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.contextprimitive.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [ContextPrimitive](./node-tracker.contextprimitive.md) + +## ContextPrimitive type + +A context primitive is either a self-describing JSON or a context generator + +Signature: + +```typescript +type ContextPrimitive = SelfDescribingJson | ContextGenerator; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.beforetrack.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.beforetrack.md index da2f00118..fb031028f 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.beforetrack.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.beforetrack.md @@ -4,7 +4,7 @@ ## CorePlugin.beforeTrack property -Called just before the trackerCore callback fires +Called before the `filter` method is called and before the trackerCore callback fires (if the filter passes) Signature: diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md index fd32c8130..37513de7d 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md @@ -18,7 +18,7 @@ interface CorePlugin | --- | --- | --- | | [activateCorePlugin?](./node-tracker.coreplugin.activatecoreplugin.md) | (core: TrackerCore) => void | (Optional) Called when the plugin is initialised during the trackerCore construction | | [afterTrack?](./node-tracker.coreplugin.aftertrack.md) | (payload: Payload) => void | (Optional) Called just after the trackerCore callback fires | -| [beforeTrack?](./node-tracker.coreplugin.beforetrack.md) | (payloadBuilder: PayloadBuilder) => void | (Optional) Called just before the trackerCore callback fires | +| [beforeTrack?](./node-tracker.coreplugin.beforetrack.md) | (payloadBuilder: PayloadBuilder) => void | (Optional) Called before the filter method is called and before the trackerCore callback fires (if the filter passes) | | [contexts?](./node-tracker.coreplugin.contexts.md) | () => SelfDescribingJson\[\] | (Optional) Called when constructing the context for each event Useful for adding additional context to events | | [filter?](./node-tracker.coreplugin.filter.md) | (payload: Payload) => boolean | (Optional) Called before the payload is sent to the callback to decide whether to send the payload or skip it | | [logger?](./node-tracker.coreplugin.logger.md) | (logger: Logger) => void | (Optional) Passed a logger instance which can be used to send log information to the active logger | diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.md b/api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.md new file mode 100644 index 000000000..83aeb4c3a --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [CorePluginConfiguration](./node-tracker.corepluginconfiguration.md) + +## CorePluginConfiguration interface + +The configuration of the plugin to add + +Signature: + +```typescript +interface CorePluginConfiguration +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [plugin](./node-tracker.corepluginconfiguration.plugin.md) | CorePlugin | | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.plugin.md b/api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.plugin.md new file mode 100644 index 000000000..9f063fd70 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.corepluginconfiguration.plugin.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [CorePluginConfiguration](./node-tracker.corepluginconfiguration.md) > [plugin](./node-tracker.corepluginconfiguration.plugin.md) + +## CorePluginConfiguration.plugin property + +Signature: + +```typescript +plugin: CorePlugin; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.customemitter.md b/api-docs/docs/node-tracker/markdown/node-tracker.customemitter.md new file mode 100644 index 000000000..116caedaa --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.customemitter.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [CustomEmitter](./node-tracker.customemitter.md) + +## CustomEmitter type + +Signature: + +```typescript +type CustomEmitter = { + /* Function returning custom Emitter or Emitter[] to be used. If set, other options are irrelevant */ + customEmitter: () => Emitter | Array; +}; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.md b/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.md new file mode 100644 index 000000000..46008fc3a --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [DeviceTimestamp](./node-tracker.devicetimestamp.md) + +## DeviceTimestamp interface + +A representation of a Device Timestamp (dtm) + +Signature: + +```typescript +interface DeviceTimestamp +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [type](./node-tracker.devicetimestamp.type.md) | "dtm" | | +| [value](./node-tracker.devicetimestamp.value.md) | number | | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.type.md b/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.type.md new file mode 100644 index 000000000..26936963e --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [DeviceTimestamp](./node-tracker.devicetimestamp.md) > [type](./node-tracker.devicetimestamp.type.md) + +## DeviceTimestamp.type property + +Signature: + +```typescript +readonly type: "dtm"; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.value.md b/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.value.md new file mode 100644 index 000000000..0f4d9a489 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.devicetimestamp.value.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [DeviceTimestamp](./node-tracker.devicetimestamp.md) > [value](./node-tracker.devicetimestamp.value.md) + +## DeviceTimestamp.value property + +Signature: + +```typescript +readonly value: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.flush.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.flush.md index e548ed1d5..a64176e70 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.flush.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.flush.md @@ -4,8 +4,10 @@ ## Emitter.flush property +Forces the emitter to send all events in the event store to the collector. + Signature: ```typescript -flush: () => void; +flush: () => Promise; ``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.input.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.input.md index f37d04b76..562cf2ccf 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.input.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.input.md @@ -4,8 +4,10 @@ ## Emitter.input property +Adds a payload to the event store or sends it to the collector. + Signature: ```typescript -input: (payload: Payload) => void; +input: (payload: Payload) => Promise; ``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.md index 78196241f..b09554040 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.md @@ -4,6 +4,8 @@ ## Emitter interface +Emitter is responsible for sending events to the collector. It manages the event queue and sends events in batches depending on configuration. + Signature: ```typescript @@ -14,7 +16,9 @@ interface Emitter | Property | Type | Description | | --- | --- | --- | -| [flush](./node-tracker.emitter.flush.md) | () => void | | -| [input](./node-tracker.emitter.input.md) | (payload: Payload) => void | | -| [setAnonymization?](./node-tracker.emitter.setanonymization.md) | (shouldAnonymize: boolean) => void | (Optional) Set if the requests from the emitter should be anonymized. Read more about anonymization used at https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/snowplow-tracker-protocol/going-deeper/http-headers/. | +| [flush](./node-tracker.emitter.flush.md) | () => Promise<void> | Forces the emitter to send all events in the event store to the collector. | +| [input](./node-tracker.emitter.input.md) | (payload: Payload) => Promise<void> | Adds a payload to the event store or sends it to the collector. | +| [setAnonymousTracking](./node-tracker.emitter.setanonymoustracking.md) | (anonymous: boolean) => void | Sets the server anonymization flag. | +| [setBufferSize](./node-tracker.emitter.setbuffersize.md) | (bufferSize: number) => void | Updates the buffer size of the emitter. | +| [setCollectorUrl](./node-tracker.emitter.setcollectorurl.md) | (url: string) => void | Updates the collector URL to which events will be sent. | diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymization.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymization.md deleted file mode 100644 index df5d44ceb..000000000 --- a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymization.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Emitter](./node-tracker.emitter.md) > [setAnonymization](./node-tracker.emitter.setanonymization.md) - -## Emitter.setAnonymization property - -Set if the requests from the emitter should be anonymized. Read more about anonymization used at https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/snowplow-tracker-protocol/going-deeper/http-headers/. - -Signature: - -```typescript -setAnonymization?: (shouldAnonymize: boolean) => void; -``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymoustracking.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymoustracking.md new file mode 100644 index 000000000..2ef010f95 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setanonymoustracking.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Emitter](./node-tracker.emitter.md) > [setAnonymousTracking](./node-tracker.emitter.setanonymoustracking.md) + +## Emitter.setAnonymousTracking property + +Sets the server anonymization flag. + +Signature: + +```typescript +setAnonymousTracking: (anonymous: boolean) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setbuffersize.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setbuffersize.md new file mode 100644 index 000000000..ac5d916f2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setbuffersize.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Emitter](./node-tracker.emitter.md) > [setBufferSize](./node-tracker.emitter.setbuffersize.md) + +## Emitter.setBufferSize property + +Updates the buffer size of the emitter. + +Signature: + +```typescript +setBufferSize: (bufferSize: number) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setcollectorurl.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setcollectorurl.md new file mode 100644 index 000000000..7af161683 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitter.setcollectorurl.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Emitter](./node-tracker.emitter.md) > [setCollectorUrl](./node-tracker.emitter.setcollectorurl.md) + +## Emitter.setCollectorUrl property + +Updates the collector URL to which events will be sent. + +Signature: + +```typescript +setCollectorUrl: (url: string) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.endpoint.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.endpoint.md new file mode 100644 index 000000000..c5569e568 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.endpoint.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfiguration](./node-tracker.emitterconfiguration.md) > [endpoint](./node-tracker.emitterconfiguration.endpoint.md) + +## EmitterConfiguration.endpoint property + +Signature: + +```typescript +endpoint: string; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.md new file mode 100644 index 000000000..6d060d88a --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfiguration](./node-tracker.emitterconfiguration.md) + +## EmitterConfiguration interface + +Signature: + +```typescript +interface EmitterConfiguration extends EmitterConfigurationBase +``` +Extends: EmitterConfigurationBase + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [endpoint](./node-tracker.emitterconfiguration.endpoint.md) | string | | +| [port?](./node-tracker.emitterconfiguration.port.md) | number | (Optional) | +| [protocol?](./node-tracker.emitterconfiguration.protocol.md) | "http" \| "https" | (Optional) | +| [serverAnonymization?](./node-tracker.emitterconfiguration.serveranonymization.md) | boolean | (Optional) | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.port.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.port.md new file mode 100644 index 000000000..009c1faf0 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.port.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfiguration](./node-tracker.emitterconfiguration.md) > [port](./node-tracker.emitterconfiguration.port.md) + +## EmitterConfiguration.port property + +Signature: + +```typescript +port?: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.protocol.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.protocol.md new file mode 100644 index 000000000..d7a692cf8 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.protocol.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfiguration](./node-tracker.emitterconfiguration.md) > [protocol](./node-tracker.emitterconfiguration.protocol.md) + +## EmitterConfiguration.protocol property + +Signature: + +```typescript +protocol?: "http" | "https"; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.serveranonymization.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.serveranonymization.md new file mode 100644 index 000000000..75d104443 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfiguration.serveranonymization.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfiguration](./node-tracker.emitterconfiguration.md) > [serverAnonymization](./node-tracker.emitterconfiguration.serveranonymization.md) + +## EmitterConfiguration.serverAnonymization property + +Signature: + +```typescript +serverAnonymization?: boolean; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.buffersize.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.buffersize.md new file mode 100644 index 000000000..9f7a2825a --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.buffersize.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [bufferSize](./node-tracker.emitterconfigurationbase.buffersize.md) + +## EmitterConfigurationBase.bufferSize property + +The amount of events that should be buffered before sending Recommended to leave as 1 to reduce change of losing events + +Signature: + +```typescript +bufferSize?: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.connectiontimeout.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.connectiontimeout.md new file mode 100644 index 000000000..419b774cb --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.connectiontimeout.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [connectionTimeout](./node-tracker.emitterconfigurationbase.connectiontimeout.md) + +## EmitterConfigurationBase.connectionTimeout property + +How long to wait before aborting requests to the collector + +Signature: + +```typescript +connectionTimeout?: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.credentials.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.credentials.md new file mode 100644 index 000000000..db5332ae2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.credentials.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [credentials](./node-tracker.emitterconfigurationbase.credentials.md) + +## EmitterConfigurationBase.credentials property + +Controls whether or not the browser sends credentials (defaults to 'include') + +Signature: + +```typescript +credentials?: "omit" | "same-origin" | "include"; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customfetch.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customfetch.md new file mode 100644 index 000000000..64052f0b1 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customfetch.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [customFetch](./node-tracker.emitterconfigurationbase.customfetch.md) + +## EmitterConfigurationBase.customFetch property + +Enables overriding the default fetch function with a custom implementation. + +Signature: + +```typescript +customFetch?: (input: Request, options?: RequestInit) => Promise; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customheaders.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customheaders.md new file mode 100644 index 000000000..ffb0bdf4f --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.customheaders.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [customHeaders](./node-tracker.emitterconfigurationbase.customheaders.md) + +## EmitterConfigurationBase.customHeaders property + +An object of key value pairs which represent headers to attach when sending a POST request, only works for POST + +Signature: + +```typescript +customHeaders?: Record; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.dontretrystatuscodes.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.dontretrystatuscodes.md new file mode 100644 index 000000000..5405fbcc2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.dontretrystatuscodes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [dontRetryStatusCodes](./node-tracker.emitterconfigurationbase.dontretrystatuscodes.md) + +## EmitterConfigurationBase.dontRetryStatusCodes property + +List of HTTP response status codes for which events sent to Collector should not be retried in future request. Only non-success status codes are considered (greater or equal to 300). The don't retry codes are only considered for GET and POST requests. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422 (these don't retry codes will remain even if you set your own `dontRetryStatusCodes` but can be changed using the `retryStatusCodes`). + +Signature: + +```typescript +dontRetryStatusCodes?: number[]; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventmethod.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventmethod.md new file mode 100644 index 000000000..d3164e3ea --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventmethod.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [eventMethod](./node-tracker.emitterconfigurationbase.eventmethod.md) + +## EmitterConfigurationBase.eventMethod property + +The preferred technique to use to send events + +Signature: + +```typescript +eventMethod?: EventMethod; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventstore.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventstore.md new file mode 100644 index 000000000..7941c33d4 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.eventstore.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [eventStore](./node-tracker.emitterconfigurationbase.eventstore.md) + +## EmitterConfigurationBase.eventStore property + +Enables providing a custom EventStore implementation to store events before sending them to the collector. + +Signature: + +```typescript +eventStore?: EventStore; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.idservice.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.idservice.md new file mode 100644 index 000000000..9b1bfb006 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.idservice.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [idService](./node-tracker.emitterconfigurationbase.idservice.md) + +## EmitterConfigurationBase.idService property + +Id service full URL. This URL will be added to the queue and will be called using a GET method. This option is there to allow the service URL to be called in order to set any required identifiers e.g. extra cookies. + +The request respects the `anonymousTracking` option, including the SP-Anonymous header if needed, and any additional custom headers from the customHeaders option. + +Signature: + +```typescript +idService?: string; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.keepalive.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.keepalive.md new file mode 100644 index 000000000..17f31e773 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.keepalive.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [keepalive](./node-tracker.emitterconfigurationbase.keepalive.md) + +## EmitterConfigurationBase.keepalive property + +Indicates that the request should be allowed to outlive the webpage that initiated it. Enables collector requests to complete even if the page is closed or navigated away from. + +Signature: + +```typescript +keepalive?: boolean; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxgetbytes.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxgetbytes.md new file mode 100644 index 000000000..270445198 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxgetbytes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [maxGetBytes](./node-tracker.emitterconfigurationbase.maxgetbytes.md) + +## EmitterConfigurationBase.maxGetBytes property + +The max size a GET request (its complete URL) can be. Requests over this size will be tried as a POST request. + +Signature: + +```typescript +maxGetBytes?: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxpostbytes.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxpostbytes.md new file mode 100644 index 000000000..dea1f0af0 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.maxpostbytes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [maxPostBytes](./node-tracker.emitterconfigurationbase.maxpostbytes.md) + +## EmitterConfigurationBase.maxPostBytes property + +The max size a POST request can be before the tracker will force send it + +Signature: + +```typescript +maxPostBytes?: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.md new file mode 100644 index 000000000..3f61508a6 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.md @@ -0,0 +1,35 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) + +## EmitterConfigurationBase interface + +Signature: + +```typescript +interface EmitterConfigurationBase +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [bufferSize?](./node-tracker.emitterconfigurationbase.buffersize.md) | number | (Optional) The amount of events that should be buffered before sending Recommended to leave as 1 to reduce change of losing events | +| [connectionTimeout?](./node-tracker.emitterconfigurationbase.connectiontimeout.md) | number | (Optional) How long to wait before aborting requests to the collector | +| [credentials?](./node-tracker.emitterconfigurationbase.credentials.md) | "omit" \| "same-origin" \| "include" | (Optional) Controls whether or not the browser sends credentials (defaults to 'include') | +| [customFetch?](./node-tracker.emitterconfigurationbase.customfetch.md) | (input: Request, options?: RequestInit) => Promise<Response> | (Optional) Enables overriding the default fetch function with a custom implementation. | +| [customHeaders?](./node-tracker.emitterconfigurationbase.customheaders.md) | Record<string, string> | (Optional) An object of key value pairs which represent headers to attach when sending a POST request, only works for POST | +| [dontRetryStatusCodes?](./node-tracker.emitterconfigurationbase.dontretrystatuscodes.md) | number\[\] | (Optional) List of HTTP response status codes for which events sent to Collector should not be retried in future request. Only non-success status codes are considered (greater or equal to 300). The don't retry codes are only considered for GET and POST requests. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422 (these don't retry codes will remain even if you set your own dontRetryStatusCodes but can be changed using the retryStatusCodes). | +| [eventMethod?](./node-tracker.emitterconfigurationbase.eventmethod.md) | EventMethod | (Optional) The preferred technique to use to send events | +| [eventStore?](./node-tracker.emitterconfigurationbase.eventstore.md) | EventStore | (Optional) Enables providing a custom EventStore implementation to store events before sending them to the collector. | +| [idService?](./node-tracker.emitterconfigurationbase.idservice.md) | string | (Optional) Id service full URL. This URL will be added to the queue and will be called using a GET method. This option is there to allow the service URL to be called in order to set any required identifiers e.g. extra cookies.The request respects the anonymousTracking option, including the SP-Anonymous header if needed, and any additional custom headers from the customHeaders option. | +| [keepalive?](./node-tracker.emitterconfigurationbase.keepalive.md) | boolean | (Optional) Indicates that the request should be allowed to outlive the webpage that initiated it. Enables collector requests to complete even if the page is closed or navigated away from. | +| [maxGetBytes?](./node-tracker.emitterconfigurationbase.maxgetbytes.md) | number | (Optional) The max size a GET request (its complete URL) can be. Requests over this size will be tried as a POST request. | +| [maxPostBytes?](./node-tracker.emitterconfigurationbase.maxpostbytes.md) | number | (Optional) The max size a POST request can be before the tracker will force send it | +| [onRequestFailure?](./node-tracker.emitterconfigurationbase.onrequestfailure.md) | (data: RequestFailure, response?: Response) => void | (Optional) A callback function to be executed whenever a request fails to be sent to the collector. This is the inverse of the onRequestSuccess callback, so any non 2xx status code will trigger this callback. | +| [onRequestSuccess?](./node-tracker.emitterconfigurationbase.onrequestsuccess.md) | (data: EventBatch, response: Response) => void | (Optional) A callback function to be executed whenever a request is successfully sent to the collector. In practice this means any request which returns a 2xx status code will trigger this callback. | +| [postPath?](./node-tracker.emitterconfigurationbase.postpath.md) | string | (Optional) The post path which events will be sent to. Ensure your collector is configured to accept events on this post path | +| [retryFailedRequests?](./node-tracker.emitterconfigurationbase.retryfailedrequests.md) | boolean | (Optional) Whether to retry failed requests to the collector.Failed requests are requests that failed due to \[timeouts\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout\_event), \[network errors\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error\_event), and \[abort events\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort\_event).Takes precedent over retryStatusCodes and dontRetryStatusCodes. | +| [retryStatusCodes?](./node-tracker.emitterconfigurationbase.retrystatuscodes.md) | number\[\] | (Optional) List of HTTP response status codes for which events sent to Collector should be retried in future requests. Only non-success status codes are considered (greater or equal to 300). The retry codes are only considered for GET and POST requests. They take priority over the dontRetryStatusCodes option. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422. | +| [useStm?](./node-tracker.emitterconfigurationbase.usestm.md) | boolean | (Optional) Should the Sent Timestamp be attached to events. Only applies for GET events. | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestfailure.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestfailure.md new file mode 100644 index 000000000..d95e112f8 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestfailure.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [onRequestFailure](./node-tracker.emitterconfigurationbase.onrequestfailure.md) + +## EmitterConfigurationBase.onRequestFailure property + +A callback function to be executed whenever a request fails to be sent to the collector. This is the inverse of the onRequestSuccess callback, so any non 2xx status code will trigger this callback. + +Signature: + +```typescript +onRequestFailure?: (data: RequestFailure, response?: Response) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestsuccess.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestsuccess.md new file mode 100644 index 000000000..e478564e7 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.onrequestsuccess.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [onRequestSuccess](./node-tracker.emitterconfigurationbase.onrequestsuccess.md) + +## EmitterConfigurationBase.onRequestSuccess property + +A callback function to be executed whenever a request is successfully sent to the collector. In practice this means any request which returns a 2xx status code will trigger this callback. + +Signature: + +```typescript +onRequestSuccess?: (data: EventBatch, response: Response) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.postpath.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.postpath.md new file mode 100644 index 000000000..9ab2d0d81 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.postpath.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [postPath](./node-tracker.emitterconfigurationbase.postpath.md) + +## EmitterConfigurationBase.postPath property + +The post path which events will be sent to. Ensure your collector is configured to accept events on this post path + +Signature: + +```typescript +postPath?: string; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retryfailedrequests.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retryfailedrequests.md new file mode 100644 index 000000000..e686112cf --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retryfailedrequests.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [retryFailedRequests](./node-tracker.emitterconfigurationbase.retryfailedrequests.md) + +## EmitterConfigurationBase.retryFailedRequests property + +Whether to retry failed requests to the collector. + +Failed requests are requests that failed due to \[timeouts\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout\_event), \[network errors\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error\_event), and \[abort events\](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort\_event). + +Takes precedent over `retryStatusCodes` and `dontRetryStatusCodes`. + +Signature: + +```typescript +retryFailedRequests?: boolean; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retrystatuscodes.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retrystatuscodes.md new file mode 100644 index 000000000..44c4ae4eb --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.retrystatuscodes.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [retryStatusCodes](./node-tracker.emitterconfigurationbase.retrystatuscodes.md) + +## EmitterConfigurationBase.retryStatusCodes property + +List of HTTP response status codes for which events sent to Collector should be retried in future requests. Only non-success status codes are considered (greater or equal to 300). The retry codes are only considered for GET and POST requests. They take priority over the `dontRetryStatusCodes` option. By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422. + +Signature: + +```typescript +retryStatusCodes?: number[]; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.usestm.md b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.usestm.md new file mode 100644 index 000000000..a8dc3576a --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.emitterconfigurationbase.usestm.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) > [useStm](./node-tracker.emitterconfigurationbase.usestm.md) + +## EmitterConfigurationBase.useStm property + +Should the Sent Timestamp be attached to events. Only applies for GET events. + +Signature: + +```typescript +useStm?: boolean; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventbatch.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventbatch.md new file mode 100644 index 000000000..a2978ef71 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventbatch.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventBatch](./node-tracker.eventbatch.md) + +## EventBatch type + +A collection of event payloads which are sent to the collector. + +Signature: + +```typescript +type EventBatch = Payload[]; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventjson.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventjson.md new file mode 100644 index 000000000..a5cdc46a2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventjson.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventJson](./node-tracker.eventjson.md) + +## EventJson type + +An array of tuples which represents the unprocessed JSON to be added to the Payload + +Signature: + +```typescript +type EventJson = Array; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventjsonwithkeys.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventjsonwithkeys.md new file mode 100644 index 000000000..6a1f2b0c9 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventjsonwithkeys.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventJsonWithKeys](./node-tracker.eventjsonwithkeys.md) + +## EventJsonWithKeys type + +A tuple which represents the unprocessed JSON to be added to the Payload + +Signature: + +```typescript +type EventJsonWithKeys = { + keyIfEncoded: string; + keyIfNotEncoded: string; + json: Record; +}; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventmethod.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventmethod.md new file mode 100644 index 000000000..a00d7545d --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventmethod.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventMethod](./node-tracker.eventmethod.md) + +## EventMethod type + +Signature: + +```typescript +type EventMethod = "post" | "get"; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.add.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.add.md new file mode 100644 index 000000000..55901dbac --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.add.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStore](./node-tracker.eventstore.md) > [add](./node-tracker.eventstore.add.md) + +## EventStore.add property + +Add an event to the store + +Signature: + +```typescript +add: (payload: EventStorePayload) => Promise; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.count.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.count.md new file mode 100644 index 000000000..473b9c306 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.count.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStore](./node-tracker.eventstore.md) > [count](./node-tracker.eventstore.count.md) + +## EventStore.count property + +Count all events in the store + +Signature: + +```typescript +count: () => Promise; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getall.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getall.md new file mode 100644 index 000000000..07414e884 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getall.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStore](./node-tracker.eventstore.md) > [getAll](./node-tracker.eventstore.getall.md) + +## EventStore.getAll property + +Retrieve all payloads including their meta configuration in the store + +Signature: + +```typescript +getAll: () => Promise; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getallpayloads.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getallpayloads.md new file mode 100644 index 000000000..35cb245db --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.getallpayloads.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStore](./node-tracker.eventstore.md) > [getAllPayloads](./node-tracker.eventstore.getallpayloads.md) + +## EventStore.getAllPayloads property + +Retrieve all pure payloads in the store + +Signature: + +```typescript +getAllPayloads: () => Promise; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.iterator.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.iterator.md new file mode 100644 index 000000000..1310c5fdc --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.iterator.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStore](./node-tracker.eventstore.md) > [iterator](./node-tracker.eventstore.iterator.md) + +## EventStore.iterator property + +Get an iterator over all events in the store + +Signature: + +```typescript +iterator: () => EventStoreIterator; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.md new file mode 100644 index 000000000..10ccdead0 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStore](./node-tracker.eventstore.md) + +## EventStore interface + +EventStore allows storing and retrieving events before they are sent to the collector + +Signature: + +```typescript +interface EventStore +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [add](./node-tracker.eventstore.add.md) | (payload: EventStorePayload) => Promise<number> | Add an event to the store | +| [count](./node-tracker.eventstore.count.md) | () => Promise<number> | Count all events in the store | +| [getAll](./node-tracker.eventstore.getall.md) | () => Promise<readonly EventStorePayload\[\]> | Retrieve all payloads including their meta configuration in the store | +| [getAllPayloads](./node-tracker.eventstore.getallpayloads.md) | () => Promise<readonly Payload\[\]> | Retrieve all pure payloads in the store | +| [iterator](./node-tracker.eventstore.iterator.md) | () => EventStoreIterator | Get an iterator over all events in the store | +| [removeHead](./node-tracker.eventstore.removehead.md) | (count: number) => Promise<void> | Remove the first count events from the store | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.removehead.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.removehead.md new file mode 100644 index 000000000..e8413bcad --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstore.removehead.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStore](./node-tracker.eventstore.md) > [removeHead](./node-tracker.eventstore.removehead.md) + +## EventStore.removeHead property + +Remove the first `count` events from the store + +Signature: + +```typescript +removeHead: (count: number) => Promise; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.maxsize.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.maxsize.md new file mode 100644 index 000000000..7a86458d1 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.maxsize.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStoreConfiguration](./node-tracker.eventstoreconfiguration.md) > [maxSize](./node-tracker.eventstoreconfiguration.maxsize.md) + +## EventStoreConfiguration.maxSize property + +The maximum amount of events that will be buffered in the event store + +This is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to each website should the collector be unavailable due to lost connectivity. Will drop old events once the limit is hit + +Signature: + +```typescript +maxSize?: number; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.md new file mode 100644 index 000000000..da2757c7a --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreconfiguration.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStoreConfiguration](./node-tracker.eventstoreconfiguration.md) + +## EventStoreConfiguration interface + +Signature: + +```typescript +interface EventStoreConfiguration +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [maxSize?](./node-tracker.eventstoreconfiguration.maxsize.md) | number | (Optional) The maximum amount of events that will be buffered in the event storeThis is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to each website should the collector be unavailable due to lost connectivity. Will drop old events once the limit is hit | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.md new file mode 100644 index 000000000..dfc1ef00f --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStoreIterator](./node-tracker.eventstoreiterator.md) + +## EventStoreIterator interface + +Signature: + +```typescript +interface EventStoreIterator +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [next](./node-tracker.eventstoreiterator.next.md) | () => Promise<{ value: EventStorePayload \| undefined; done: boolean; }> | Retrieve the next event in the store | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.next.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.next.md new file mode 100644 index 000000000..08c2c9490 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstoreiterator.next.md @@ -0,0 +1,16 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStoreIterator](./node-tracker.eventstoreiterator.md) > [next](./node-tracker.eventstoreiterator.next.md) + +## EventStoreIterator.next property + +Retrieve the next event in the store + +Signature: + +```typescript +next: () => Promise<{ + value: EventStorePayload | undefined; + done: boolean; + }>; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.md new file mode 100644 index 000000000..adb36353d --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStorePayload](./node-tracker.eventstorepayload.md) + +## EventStorePayload interface + +Signature: + +```typescript +interface EventStorePayload +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [payload](./node-tracker.eventstorepayload.payload.md) | Payload | The event payload to be stored | +| [svrAnon?](./node-tracker.eventstorepayload.svranon.md) | boolean | (Optional) If the request should undergo server anonymization. | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.payload.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.payload.md new file mode 100644 index 000000000..f1bf74946 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.payload.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStorePayload](./node-tracker.eventstorepayload.md) > [payload](./node-tracker.eventstorepayload.payload.md) + +## EventStorePayload.payload property + +The event payload to be stored + +Signature: + +```typescript +payload: Payload; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.svranon.md b/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.svranon.md new file mode 100644 index 000000000..f562923cc --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.eventstorepayload.svranon.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [EventStorePayload](./node-tracker.eventstorepayload.md) > [svrAnon](./node-tracker.eventstorepayload.svranon.md) + +## EventStorePayload.svrAnon property + +If the request should undergo server anonymization. + +Signature: + +```typescript +svrAnon?: boolean; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.filterprovider.md b/api-docs/docs/node-tracker/markdown/node-tracker.filterprovider.md new file mode 100644 index 000000000..3700dcfb8 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.filterprovider.md @@ -0,0 +1,16 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [FilterProvider](./node-tracker.filterprovider.md) + +## FilterProvider type + +A filter provider is a tuple that has two parts: a context filter and the context primitive(s) If the context filter evaluates to true, the tracker will attach the context primitive(s) + +Signature: + +```typescript +type FilterProvider = [ + ContextFilter, + Array | ContextPrimitive +]; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.formelement.md b/api-docs/docs/node-tracker/markdown/node-tracker.formelement.md new file mode 100644 index 000000000..e7782bb64 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.formelement.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [FormElement](./node-tracker.formelement.md) + +## FormElement type + +A representation of an element within a form + +Signature: + +```typescript +type FormElement = { + name: string; + value: string | null; + nodeName: string; + type?: string | null; +}; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.jsonprocessor.md b/api-docs/docs/node-tracker/markdown/node-tracker.jsonprocessor.md new file mode 100644 index 000000000..ab2ec3160 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.jsonprocessor.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [JsonProcessor](./node-tracker.jsonprocessor.md) + +## JsonProcessor type + +A function which will processor the Json onto the injected PayloadBuilder + +Signature: + +```typescript +type JsonProcessor = (payloadBuilder: PayloadBuilder, jsonForProcessing: EventJson, contextEntitiesForProcessing: SelfDescribingJson[]) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.log_level.md b/api-docs/docs/node-tracker/markdown/node-tracker.log_level.md new file mode 100644 index 000000000..95c2e3a94 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.log_level.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [LOG\_LEVEL](./node-tracker.log_level.md) + +## LOG\_LEVEL enum + +Signature: + +```typescript +declare enum LOG_LEVEL +``` + +## Enumeration Members + +| Member | Value | Description | +| --- | --- | --- | +| debug | 3 | | +| error | 1 | | +| info | 4 | | +| none | 0 | | +| warn | 2 | | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.logger.debug.md b/api-docs/docs/node-tracker/markdown/node-tracker.logger.debug.md new file mode 100644 index 000000000..1d354b29b --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.logger.debug.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Logger](./node-tracker.logger.md) > [debug](./node-tracker.logger.debug.md) + +## Logger.debug property + +Signature: + +```typescript +debug: (message: string, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.logger.error.md b/api-docs/docs/node-tracker/markdown/node-tracker.logger.error.md new file mode 100644 index 000000000..36e14d97d --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.logger.error.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Logger](./node-tracker.logger.md) > [error](./node-tracker.logger.error.md) + +## Logger.error property + +Signature: + +```typescript +error: (message: string, error?: unknown, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.logger.info.md b/api-docs/docs/node-tracker/markdown/node-tracker.logger.info.md new file mode 100644 index 000000000..8e2b7cd2b --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.logger.info.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Logger](./node-tracker.logger.md) > [info](./node-tracker.logger.info.md) + +## Logger.info property + +Signature: + +```typescript +info: (message: string, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.logger.md b/api-docs/docs/node-tracker/markdown/node-tracker.logger.md new file mode 100644 index 000000000..494b0d0aa --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.logger.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Logger](./node-tracker.logger.md) + +## Logger interface + +Signature: + +```typescript +interface Logger +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [debug](./node-tracker.logger.debug.md) | (message: string, ...extraParams: unknown\[\]) => void | | +| [error](./node-tracker.logger.error.md) | (message: string, error?: unknown, ...extraParams: unknown\[\]) => void | | +| [info](./node-tracker.logger.info.md) | (message: string, ...extraParams: unknown\[\]) => void | | +| [setLogLevel](./node-tracker.logger.setloglevel.md) | (level: LOG\_LEVEL) => void | | +| [warn](./node-tracker.logger.warn.md) | (message: string, error?: unknown, ...extraParams: unknown\[\]) => void | | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.logger.setloglevel.md b/api-docs/docs/node-tracker/markdown/node-tracker.logger.setloglevel.md new file mode 100644 index 000000000..9c6591674 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.logger.setloglevel.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Logger](./node-tracker.logger.md) > [setLogLevel](./node-tracker.logger.setloglevel.md) + +## Logger.setLogLevel property + +Signature: + +```typescript +setLogLevel: (level: LOG_LEVEL) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.logger.warn.md b/api-docs/docs/node-tracker/markdown/node-tracker.logger.warn.md new file mode 100644 index 000000000..781268e8e --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.logger.warn.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Logger](./node-tracker.logger.md) > [warn](./node-tracker.logger.warn.md) + +## Logger.warn property + +Signature: + +```typescript +warn: (message: string, error?: unknown, ...extraParams: unknown[]) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.md index 3f0c270a0..917346019 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.md @@ -4,6 +4,12 @@ ## node-tracker package +## Enumerations + +| Enumeration | Description | +| --- | --- | +| [LOG\_LEVEL](./node-tracker.log_level.md) | | + ## Functions | Function | Description | @@ -42,23 +48,36 @@ | [ContextEvent](./node-tracker.contextevent.md) | Argument for [ContextGenerator](./node-tracker.contextgenerator.md) and [ContextFilter](./node-tracker.contextfilter.md) callback | | [CoreConfiguration](./node-tracker.coreconfiguration.md) | The configuration object for the tracker core library | | [CorePlugin](./node-tracker.coreplugin.md) | Interface which defines Core Plugins | +| [CorePluginConfiguration](./node-tracker.corepluginconfiguration.md) | The configuration of the plugin to add | +| [DeviceTimestamp](./node-tracker.devicetimestamp.md) | A representation of a Device Timestamp (dtm) | | [EcommerceTransactionEvent](./node-tracker.ecommercetransactionevent.md) | An Ecommerce Transaction Event Allows for tracking common ecommerce events, this event is usually used when a customer completes a transaction. | | [EcommerceTransactionItemEvent](./node-tracker.ecommercetransactionitemevent.md) | An Ecommerce Transaction Item Related to the [EcommerceTransactionEvent](./node-tracker.ecommercetransactionevent.md) Each Ecommerce Transaction may contain one or more EcommerceTransactionItem events | -| [Emitter](./node-tracker.emitter.md) | | +| [Emitter](./node-tracker.emitter.md) | Emitter is responsible for sending events to the collector. It manages the event queue and sends events in batches depending on configuration. | +| [EmitterConfiguration](./node-tracker.emitterconfiguration.md) | | +| [EmitterConfigurationBase](./node-tracker.emitterconfigurationbase.md) | | | [EventPayloadAndContext](./node-tracker.eventpayloadandcontext.md) | Interface for returning a built event (PayloadBuilder) and context (Array of SelfDescribingJson). | +| [EventStore](./node-tracker.eventstore.md) | EventStore allows storing and retrieving events before they are sent to the collector | +| [EventStoreConfiguration](./node-tracker.eventstoreconfiguration.md) | | +| [EventStoreIterator](./node-tracker.eventstoreiterator.md) | | +| [EventStorePayload](./node-tracker.eventstorepayload.md) | | | [FormFocusOrChangeEvent](./node-tracker.formfocusorchangeevent.md) | Represents either a Form Focus or Form Change event When a user focuses on a form element or when a user makes a change to a form element. | | [FormSubmissionEvent](./node-tracker.formsubmissionevent.md) | A Form Submission Event Used to track when a user submits a form | | [LinkClickEvent](./node-tracker.linkclickevent.md) | A Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag <a> | +| [Logger](./node-tracker.logger.md) | | | [PagePingEvent](./node-tracker.pagepingevent.md) | A Page Ping Event Fires when activity tracking is enabled in the browser. Tracks same information as the last tracked Page View and includes scroll information from the current page view | | [PageViewEvent](./node-tracker.pageviewevent.md) | A Page View Event Represents a Page View, which is typically fired as soon as possible when a web page is loaded within the users browser. Often also fired on "virtual page views" within Single Page Applications (SPA). | | [PayloadBuilder](./node-tracker.payloadbuilder.md) | Interface for mutable object encapsulating tracker payload | | [RemoveFromCartEvent](./node-tracker.removefromcartevent.md) | An Remove To Cart Event For tracking users removing items from a cart on an ecommerce site. | +| [RuleSet](./node-tracker.ruleset.md) | A ruleset has accept or reject properties that contain rules for matching Iglu schema URIs | | [ScreenViewEvent](./node-tracker.screenviewevent.md) | A Screen View Event Similar to a Page View but less focused on typical web properties Often used for mobile applications as the user is presented with new views as they performance navigation events | | [SelfDescribingEvent](./node-tracker.selfdescribingevent.md) | A Self Describing Event A custom event type, allowing for an event to be tracked using your own custom schema and a data object which conforms to the supplied schema | | [SiteSearchEvent](./node-tracker.sitesearchevent.md) | A Site Search Event Used when a user performs a search action on a page | | [SocialInteractionEvent](./node-tracker.socialinteractionevent.md) | A Social Interaction Event Social tracking will be used to track the way users interact with Facebook, Twitter and Google + widgets e.g. to capture “like this” or “tweet this” events. | | [StructuredEvent](./node-tracker.structuredevent.md) | A Structured Event A classic style of event tracking, allows for easier movement between analytics systems. A loosely typed event, creating a Self Describing event is preferred, but useful for interoperability. | | [Tracker](./node-tracker.tracker.md) | | +| [TrackerConfiguration](./node-tracker.trackerconfiguration.md) | | +| [TrackerCore](./node-tracker.trackercore.md) | Export interface containing all Core functions | +| [TrueTimestamp](./node-tracker.truetimestamp.md) | A representation of a True Timestamp (ttm) | ## Variables @@ -70,9 +89,22 @@ | Type Alias | Description | | --- | --- | +| [ConditionalContextProvider](./node-tracker.conditionalcontextprovider.md) | Conditional context providers are two element arrays used to decide when to attach contexts, where: - the first element is some conditional criterion - the second element is any number of context primitives | | [ContextFilter](./node-tracker.contextfilter.md) | A context filter is a user-supplied callback that is evaluated for each event to determine if the context associated with the filter should be attached to the event | | [ContextGenerator](./node-tracker.contextgenerator.md) | A context generator is a user-supplied callback that is evaluated for each event to allow an additional context to be dynamically attached to the event | +| [ContextPrimitive](./node-tracker.contextprimitive.md) | A context primitive is either a self-describing JSON or a context generator | +| [CustomEmitter](./node-tracker.customemitter.md) | | +| [EventBatch](./node-tracker.eventbatch.md) | A collection of event payloads which are sent to the collector. | +| [EventJson](./node-tracker.eventjson.md) | An array of tuples which represents the unprocessed JSON to be added to the Payload | +| [EventJsonWithKeys](./node-tracker.eventjsonwithkeys.md) | A tuple which represents the unprocessed JSON to be added to the Payload | +| [EventMethod](./node-tracker.eventmethod.md) | | +| [FilterProvider](./node-tracker.filterprovider.md) | A filter provider is a tuple that has two parts: a context filter and the context primitive(s) If the context filter evaluates to true, the tracker will attach the context primitive(s) | +| [FormElement](./node-tracker.formelement.md) | A representation of an element within a form | +| [JsonProcessor](./node-tracker.jsonprocessor.md) | A function which will processor the Json onto the injected PayloadBuilder | +| [NodeEmitterConfiguration](./node-tracker.nodeemitterconfiguration.md) | | | [Payload](./node-tracker.payload.md) | Type for a Payload dictionary | +| [RequestFailure](./node-tracker.requestfailure.md) | The data that will be available to the onRequestFailure callback | +| [RuleSetProvider](./node-tracker.rulesetprovider.md) | A ruleset provider is aa tuple that has two parts: a ruleset and the context primitive(s) If the ruleset allows the current event schema URI, the tracker will attach the context primitive(s) | | [SelfDescribingJson](./node-tracker.selfdescribingjson.md) | Export interface for any Self-Describing JSON such as context or Self Describing events | | [Timestamp](./node-tracker.timestamp.md) | Algebraic datatype representing possible timestamp type choice | diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md index b7d150310..249945dff 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.newtracker.md @@ -7,7 +7,7 @@ Signature: ```typescript -declare function newTracker(trackerConfiguration: TrackerConfiguration, emitterConfiguration: EmitterConfiguration | EmitterConfiguration[]): Tracker; +declare function newTracker(trackerConfiguration: TrackerConfiguration, emitterConfiguration: NodeEmitterConfiguration | NodeEmitterConfiguration[]): Tracker; ``` ## Parameters @@ -15,7 +15,7 @@ declare function newTracker(trackerConfiguration: TrackerConfiguration, emitterC | Parameter | Type | Description | | --- | --- | --- | | trackerConfiguration | TrackerConfiguration | | -| emitterConfiguration | EmitterConfiguration \| EmitterConfiguration\[\] | | +| emitterConfiguration | NodeEmitterConfiguration \| NodeEmitterConfiguration\[\] | | Returns: diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.nodeemitterconfiguration.md b/api-docs/docs/node-tracker/markdown/node-tracker.nodeemitterconfiguration.md new file mode 100644 index 000000000..e73ca14f6 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.nodeemitterconfiguration.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [NodeEmitterConfiguration](./node-tracker.nodeemitterconfiguration.md) + +## NodeEmitterConfiguration type + +Signature: + +```typescript +type NodeEmitterConfiguration = CustomEmitter | EmitterConfiguration; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.requestfailure.md b/api-docs/docs/node-tracker/markdown/node-tracker.requestfailure.md new file mode 100644 index 000000000..e47d213b6 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.requestfailure.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [RequestFailure](./node-tracker.requestfailure.md) + +## RequestFailure type + +The data that will be available to the `onRequestFailure` callback + +Signature: + +```typescript +type RequestFailure = { + events: EventBatch; + status?: number; + message?: string; + willRetry: boolean; +}; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.accept.md b/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.accept.md new file mode 100644 index 000000000..8c3838662 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.accept.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [RuleSet](./node-tracker.ruleset.md) > [accept](./node-tracker.ruleset.accept.md) + +## RuleSet.accept property + +Signature: + +```typescript +accept?: Array | string; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.md b/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.md new file mode 100644 index 000000000..7a2586af1 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [RuleSet](./node-tracker.ruleset.md) + +## RuleSet interface + +A ruleset has accept or reject properties that contain rules for matching Iglu schema URIs + +Signature: + +```typescript +interface RuleSet +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [accept?](./node-tracker.ruleset.accept.md) | Array<string> \| string | (Optional) | +| [reject?](./node-tracker.ruleset.reject.md) | Array<string> \| string | (Optional) | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.reject.md b/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.reject.md new file mode 100644 index 000000000..d82f080a0 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.ruleset.reject.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [RuleSet](./node-tracker.ruleset.md) > [reject](./node-tracker.ruleset.reject.md) + +## RuleSet.reject property + +Signature: + +```typescript +reject?: Array | string; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.rulesetprovider.md b/api-docs/docs/node-tracker/markdown/node-tracker.rulesetprovider.md new file mode 100644 index 000000000..728190057 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.rulesetprovider.md @@ -0,0 +1,16 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [RuleSetProvider](./node-tracker.rulesetprovider.md) + +## RuleSetProvider type + +A ruleset provider is aa tuple that has two parts: a ruleset and the context primitive(s) If the ruleset allows the current event schema URI, the tracker will attach the context primitive(s) + +Signature: + +```typescript +type RuleSetProvider = [ + RuleSet, + Array | ContextPrimitive +]; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.tracker.flush.md b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.flush.md new file mode 100644 index 000000000..33e7a2511 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.flush.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [Tracker](./node-tracker.tracker.md) > [flush](./node-tracker.tracker.flush.md) + +## Tracker.flush property + +Calls flush on all emitters in order to send all queued events to the collector + +Signature: + +```typescript +flush: () => Promise; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.tracker.md b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.md index 8974598de..04f6d564b 100644 --- a/api-docs/docs/node-tracker/markdown/node-tracker.tracker.md +++ b/api-docs/docs/node-tracker/markdown/node-tracker.tracker.md @@ -15,6 +15,7 @@ interface Tracker extends TrackerCore | Property | Type | Description | | --- | --- | --- | +| [flush](./node-tracker.tracker.flush.md) | () => Promise<void> | Calls flush on all emitters in order to send all queued events to the collector | | [setDomainUserId](./node-tracker.tracker.setdomainuserid.md) | (userId: string) => void | Set the domain user ID | | [setNetworkUserId](./node-tracker.tracker.setnetworkuserid.md) | (userId: string) => void | Set the network user ID | | [setSessionId](./node-tracker.tracker.setsessionid.md) | (sessionId: string) => void | Set the session ID (domain_sessionid in the atomic events) | diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.appid.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.appid.md new file mode 100644 index 000000000..79af4dab6 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.appid.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerConfiguration](./node-tracker.trackerconfiguration.md) > [appId](./node-tracker.trackerconfiguration.appid.md) + +## TrackerConfiguration.appId property + +Signature: + +```typescript +appId: string; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.encodebase64.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.encodebase64.md new file mode 100644 index 000000000..cf28efc65 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.encodebase64.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerConfiguration](./node-tracker.trackerconfiguration.md) > [encodeBase64](./node-tracker.trackerconfiguration.encodebase64.md) + +## TrackerConfiguration.encodeBase64 property + +Signature: + +```typescript +encodeBase64: boolean; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.md new file mode 100644 index 000000000..f293cb91b --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerConfiguration](./node-tracker.trackerconfiguration.md) + +## TrackerConfiguration interface + +Signature: + +```typescript +interface TrackerConfiguration +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [appId](./node-tracker.trackerconfiguration.appid.md) | string | | +| [encodeBase64](./node-tracker.trackerconfiguration.encodebase64.md) | boolean | | +| [namespace](./node-tracker.trackerconfiguration.namespace.md) | string | | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.namespace.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.namespace.md new file mode 100644 index 000000000..754927d1f --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackerconfiguration.namespace.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerConfiguration](./node-tracker.trackerconfiguration.md) > [namespace](./node-tracker.trackerconfiguration.namespace.md) + +## TrackerConfiguration.namespace property + +Signature: + +```typescript +namespace: string; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addglobalcontexts.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addglobalcontexts.md new file mode 100644 index 000000000..33f03e909 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addglobalcontexts.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [addGlobalContexts](./node-tracker.trackercore.addglobalcontexts.md) + +## TrackerCore.addGlobalContexts() method + +Adds contexts globally, contexts added here will be attached to all applicable events + +Signature: + +```typescript +addGlobalContexts(contexts: Array | Record): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| contexts | Array<ConditionalContextProvider \| ContextPrimitive> \| Record<string, ConditionalContextProvider \| ContextPrimitive> | An array containing either contexts or a conditional contexts | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloaddict.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloaddict.md new file mode 100644 index 000000000..4a8c576b6 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloaddict.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [addPayloadDict](./node-tracker.trackercore.addpayloaddict.md) + +## TrackerCore.addPayloadDict() method + +Merges a dictionary into payloadPairs + +Signature: + +```typescript +addPayloadDict(dict: Payload): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| dict | Payload | Adds a new payload dictionary to the existing one | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloadpair.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloadpair.md new file mode 100644 index 000000000..8c04fdd85 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addpayloadpair.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [addPayloadPair](./node-tracker.trackercore.addpayloadpair.md) + +## TrackerCore.addPayloadPair property + +Set a persistent key-value pair to be added to every payload + +Signature: + +```typescript +addPayloadPair: (key: string, value: unknown) => void; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addplugin.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addplugin.md new file mode 100644 index 000000000..8ccf26ba8 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.addplugin.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [addPlugin](./node-tracker.trackercore.addplugin.md) + +## TrackerCore.addPlugin() method + +Add a plugin into the plugin collection after Core has already been initialised + +Signature: + +```typescript +addPlugin(configuration: CorePluginConfiguration): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| configuration | CorePluginConfiguration | The plugin to add | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.clearglobalcontexts.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.clearglobalcontexts.md new file mode 100644 index 000000000..2d6ee4c11 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.clearglobalcontexts.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [clearGlobalContexts](./node-tracker.trackercore.clearglobalcontexts.md) + +## TrackerCore.clearGlobalContexts() method + +Removes all global contexts + +Signature: + +```typescript +clearGlobalContexts(): void; +``` +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.getbase64encoding.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.getbase64encoding.md new file mode 100644 index 000000000..45dfaa989 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.getbase64encoding.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [getBase64Encoding](./node-tracker.trackercore.getbase64encoding.md) + +## TrackerCore.getBase64Encoding() method + +Get current base64 encoding state + +Signature: + +```typescript +getBase64Encoding(): boolean; +``` +Returns: + +boolean + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.md new file mode 100644 index 000000000..2fce40449 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.md @@ -0,0 +1,46 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) + +## TrackerCore interface + +Export interface containing all Core functions + +Signature: + +```typescript +interface TrackerCore +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [addPayloadPair](./node-tracker.trackercore.addpayloadpair.md) | (key: string, value: unknown) => void | Set a persistent key-value pair to be added to every payload | +| [track](./node-tracker.trackercore.track.md) | (pb: PayloadBuilder, context?: Array<SelfDescribingJson> \| null, timestamp?: Timestamp \| null) => Payload \| undefined | Call with a payload from a buildX function Adds context and payloadPairs name-value pairs to the payload Applies the callback to the built payload | + +## Methods + +| Method | Description | +| --- | --- | +| [addGlobalContexts(contexts)](./node-tracker.trackercore.addglobalcontexts.md) | Adds contexts globally, contexts added here will be attached to all applicable events | +| [addPayloadDict(dict)](./node-tracker.trackercore.addpayloaddict.md) | Merges a dictionary into payloadPairs | +| [addPlugin(configuration)](./node-tracker.trackercore.addplugin.md) | Add a plugin into the plugin collection after Core has already been initialised | +| [clearGlobalContexts()](./node-tracker.trackercore.clearglobalcontexts.md) | Removes all global contexts | +| [getBase64Encoding()](./node-tracker.trackercore.getbase64encoding.md) | Get current base64 encoding state | +| [removeGlobalContexts(contexts)](./node-tracker.trackercore.removeglobalcontexts.md) | Removes previously added global context, performs a deep comparison of the contexts or conditional contexts | +| [resetPayloadPairs(dict)](./node-tracker.trackercore.resetpayloadpairs.md) | Replace payloadPairs with a new dictionary | +| [setAppId(appId)](./node-tracker.trackercore.setappid.md) | Set the application ID | +| [setBase64Encoding(encode)](./node-tracker.trackercore.setbase64encoding.md) | Turn base 64 encoding on or off | +| [setColorDepth(depth)](./node-tracker.trackercore.setcolordepth.md) | Set the color depth | +| [setIpAddress(ip)](./node-tracker.trackercore.setipaddress.md) | Set the IP address | +| [setLang(lang)](./node-tracker.trackercore.setlang.md) | Set the language | +| [setPlatform(value)](./node-tracker.trackercore.setplatform.md) | Set the platform | +| [setScreenResolution(width, height)](./node-tracker.trackercore.setscreenresolution.md) | Set the screen resolution | +| [setTimezone(timezone)](./node-tracker.trackercore.settimezone.md) | Set the timezone | +| [setTrackerNamespace(name)](./node-tracker.trackercore.settrackernamespace.md) | Set the tracker namespace | +| [setTrackerVersion(version)](./node-tracker.trackercore.settrackerversion.md) | Set the tracker version | +| [setUseragent(useragent)](./node-tracker.trackercore.setuseragent.md) | Set the Useragent | +| [setUserId(userId)](./node-tracker.trackercore.setuserid.md) | Set the user ID | +| [setViewport(width, height)](./node-tracker.trackercore.setviewport.md) | Set the viewport dimensions | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.removeglobalcontexts.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.removeglobalcontexts.md new file mode 100644 index 000000000..f4e305cc2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.removeglobalcontexts.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [removeGlobalContexts](./node-tracker.trackercore.removeglobalcontexts.md) + +## TrackerCore.removeGlobalContexts() method + +Removes previously added global context, performs a deep comparison of the contexts or conditional contexts + +Signature: + +```typescript +removeGlobalContexts(contexts: Array): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| contexts | Array<ConditionalContextProvider \| ContextPrimitive \| string> | An array containing either contexts or a conditional contexts | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.resetpayloadpairs.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.resetpayloadpairs.md new file mode 100644 index 000000000..f4482ad38 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.resetpayloadpairs.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [resetPayloadPairs](./node-tracker.trackercore.resetpayloadpairs.md) + +## TrackerCore.resetPayloadPairs() method + +Replace payloadPairs with a new dictionary + +Signature: + +```typescript +resetPayloadPairs(dict: Payload): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| dict | Payload | Resets all current payload pairs with a new dictionary of pairs | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setappid.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setappid.md new file mode 100644 index 000000000..b73fd649b --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setappid.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setAppId](./node-tracker.trackercore.setappid.md) + +## TrackerCore.setAppId() method + +Set the application ID + +Signature: + +```typescript +setAppId(appId: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| appId | string | An application ID which identifies the current application | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setbase64encoding.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setbase64encoding.md new file mode 100644 index 000000000..3ea7a8851 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setbase64encoding.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setBase64Encoding](./node-tracker.trackercore.setbase64encoding.md) + +## TrackerCore.setBase64Encoding() method + +Turn base 64 encoding on or off + +Signature: + +```typescript +setBase64Encoding(encode: boolean): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| encode | boolean | Whether to encode payload | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setcolordepth.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setcolordepth.md new file mode 100644 index 000000000..64bb3f4b2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setcolordepth.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setColorDepth](./node-tracker.trackercore.setcolordepth.md) + +## TrackerCore.setColorDepth() method + +Set the color depth + +Signature: + +```typescript +setColorDepth(depth: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| depth | string | A color depth value as string | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setipaddress.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setipaddress.md new file mode 100644 index 000000000..3f426a0a2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setipaddress.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setIpAddress](./node-tracker.trackercore.setipaddress.md) + +## TrackerCore.setIpAddress() method + +Set the IP address + +Signature: + +```typescript +setIpAddress(ip: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| ip | string | An IP Address string | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setlang.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setlang.md new file mode 100644 index 000000000..c2873793a --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setlang.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setLang](./node-tracker.trackercore.setlang.md) + +## TrackerCore.setLang() method + +Set the language + +Signature: + +```typescript +setLang(lang: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| lang | string | A language string e.g. 'en-UK' | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setplatform.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setplatform.md new file mode 100644 index 000000000..34aafb3ea --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setplatform.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setPlatform](./node-tracker.trackercore.setplatform.md) + +## TrackerCore.setPlatform() method + +Set the platform + +Signature: + +```typescript +setPlatform(value: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | string | A valid Snowplow platform value | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setscreenresolution.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setscreenresolution.md new file mode 100644 index 000000000..3fb148e58 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setscreenresolution.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setScreenResolution](./node-tracker.trackercore.setscreenresolution.md) + +## TrackerCore.setScreenResolution() method + +Set the screen resolution + +Signature: + +```typescript +setScreenResolution(width: string, height: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| width | string | screen resolution width | +| height | string | screen resolution height | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settimezone.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settimezone.md new file mode 100644 index 000000000..1e0dc7363 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settimezone.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setTimezone](./node-tracker.trackercore.settimezone.md) + +## TrackerCore.setTimezone() method + +Set the timezone + +Signature: + +```typescript +setTimezone(timezone: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| timezone | string | A timezone string | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackernamespace.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackernamespace.md new file mode 100644 index 000000000..2df0c2cb2 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackernamespace.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setTrackerNamespace](./node-tracker.trackercore.settrackernamespace.md) + +## TrackerCore.setTrackerNamespace() method + +Set the tracker namespace + +Signature: + +```typescript +setTrackerNamespace(name: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| name | string | The trackers namespace | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackerversion.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackerversion.md new file mode 100644 index 000000000..8fd1ea49b --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.settrackerversion.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setTrackerVersion](./node-tracker.trackercore.settrackerversion.md) + +## TrackerCore.setTrackerVersion() method + +Set the tracker version + +Signature: + +```typescript +setTrackerVersion(version: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| version | string | The version of the current tracker | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuseragent.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuseragent.md new file mode 100644 index 000000000..d170ecb1d --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuseragent.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setUseragent](./node-tracker.trackercore.setuseragent.md) + +## TrackerCore.setUseragent() method + +Set the Useragent + +Signature: + +```typescript +setUseragent(useragent: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| useragent | string | A useragent string | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuserid.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuserid.md new file mode 100644 index 000000000..5d531adc5 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setuserid.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setUserId](./node-tracker.trackercore.setuserid.md) + +## TrackerCore.setUserId() method + +Set the user ID + +Signature: + +```typescript +setUserId(userId: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| userId | string | The custom user id | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setviewport.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setviewport.md new file mode 100644 index 000000000..8837314ca --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.setviewport.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [setViewport](./node-tracker.trackercore.setviewport.md) + +## TrackerCore.setViewport() method + +Set the viewport dimensions + +Signature: + +```typescript +setViewport(width: string, height: string): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| width | string | viewport width | +| height | string | viewport height | + +Returns: + +void + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.track.md b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.track.md new file mode 100644 index 000000000..61465baf0 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.trackercore.track.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrackerCore](./node-tracker.trackercore.md) > [track](./node-tracker.trackercore.track.md) + +## TrackerCore.track property + +Call with a payload from a buildX function Adds context and payloadPairs name-value pairs to the payload Applies the callback to the built payload + +Signature: + +```typescript +track: (pb: PayloadBuilder, context?: Array | null, timestamp?: Timestamp | null) => Payload | undefined; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.md b/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.md new file mode 100644 index 000000000..c5f3be780 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrueTimestamp](./node-tracker.truetimestamp.md) + +## TrueTimestamp interface + +A representation of a True Timestamp (ttm) + +Signature: + +```typescript +interface TrueTimestamp +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [type](./node-tracker.truetimestamp.type.md) | "ttm" | | +| [value](./node-tracker.truetimestamp.value.md) | number | | + diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.type.md b/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.type.md new file mode 100644 index 000000000..9420c2f0e --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrueTimestamp](./node-tracker.truetimestamp.md) > [type](./node-tracker.truetimestamp.type.md) + +## TrueTimestamp.type property + +Signature: + +```typescript +readonly type: "ttm"; +``` diff --git a/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.value.md b/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.value.md new file mode 100644 index 000000000..2107c7a71 --- /dev/null +++ b/api-docs/docs/node-tracker/markdown/node-tracker.truetimestamp.value.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [TrueTimestamp](./node-tracker.truetimestamp.md) > [value](./node-tracker.truetimestamp.value.md) + +## TrueTimestamp.value property + +Signature: + +```typescript +readonly value: number; +``` diff --git a/api-docs/docs/node-tracker/node-tracker.api.md b/api-docs/docs/node-tracker/node-tracker.api.md index 58b772637..3bc513f18 100644 --- a/api-docs/docs/node-tracker/node-tracker.api.md +++ b/api-docs/docs/node-tracker/node-tracker.api.md @@ -4,13 +4,6 @@ ```ts -import { Agents } from 'got'; -import { PromiseCookieJar } from 'got'; -import { RequestError } from 'got'; -import { RequiredRetryOptions } from 'got'; -import { Response } from 'got'; -import { ToughCookieJar } from 'got'; - // @public export interface AdClickEvent { advertiserId?: string; @@ -116,6 +109,9 @@ export function buildSocialInteraction(event: SocialInteractionEvent): PayloadBu // @public export function buildStructEvent(event: StructuredEvent): PayloadBuilder; +// @public +export type ConditionalContextProvider = FilterProvider | RuleSetProvider; + // @public export interface ConsentGrantedEvent { description?: string; @@ -147,6 +143,9 @@ export type ContextFilter = (args?: ContextEvent) => boolean; // @public export type ContextGenerator = (args?: ContextEvent) => SelfDescribingJson | SelfDescribingJson[] | undefined; +// @public +export type ContextPrimitive = SelfDescribingJson | ContextGenerator; + // @public export interface CoreConfiguration { /* Should payloads be base64 encoded when built */ @@ -162,16 +161,35 @@ export interface CoreConfiguration { // @public export interface CorePlugin { - // Warning: (ae-forgotten-export) The symbol "TrackerCore" needs to be exported by the entry point index.module.d.ts activateCorePlugin?: (core: TrackerCore) => void; afterTrack?: (payload: Payload) => void; beforeTrack?: (payloadBuilder: PayloadBuilder) => void; contexts?: () => SelfDescribingJson[]; filter?: (payload: Payload) => boolean; - // Warning: (ae-forgotten-export) The symbol "Logger" needs to be exported by the entry point index.module.d.ts logger?: (logger: Logger) => void; } +// @public +export interface CorePluginConfiguration { + /* The plugin to add */ + // (undocumented) + plugin: CorePlugin; +} + +// @public (undocumented) +export type CustomEmitter = { + /* Function returning custom Emitter or Emitter[] to be used. If set, other options are irrelevant */ + customEmitter: () => Emitter | Array; +}; + +// @public +export interface DeviceTimestamp { + // (undocumented) + readonly type: "dtm"; + // (undocumented) + readonly value: number; +} + // @public export interface EcommerceTransactionEvent { affiliation?: string; @@ -196,21 +214,118 @@ export interface EcommerceTransactionItemEvent { sku: string; } -// @public (undocumented) +// @public export interface Emitter { + flush: () => Promise; + input: (payload: Payload) => Promise; + setAnonymousTracking: (anonymous: boolean) => void; + setBufferSize: (bufferSize: number) => void; + setCollectorUrl: (url: string) => void; +} + +// @public (undocumented) +export interface EmitterConfiguration extends EmitterConfigurationBase { + /* The collector URL to which events will be sent */ // (undocumented) - flush: () => void; + endpoint: string; + /* http or https. Defaults to https */ // (undocumented) - input: (payload: Payload) => void; - setAnonymization?: (shouldAnonymize: boolean) => void; + port?: number; + /* http or https. Defaults to https */ + // (undocumented) + protocol?: "http" | "https"; + /* http or https. Defaults to https */ + // (undocumented) + serverAnonymization?: boolean; +} + +// @public (undocumented) +export interface EmitterConfigurationBase { + bufferSize?: number; + connectionTimeout?: number; + credentials?: "omit" | "same-origin" | "include"; + customFetch?: (input: Request, options?: RequestInit) => Promise; + customHeaders?: Record; + dontRetryStatusCodes?: number[]; + eventMethod?: EventMethod; + eventStore?: EventStore; + idService?: string; + keepalive?: boolean; + maxGetBytes?: number; + maxPostBytes?: number; + onRequestFailure?: (data: RequestFailure, response?: Response) => void; + onRequestSuccess?: (data: EventBatch, response: Response) => void; + postPath?: string; + retryFailedRequests?: boolean; + retryStatusCodes?: number[]; + useStm?: boolean; } +// @public +export type EventBatch = Payload[]; + +// @public +export type EventJson = Array; + +// @public +export type EventJsonWithKeys = { + keyIfEncoded: string; + keyIfNotEncoded: string; + json: Record; +}; + +// @public (undocumented) +export type EventMethod = "post" | "get"; + // @public export interface EventPayloadAndContext { context: Array; event: PayloadBuilder; } +// @public +export interface EventStore { + add: (payload: EventStorePayload) => Promise; + count: () => Promise; + getAll: () => Promise; + getAllPayloads: () => Promise; + iterator: () => EventStoreIterator; + removeHead: (count: number) => Promise; +} + +// @public (undocumented) +export interface EventStoreConfiguration { + maxSize?: number; +} + +// @public (undocumented) +export interface EventStoreIterator { + next: () => Promise<{ + value: EventStorePayload | undefined; + done: boolean; + }>; +} + +// @public (undocumented) +export interface EventStorePayload { + payload: Payload; + svrAnon?: boolean; +} + +// @public +export type FilterProvider = [ +ContextFilter, +Array | ContextPrimitive +]; + +// @public +export type FormElement = { + name: string; + value: string | null; + nodeName: string; + type?: string | null; +}; + // @public export interface FormFocusOrChangeEvent { elementClasses?: Array | null; @@ -224,12 +339,14 @@ export interface FormFocusOrChangeEvent { // @public export interface FormSubmissionEvent { - // Warning: (ae-forgotten-export) The symbol "FormElement" needs to be exported by the entry point index.module.d.ts elements?: Array; formClasses?: Array; formId: string; } +// @public +export type JsonProcessor = (payloadBuilder: PayloadBuilder, jsonForProcessing: EventJson, contextEntitiesForProcessing: SelfDescribingJson[]) => void; + // @public export interface LinkClickEvent { elementClasses?: Array; @@ -239,11 +356,39 @@ export interface LinkClickEvent { targetUrl: string; } -// Warning: (ae-forgotten-export) The symbol "TrackerConfiguration" needs to be exported by the entry point index.module.d.ts -// Warning: (ae-forgotten-export) The symbol "EmitterConfiguration" needs to be exported by the entry point index.module.d.ts -// // @public (undocumented) -export function newTracker(trackerConfiguration: TrackerConfiguration, emitterConfiguration: EmitterConfiguration | EmitterConfiguration[]): Tracker; +export enum LOG_LEVEL { + // (undocumented) + debug = 3, + // (undocumented) + error = 1, + // (undocumented) + info = 4, + // (undocumented) + none = 0, + // (undocumented) + warn = 2 +} + +// @public (undocumented) +export interface Logger { + // (undocumented) + debug: (message: string, ...extraParams: unknown[]) => void; + // (undocumented) + error: (message: string, error?: unknown, ...extraParams: unknown[]) => void; + // (undocumented) + info: (message: string, ...extraParams: unknown[]) => void; + // (undocumented) + setLogLevel: (level: LOG_LEVEL) => void; + // (undocumented) + warn: (message: string, error?: unknown, ...extraParams: unknown[]) => void; +} + +// @public (undocumented) +export function newTracker(trackerConfiguration: TrackerConfiguration, emitterConfiguration: NodeEmitterConfiguration | NodeEmitterConfiguration[]): Tracker; + +// @public (undocumented) +export type NodeEmitterConfiguration = CustomEmitter | EmitterConfiguration; // @public export interface PagePingEvent extends PageViewEvent { @@ -270,10 +415,8 @@ export interface PayloadBuilder { addDict: (dict: Payload) => void; addJson: (keyIfEncoded: string, keyIfNotEncoded: string, json: Record) => void; build: () => Payload; - // Warning: (ae-forgotten-export) The symbol "EventJson" needs to be exported by the entry point index.module.d.ts getJson: () => EventJson; getPayload: () => Payload; - // Warning: (ae-forgotten-export) The symbol "JsonProcessor" needs to be exported by the entry point index.module.d.ts withJsonProcessor: (jsonProcessor: JsonProcessor) => void; } @@ -287,6 +430,28 @@ export interface RemoveFromCartEvent { unitPrice?: number; } +// @public +export type RequestFailure = { + events: EventBatch; + status?: number; + message?: string; + willRetry: boolean; +}; + +// @public +export interface RuleSet { + // (undocumented) + accept?: Array | string; + // (undocumented) + reject?: Array | string; +} + +// @public +export type RuleSetProvider = [ +RuleSet, +Array | ContextPrimitive +]; + // @public export interface ScreenViewEvent { id?: string; @@ -333,20 +498,65 @@ export interface StructuredEvent { value?: number; } -// Warning: (ae-forgotten-export) The symbol "TrueTimestamp" needs to be exported by the entry point index.module.d.ts -// Warning: (ae-forgotten-export) The symbol "DeviceTimestamp" needs to be exported by the entry point index.module.d.ts -// // @public export type Timestamp = TrueTimestamp | DeviceTimestamp | number; // @public (undocumented) export interface Tracker extends TrackerCore { + flush: () => Promise; setDomainUserId: (userId: string) => void; setNetworkUserId: (userId: string) => void; setSessionId: (sessionId: string) => void; setSessionIndex: (sessionIndex: string | number) => void; } +// @public (undocumented) +export interface TrackerConfiguration { + /* The namespace of the tracker */ + // (undocumented) + appId: string; + /* The application ID */ + // (undocumented) + encodeBase64: boolean; + /* The application ID */ + // (undocumented) + namespace: string; +} + +// @public +export interface TrackerCore { + addGlobalContexts(contexts: Array | Record): void; + addPayloadDict(dict: Payload): void; + addPayloadPair: (key: string, value: unknown) => void; + addPlugin(configuration: CorePluginConfiguration): void; + clearGlobalContexts(): void; + getBase64Encoding(): boolean; + removeGlobalContexts(contexts: Array): void; + resetPayloadPairs(dict: Payload): void; + setAppId(appId: string): void; + setBase64Encoding(encode: boolean): void; + setColorDepth(depth: string): void; + setIpAddress(ip: string): void; + setLang(lang: string): void; + setPlatform(value: string): void; + setScreenResolution(width: string, height: string): void; + setTimezone(timezone: string): void; + setTrackerNamespace(name: string): void; + setTrackerVersion(version: string): void; + setUseragent(useragent: string): void; + setUserId(userId: string): void; + setViewport(width: string, height: string): void; + track: (pb: PayloadBuilder, context?: Array | null, timestamp?: Timestamp | null) => Payload | undefined; +} + +// @public +export interface TrueTimestamp { + // (undocumented) + readonly type: "ttm"; + // (undocumented) + readonly value: number; +} + // @public (undocumented) export const version: string; diff --git a/common/changes/@snowplow/browser-tracker-core/issue-fetch_api_2024-08-20-06-45.json b/common/changes/@snowplow/browser-tracker-core/issue-fetch_api_2024-08-20-06-45.json new file mode 100644 index 000000000..46e8df7aa --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-fetch_api_2024-08-20-06-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add an emitter and event store interface in the tracker core to be used both by the browser and node trackers and use fetch for making requests", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-fetch_api_2024-08-20-06-45.json b/common/changes/@snowplow/browser-tracker/issue-fetch_api_2024-08-20-06-45.json new file mode 100644 index 000000000..67f92be6b --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-fetch_api_2024-08-20-06-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Add an emitter and event store interface in the tracker core to be used both by the browser and node trackers and use fetch for making requests", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-fetch_api_2024-08-20-06-45.json b/common/changes/@snowplow/javascript-tracker/issue-fetch_api_2024-08-20-06-45.json new file mode 100644 index 000000000..992f38099 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-fetch_api_2024-08-20-06-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Add an emitter and event store interface in the tracker core to be used both by the browser and node trackers and use fetch for making requests", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/node-tracker/issue-fetch_api_2024-08-20-06-45.json b/common/changes/@snowplow/node-tracker/issue-fetch_api_2024-08-20-06-45.json new file mode 100644 index 000000000..ce1f4c264 --- /dev/null +++ b/common/changes/@snowplow/node-tracker/issue-fetch_api_2024-08-20-06-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/node-tracker", + "comment": "Add an emitter and event store interface in the tracker core to be used both by the browser and node trackers and use fetch for making requests", + "type": "none" + } + ], + "packageName": "@snowplow/node-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/issue-fetch_api_2024-08-20-06-45.json b/common/changes/@snowplow/tracker-core/issue-fetch_api_2024-08-20-06-45.json new file mode 100644 index 000000000..d43d48616 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/issue-fetch_api_2024-08-20-06-45.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Add an emitter and event store interface in the tracker core to be used both by the browser and node trackers and use fetch for making requests", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index fef8d4192..d7679cd1c 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -405,6 +405,10 @@ { "name": "webdriverio", "allowedCategories": [ "trackers" ] + }, + { + "name": "whatwg-fetch", + "allowedCategories": [ "libraries", "trackers" ] } ] } diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 452ec7674..5cb7cf086 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -91,6 +91,9 @@ importers: typescript: specifier: ~4.6.2 version: 4.6.4 + whatwg-fetch: + specifier: ~3.6.20 + version: 3.6.20 ../../libraries/tracker-core: dependencies: @@ -2357,6 +2360,9 @@ importers: typescript: specifier: ~4.6.2 version: 4.6.4 + whatwg-fetch: + specifier: ~3.6.20 + version: 3.6.20 ../../trackers/javascript-tracker: dependencies: @@ -2589,9 +2595,6 @@ importers: '@snowplow/tracker-core': specifier: workspace:* version: link:../../libraries/tracker-core - got: - specifier: ^11.8.5 - version: 11.8.6 tslib: specifier: ^2.3.1 version: 2.7.0 @@ -2602,9 +2605,6 @@ importers: '@types/node': specifier: ~14.6.0 version: 14.6.4 - '@types/sinon': - specifier: ~10.0.11 - version: 10.0.20 '@typescript-eslint/eslint-plugin': specifier: ~5.15.0 version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) @@ -2620,9 +2620,6 @@ importers: eslint-plugin-ava: specifier: ~13.2.0 version: 13.2.0(eslint@8.11.0) - nock: - specifier: ~13.2.4 - version: 13.2.9 rollup: specifier: ~2.70.1 version: 2.70.2 @@ -2632,9 +2629,6 @@ importers: rollup-plugin-ts: specifier: ~2.0.5 version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) - sinon: - specifier: ~13.0.1 - version: 13.0.2 ts-node: specifier: ~10.9.1 version: 10.9.2(@types/node@14.6.4)(typescript@4.6.4) @@ -3093,24 +3087,9 @@ packages: '@sinonjs/commons@1.8.6': resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - - '@sinonjs/fake-timers@11.3.1': - resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} - '@sinonjs/fake-timers@8.1.0': resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} - '@sinonjs/fake-timers@9.1.2': - resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} - - '@sinonjs/samsam@6.1.3': - resolution: {integrity: sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ==} - - '@sinonjs/text-encoding@0.7.3': - resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} - '@szmarczak/http-timer@4.0.6': resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} @@ -3247,12 +3226,6 @@ packages: '@types/sha1@1.1.5': resolution: {integrity: sha512-eE1PzjW7u2VfxI+bTsvjzjBfpwqvxSpgfUmnRNVY+PJU1NBsdGZlaO/qnVnPKHzzpgIl9YyBIxvrgBvt1mzt2A==} - '@types/sinon@10.0.20': - resolution: {integrity: sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==} - - '@types/sinonjs__fake-timers@8.1.5': - resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - '@types/split2@4.2.3': resolution: {integrity: sha512-59OXIlfUsi2k++H6CHgUQKEb2HKRokUA39HY1i1dS8/AIcqVjtAAFdf8u+HxTWK/4FUHMJQlKSZ4I6irCBJ1Zw==} @@ -5657,9 +5630,6 @@ packages: jszip@3.10.1: resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} - just-extend@6.2.0: - resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -5722,9 +5692,6 @@ packages: lodash.flattendeep@4.4.0: resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} @@ -6018,16 +5985,9 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - nise@5.1.9: - resolution: {integrity: sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==} - no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - nock@13.2.9: - resolution: {integrity: sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==} - engines: {node: '>= 10.13'} - node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -6349,9 +6309,6 @@ packages: path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - path-to-regexp@6.2.2: - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} - path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -6465,10 +6422,6 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - propagate@2.0.1: - resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} - engines: {node: '>= 8'} - proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -6863,10 +6816,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - sinon@13.0.2: - resolution: {integrity: sha512-KvOrztAVqzSJWMDoxM4vM+GPys1df2VBoXm+YciyB/OLMamfS3VXh3oGh5WtrAGSzrgczNWFFY22oKb7Fi5eeA==} - deprecated: 16.1.1 - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -7283,10 +7232,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-detect@4.1.0: - resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} - engines: {node: '>=4'} - type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} @@ -7545,6 +7490,9 @@ packages: whatwg-encoding@1.0.5: resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + whatwg-mimetype@2.3.0: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} @@ -8393,30 +8341,10 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/commons@3.0.1': - dependencies: - type-detect: 4.0.8 - - '@sinonjs/fake-timers@11.3.1': - dependencies: - '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers@8.1.0': dependencies: '@sinonjs/commons': 1.8.6 - '@sinonjs/fake-timers@9.1.2': - dependencies: - '@sinonjs/commons': 1.8.6 - - '@sinonjs/samsam@6.1.3': - dependencies: - '@sinonjs/commons': 1.8.6 - lodash.get: 4.4.2 - type-detect: 4.1.0 - - '@sinonjs/text-encoding@0.7.3': {} - '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 @@ -8568,12 +8496,6 @@ snapshots: dependencies: '@types/node': 14.6.4 - '@types/sinon@10.0.20': - dependencies: - '@types/sinonjs__fake-timers': 8.1.5 - - '@types/sinonjs__fake-timers@8.1.5': {} - '@types/split2@4.2.3': dependencies: '@types/node': 14.6.4 @@ -11786,8 +11708,6 @@ snapshots: readable-stream: 2.3.8 setimmediate: 1.0.5 - just-extend@6.2.0: {} - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -11846,8 +11766,6 @@ snapshots: lodash.flattendeep@4.4.0: {} - lodash.get@4.4.2: {} - lodash.isequal@4.5.0: {} lodash.memoize@4.1.2: {} @@ -12109,28 +12027,11 @@ snapshots: nice-try@1.0.5: {} - nise@5.1.9: - dependencies: - '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.3.1 - '@sinonjs/text-encoding': 0.7.3 - just-extend: 6.2.0 - path-to-regexp: 6.2.2 - no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.7.0 - nock@13.2.9: - dependencies: - debug: 4.3.6 - json-stringify-safe: 5.0.1 - lodash: 4.17.21 - propagate: 2.0.1 - transitivePeerDependencies: - - supports-color - node-domexception@1.0.0: {} node-fetch@2.7.0(encoding@0.1.13): @@ -12488,8 +12389,6 @@ snapshots: path-to-regexp@0.1.7: {} - path-to-regexp@6.2.2: {} - path-type@3.0.0: dependencies: pify: 3.0.0 @@ -12590,8 +12489,6 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 - propagate@2.0.1: {} - proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -13071,15 +12968,6 @@ snapshots: signal-exit@4.1.0: {} - sinon@13.0.2: - dependencies: - '@sinonjs/commons': 1.8.6 - '@sinonjs/fake-timers': 9.1.2 - '@sinonjs/samsam': 6.1.3 - diff: 5.2.0 - nise: 5.1.9 - supports-color: 7.2.0 - sisteransi@1.0.5: {} skip-regex@1.0.2: {} @@ -13567,8 +13455,6 @@ snapshots: type-detect@4.0.8: {} - type-detect@4.1.0: {} - type-fest@0.13.1: {} type-fest@0.20.2: {} @@ -13871,6 +13757,8 @@ snapshots: dependencies: iconv-lite: 0.4.24 + whatwg-fetch@3.6.20: {} + whatwg-mimetype@2.3.0: {} whatwg-url@5.0.0: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index b9e76dc13..51fe9ba49 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "24d7184530623550e7ddaeff499ae54dda564cc6", + "pnpmShrinkwrapHash": "384d99a17c59d00dcd20df8d03a1c95e56d33388", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/libraries/browser-tracker-core/jest.config.js b/libraries/browser-tracker-core/jest.config.js index 504feb7ef..71b642154 100644 --- a/libraries/browser-tracker-core/jest.config.js +++ b/libraries/browser-tracker-core/jest.config.js @@ -2,6 +2,7 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], testEnvironment: 'jest-environment-jsdom-global', + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironmentOptions: { url: 'https://snowplow-js-tracker.local/test/page.html', referrer: 'https://example.com/', diff --git a/libraries/browser-tracker-core/package.json b/libraries/browser-tracker-core/package.json index 25d0839e1..1b15e33ae 100644 --- a/libraries/browser-tracker-core/package.json +++ b/libraries/browser-tracker-core/package.json @@ -49,6 +49,7 @@ "rollup-plugin-ts": "~2.0.5", "ts-jest": "~27.1.3", "typescript": "~4.6.2", - "@testing-library/dom": "~9.3.1" + "@testing-library/dom": "~9.3.1", + "whatwg-fetch": "~3.6.20" } } diff --git a/libraries/browser-tracker-core/src/state.ts b/libraries/browser-tracker-core/src/state.ts index d53a5ceba..6aca815a4 100644 --- a/libraries/browser-tracker-core/src/state.ts +++ b/libraries/browser-tracker-core/src/state.ts @@ -41,8 +41,6 @@ declare global { * A set of variables which are shared among all initialised trackers */ export class SharedState { - /* List of request queues - one per Tracker instance */ - outQueues: Array = []; bufferFlushers: Array<(sync: boolean) => void> = []; /* DOM Ready */ diff --git a/libraries/browser-tracker-core/src/tracker/id_cookie.ts b/libraries/browser-tracker-core/src/tracker/id_cookie.ts index 9dee95792..853721dc7 100644 --- a/libraries/browser-tracker-core/src/tracker/id_cookie.ts +++ b/libraries/browser-tracker-core/src/tracker/id_cookie.ts @@ -214,8 +214,8 @@ export function updateNowTsInIdCookie(idCookie: ParsedIdCookie) { /** * Updates the first event references according to the event payload if first event in session. * - * @param idCookie Parsed cookie - * @param payloadBuilder Event payload builder + * @param idCookie - Parsed cookie + * @param payloadBuilder - Event payload builder */ export function updateFirstEventInIdCookie(idCookie: ParsedIdCookie, payloadBuilder: PayloadBuilder) { // Update first event references if new session or not present diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index b9fc3d3c0..730972aa9 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -29,7 +29,7 @@ import { createCrossDomainParameterValue, } from '../helpers'; import { BrowserPlugin } from '../plugins'; -import { OutQueueManager } from './out_queue'; +import { newOutQueue } from './out_queue'; import { fixupUrl } from '../proxies'; import { SharedState } from '../state'; import { @@ -198,10 +198,6 @@ export function Tracker( customReferrer: string, // Platform defaults to web for this tracker configPlatform = trackerConfiguration.platform ?? 'web', - // Snowplow collector URL - configCollectorUrl = asCollectorUrl(endpoint), - // Custom path for post requests (to get around adblockers) - configPostPath = trackerConfiguration.postPath ?? '/com.snowplowanalytics.snowplow/tp2', // Site ID configTrackerSiteId = trackerConfiguration.appId ?? '', // Document URL @@ -274,27 +270,16 @@ export function Tracker( // Business-defined unique user ID businessUserId: string | null | undefined, // Manager for local storage queue - outQueue = OutQueueManager( - trackerId, - state, - configStateStorageStrategy == 'localStorage' || configStateStorageStrategy == 'cookieAndLocalStorage', - trackerConfiguration.eventMethod, - configPostPath, - trackerConfiguration.bufferSize ?? 1, - trackerConfiguration.maxPostBytes ?? 40000, - trackerConfiguration.maxGetBytes ?? 0, - trackerConfiguration.useStm ?? true, - trackerConfiguration.maxLocalStorageQueueSize ?? 1000, - trackerConfiguration.connectionTimeout ?? 5000, - configAnonymousServerTracking, - trackerConfiguration.customHeaders ?? {}, - trackerConfiguration.withCredentials ?? true, - trackerConfiguration.retryStatusCodes ?? [], - (trackerConfiguration.dontRetryStatusCodes ?? []).concat([400, 401, 403, 410, 422]), - trackerConfiguration.idService, - trackerConfiguration.retryFailedRequests, - trackerConfiguration.onRequestSuccess, - trackerConfiguration.onRequestFailure + outQueue = newOutQueue( + { + trackerId, + endpoint: asCollectorUrl(endpoint), + serverAnonymization: configAnonymousServerTracking, + useLocalStorage: + configStateStorageStrategy == 'localStorage' || configStateStorageStrategy == 'cookieAndLocalStorage', + ...trackerConfiguration, + }, + state ), // Whether pageViewId should be regenerated after each trackPageView. Affect web_page context preservePageViewId = false, @@ -472,7 +457,7 @@ export function Tracker( */ function sendRequest(request: PayloadBuilder) { if (!(configDoNotTrack || toOptoutByCookie)) { - outQueue.enqueueRequest(request.build(), configCollectorUrl); + outQueue.enqueueRequest(request.build()); } } @@ -1315,8 +1300,7 @@ export function Tracker( }, setCollectorUrl: function (collectorUrl: string) { - configCollectorUrl = asCollectorUrl(collectorUrl); - outQueue.setCollectorUrl(configCollectorUrl); + outQueue.setCollectorUrl(asCollectorUrl(collectorUrl)); }, setBufferSize: function (newBufferSize: number) { diff --git a/libraries/browser-tracker-core/src/tracker/local_storage_event_store.ts b/libraries/browser-tracker-core/src/tracker/local_storage_event_store.ts new file mode 100644 index 000000000..52f7db9aa --- /dev/null +++ b/libraries/browser-tracker-core/src/tracker/local_storage_event_store.ts @@ -0,0 +1,61 @@ +import { EventStore, newInMemoryEventStore, EventStorePayload } from '@snowplow/tracker-core'; +import { LocalStorageEventStoreConfigurationBase } from './types'; + +export interface LocalStorageEventStoreConfiguration extends LocalStorageEventStoreConfigurationBase { + /** + * The unique identifier for the event store + */ + trackerId: string; +} + +export interface LocalStorageEventStore extends EventStore { + setUseLocalStorage: (localStorage: boolean) => void; +} + +export function newLocalStorageEventStore({ + trackerId, + maxLocalStorageQueueSize = 1000, + useLocalStorage = true, +}: LocalStorageEventStoreConfiguration): LocalStorageEventStore { + const queueName = `snowplowOutQueue_${trackerId}`; + + function newInMemoryEventStoreFromLocalStorage() { + if (useLocalStorage) { + const localStorageQueue = window.localStorage.getItem(queueName); + const events: EventStorePayload[] = localStorageQueue ? JSON.parse(localStorageQueue) : []; + return newInMemoryEventStore({ maxSize: maxLocalStorageQueueSize, events }); + } else { + return newInMemoryEventStore({ maxSize: maxLocalStorageQueueSize }); + } + } + + const { getAll, getAllPayloads, add, count, iterator, removeHead } = newInMemoryEventStoreFromLocalStorage(); + + function sync(): Promise { + if (useLocalStorage) { + return getAll().then((events) => { + window.localStorage.setItem(queueName, JSON.stringify(events)); + }); + } else { + return Promise.resolve(); + } + } + + return { + count, + add: (payload: EventStorePayload) => { + add(payload); + return sync().then(count); + }, + removeHead: (count: number) => { + removeHead(count); + return sync(); + }, + iterator, + getAll, + getAllPayloads, + setUseLocalStorage: (use: boolean) => { + useLocalStorage = use; + }, + }; +} diff --git a/libraries/browser-tracker-core/src/tracker/out_queue.ts b/libraries/browser-tracker-core/src/tracker/out_queue.ts index 5aee68f63..37327b0ec 100644 --- a/libraries/browser-tracker-core/src/tracker/out_queue.ts +++ b/libraries/browser-tracker-core/src/tracker/out_queue.ts @@ -1,614 +1,42 @@ -import { attemptWriteLocalStorage, isString } from '../helpers'; +import { newEmitter, EmitterConfiguration } from '@snowplow/tracker-core'; +import { + newLocalStorageEventStore, + LocalStorageEventStoreConfiguration, + LocalStorageEventStore, +} from './local_storage_event_store'; +import { Payload } from '@snowplow/tracker-core'; import { SharedState } from '../state'; -import { localStorageAccessible } from '../detectors'; -import { LOG, Payload } from '@snowplow/tracker-core'; -import { PAYLOAD_DATA_SCHEMA } from './schemata'; -import { EventBatch, RequestFailure } from './types'; export interface OutQueue { - enqueueRequest: (request: Payload, url: string) => void; - executeQueue: () => void; + enqueueRequest: (request: Payload) => Promise; + executeQueue: () => Promise; setUseLocalStorage: (localStorage: boolean) => void; setAnonymousTracking: (anonymous: boolean) => void; setCollectorUrl: (url: string) => void; setBufferSize: (bufferSize: number) => void; } -/** - * Object handling sending events to a collector. - * Instantiated once per tracker instance. - * - * @param id - The Snowplow function name (used to generate the localStorage key) - * @param sharedSate - Stores reference to the outbound queue so it can unload the page when all queues are empty - * @param useLocalStorage - Whether to use localStorage at all - * @param eventMethod - if null will use 'beacon' otherwise can be set to 'post', 'get', or 'beacon' to force. - * @param postPath - The path where events are to be posted - * @param bufferSize - How many events to batch in localStorage before sending them all - * @param maxPostBytes - Maximum combined size in bytes of the event JSONs in a POST request - * @param maxGetBytes - Maximum size in bytes of the complete event URL string in a GET request. 0 for no limit. - * @param useStm - Whether to add timestamp to events - * @param maxLocalStorageQueueSize - Maximum number of queued events we will attempt to store in local storage - * @param connectionTimeout - Defines how long to wait before aborting the request - * @param anonymousTracking - Defines whether to set the SP-Anonymous header for anonymous tracking on GET and POST - * @param customHeaders - Allows custom headers to be defined and passed on XMLHttpRequest requests - * @param withCredentials - Sets the value of the withCredentials flag on XMLHttpRequest (GET and POST) requests - * @param retryStatusCodes – Failure HTTP response status codes from Collector for which sending events should be retried (they can override the `dontRetryStatusCodes`) - * @param dontRetryStatusCodes – Failure HTTP response status codes from Collector for which sending events should not be retried - * @param idService - Id service full URL. This URL will be added to the queue and will be called using a GET method. - * @param retryFailedRequests - Whether to retry failed requests - Takes precedent over `retryStatusCodes` and `dontRetryStatusCodes` - * @param onRequestSuccess - Function called when a request succeeds - * @param onRequestFailure - Function called when a request does not succeed - * @returns object OutQueueManager instance - */ -export function OutQueueManager( - id: string, - sharedSate: SharedState, - useLocalStorage: boolean, - eventMethod: string | boolean, - postPath: string, - bufferSize: number, - maxPostBytes: number, - maxGetBytes: number, - useStm: boolean, - maxLocalStorageQueueSize: number, - connectionTimeout: number, - anonymousTracking: boolean, - customHeaders: Record, - withCredentials: boolean, - retryStatusCodes: number[], - dontRetryStatusCodes: number[], - idService?: string, - retryFailedRequests: boolean = true, - onRequestSuccess?: (data: EventBatch) => void, - onRequestFailure?: (data: RequestFailure) => void +export function newOutQueue( + configuration: EmitterConfiguration & LocalStorageEventStoreConfiguration, + sharedState: SharedState ): OutQueue { - type PostEvent = { - evt: Record; - bytes: number; - }; - - let executingQueue = false, - configCollectorUrl: string, - outQueue: Array | Array = [], - idServiceCalled = false; - - //Force to lower case if its a string - eventMethod = typeof eventMethod === 'string' ? eventMethod.toLowerCase() : eventMethod; - - // Use the Beacon API if eventMethod is set true, 'true', or 'beacon'. - const isBeaconRequested = eventMethod === true || eventMethod === 'beacon' || eventMethod === 'true', - // Fall back to POST or GET for browsers which don't support Beacon API - isBeaconAvailable = Boolean( - isBeaconRequested && - window.navigator && - typeof window.navigator.sendBeacon === 'function' && - !hasWebKitBeaconBug(window.navigator.userAgent) - ), - useBeacon = isBeaconAvailable && isBeaconRequested, - // Use GET if specified - isGetRequested = eventMethod === 'get', - // Don't use XhrHttpRequest for browsers which don't support CORS XMLHttpRequests (e.g. IE <= 9) - useXhr = Boolean(window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest()), - // Use POST if specified - usePost = !isGetRequested && useXhr && (eventMethod === 'post' || isBeaconRequested), - // Resolve all options and capabilities and decide path - path = usePost ? postPath : '/i', - // Different queue names for GET and POST since they are stored differently - queueName = `snowplowOutQueue_${id}_${usePost ? 'post2' : 'get'}`; - - // Ensure we don't set headers when beacon is the requested eventMethod as we might fallback to POST - // and end up sending them in older browsers which don't support beacon leading to inconsistencies - if (isBeaconRequested) customHeaders = {}; - - // Get buffer size or set 1 if unable to buffer - bufferSize = (useLocalStorage && localStorageAccessible() && usePost && bufferSize) || 1; - - if (useLocalStorage) { - // Catch any JSON parse errors or localStorage that might be thrown - try { - const localStorageQueue = window.localStorage.getItem(queueName); - outQueue = localStorageQueue ? JSON.parse(localStorageQueue) : []; - } catch (e) {} - } - - // Initialize to and empty array if we didn't get anything out of localStorage - if (!Array.isArray(outQueue)) { - outQueue = []; - } - - // Used by pageUnloadGuard - sharedSate.outQueues.push(outQueue); - - if (useXhr && bufferSize > 1) { - sharedSate.bufferFlushers.push(function (sync) { - if (!executingQueue) { - executeQueue(sync); - } - }); - } - - /* - * Convert a dictionary to a querystring - * The context field is the last in the querystring - */ - function getQuerystring(request: Payload) { - let querystring = '?', - lowPriorityKeys = { co: true, cx: true }, - firstPair = true; - - for (const key in request) { - if (request.hasOwnProperty(key) && !lowPriorityKeys.hasOwnProperty(key)) { - if (!firstPair) { - querystring += '&'; - } else { - firstPair = false; - } - querystring += encodeURIComponent(key) + '=' + encodeURIComponent(request[key] as string | number | boolean); - } - } - - for (const contextKey in lowPriorityKeys) { - if (request.hasOwnProperty(contextKey) && lowPriorityKeys.hasOwnProperty(contextKey)) { - querystring += '&' + contextKey + '=' + encodeURIComponent(request[contextKey] as string | number | boolean); - } - } - - return querystring; - } - - /* - * Convert numeric fields to strings to match payload_data schema - */ - function getBody(request: Payload): PostEvent { - const cleanedRequest = Object.keys(request) - .map<[string, unknown]>((k) => [k, request[k]]) - .reduce((acc, [key, value]) => { - acc[key] = (value as Object).toString(); - return acc; - }, {} as Record); - return { - evt: cleanedRequest, - bytes: getUTF8Length(JSON.stringify(cleanedRequest)), - }; - } - - /** - * Count the number of bytes a string will occupy when UTF-8 encoded - * Taken from http://stackoverflow.com/questions/2848462/count-bytes-in-textarea-using-javascript/ - * - * @param string - s - * @returns number Length of s in bytes when UTF-8 encoded - */ - function getUTF8Length(s: string) { - let len = 0; - for (let i = 0; i < s.length; i++) { - const code = s.charCodeAt(i); - if (code <= 0x7f) { - len += 1; - } else if (code <= 0x7ff) { - len += 2; - } else if (code >= 0xd800 && code <= 0xdfff) { - // Surrogate pair: These take 4 bytes in UTF-8 and 2 chars in UCS-2 - // (Assume next char is the other [valid] half and just skip it) - len += 4; - i++; - } else if (code < 0xffff) { - len += 3; - } else { - len += 4; - } - } - return len; - } - - const postable = (queue: Array | Array): queue is Array => { - return typeof queue[0] === 'object' && 'evt' in queue[0]; - }; - - /** - * Send event as POST request right away without going to queue. Used when the request surpasses maxGetBytes or maxPostBytes - * @param body POST request body - * @param configCollectorUrl full collector URL with path - */ - function sendPostRequestWithoutQueueing(body: PostEvent, configCollectorUrl: string) { - const xhr = initializeXMLHttpRequest(configCollectorUrl, true, false); - const batch = attachStmToEvent([body.evt]); - - xhr.onreadystatechange = function () { - if (xhr.readyState === 4) { - if (isSuccessfulRequest(xhr.status)) { - onRequestSuccess?.(batch); - } else { - onRequestFailure?.({ - status: xhr.status, - message: xhr.statusText, - events: batch, - willRetry: false, - }); - } - } - }; - - xhr.send(encloseInPayloadDataEnvelope(batch)); - } - - function removeEventsFromQueue(numberToSend: number): void { - for (let deleteCount = 0; deleteCount < numberToSend; deleteCount++) { - outQueue.shift(); - } - if (useLocalStorage) { - attemptWriteLocalStorage(queueName, JSON.stringify(outQueue.slice(0, maxLocalStorageQueueSize))); - } - } - - function setXhrCallbacks(xhr: XMLHttpRequest, numberToSend: number, batch: EventBatch) { - xhr.onreadystatechange = function () { - if (xhr.readyState === 4) { - clearTimeout(xhrTimeout); - if (isSuccessfulRequest(xhr.status)) { - removeEventsFromQueue(numberToSend); - onRequestSuccess?.(batch); - executeQueue(); - } else { - const willRetry = shouldRetryForStatusCode(xhr.status); - if (!willRetry) { - LOG.error(`Status ${xhr.status}, will not retry.`); - removeEventsFromQueue(numberToSend); - } - onRequestFailure?.({ - status: xhr.status, - message: xhr.statusText, - events: batch, - willRetry, - }); - - executingQueue = false; - } - } - }; - - // Time out POST requests after connectionTimeout - const xhrTimeout = setTimeout(function () { - xhr.abort(); - if (!retryFailedRequests) { - removeEventsFromQueue(numberToSend); - } - onRequestFailure?.({ - status: 0, - message: 'timeout', - events: batch, - willRetry: retryFailedRequests, - }); - executingQueue = false; - }, connectionTimeout); - } - - /* - * Queue for submission to the collector and start processing queue - */ - function enqueueRequest(request: Payload, url: string) { - configCollectorUrl = url + path; - const eventTooBigWarning = (bytes: number, maxBytes: number) => - LOG.warn('Event (' + bytes + 'B) too big, max is ' + maxBytes); - - if (usePost) { - const body = getBody(request); - if (body.bytes >= maxPostBytes) { - eventTooBigWarning(body.bytes, maxPostBytes); - sendPostRequestWithoutQueueing(body, configCollectorUrl); - return; - } else { - (outQueue as Array).push(body); - } - } else { - const querystring = getQuerystring(request); - if (maxGetBytes > 0) { - const requestUrl = createGetUrl(querystring); - const bytes = getUTF8Length(requestUrl); - if (bytes >= maxGetBytes) { - eventTooBigWarning(bytes, maxGetBytes); - if (useXhr) { - const body = getBody(request); - const postUrl = url + postPath; - sendPostRequestWithoutQueueing(body, postUrl); - } - return; - } - } - (outQueue as Array).push(querystring); - } - let savedToLocalStorage = false; - if (useLocalStorage) { - savedToLocalStorage = attemptWriteLocalStorage( - queueName, - JSON.stringify(outQueue.slice(0, maxLocalStorageQueueSize)) - ); - } - - // If we're not processing the queue, we'll start. - if (!executingQueue && (!savedToLocalStorage || outQueue.length >= bufferSize)) { - executeQueue(); - } - } - - /* - * Run through the queue of requests, sending them one at a time. - * Stops processing when we run out of queued requests, or we get an error. - */ - function executeQueue(sync: boolean = false) { - // Failsafe in case there is some way for a bad value like "null" to end up in the outQueue - while (outQueue.length && typeof outQueue[0] !== 'string' && typeof outQueue[0] !== 'object') { - outQueue.shift(); - } - - if (!outQueue.length) { - executingQueue = false; - return; - } + const eventStore = configuration.eventStore ?? newLocalStorageEventStore(configuration); + configuration.eventStore = eventStore; + const emitter = newEmitter(configuration); - // Let's check that we have a URL - if (!isString(configCollectorUrl)) { - throw 'No collector configured'; - } - - executingQueue = true; - - if (idService && !idServiceCalled) { - const xhr = initializeXMLHttpRequest(idService, false, sync); - idServiceCalled = true; - xhr.timeout = connectionTimeout; - xhr.onreadystatechange = function () { - if (xhr.readyState === 4) { - executeQueue(); - } - }; - xhr.send(); - return; - } - - if (useXhr) { - // Keep track of number of events to delete from queue - const chooseHowManyToSend = (queue: Array<{ bytes: number }>) => { - let numberToSend = 0, - byteCount = 0; - while (numberToSend < queue.length) { - byteCount += queue[numberToSend].bytes; - if (byteCount >= maxPostBytes) { - break; - } else { - numberToSend += 1; - } - } - return numberToSend; - }; - - let url: string, xhr: XMLHttpRequest, numberToSend: number; - if (postable(outQueue)) { - url = configCollectorUrl; - xhr = initializeXMLHttpRequest(url, true, sync); - numberToSend = chooseHowManyToSend(outQueue); - } else { - url = createGetUrl(outQueue[0]); - xhr = initializeXMLHttpRequest(url, false, sync); - numberToSend = 1; - } - - if (!postable(outQueue)) { - // If not postable then it's a GET so just send it - setXhrCallbacks(xhr, numberToSend, [url]); - xhr.send(); - } else { - let batch = outQueue.slice(0, numberToSend); - - if (batch.length > 0) { - let beaconStatus = false; - - const eventBatch = batch.map(function (x) { - return x.evt; - }); - - if (useBeacon) { - const blob = new Blob([encloseInPayloadDataEnvelope(attachStmToEvent(eventBatch))], { - type: 'application/json', - }); - try { - beaconStatus = window.navigator.sendBeacon(url, blob); - } catch (error) { - beaconStatus = false; - } - } - - // When beaconStatus is true, we can't _guarantee_ that it was successful (beacon queues asynchronously) - // but the browser has taken it out of our hands, so we want to flush the queue assuming it will do its job - if (beaconStatus === true) { - removeEventsFromQueue(numberToSend); - onRequestSuccess?.(batch); - executeQueue(); - } else { - const batch = attachStmToEvent(eventBatch); - setXhrCallbacks(xhr, numberToSend, batch); - xhr.send(encloseInPayloadDataEnvelope(batch)); - } - } - } - } else if (!anonymousTracking && !postable(outQueue)) { - // We can't send with this technique if anonymous tracking is on as we can't attach the header - let image = new Image(1, 1), - loading = true; - - image.onload = function () { - if (!loading) return; - loading = false; - outQueue.shift(); - if (useLocalStorage) { - attemptWriteLocalStorage(queueName, JSON.stringify(outQueue.slice(0, maxLocalStorageQueueSize))); - } - executeQueue(); - }; - - image.onerror = function () { - if (!loading) return; - loading = false; - executingQueue = false; - }; - - image.src = createGetUrl(outQueue[0]); - - setTimeout(function () { - if (loading && executingQueue) { - loading = false; - executeQueue(); - } - }, connectionTimeout); - } else { - executingQueue = false; - } - } - - /** - * Determines whether a request was successful, based on its status code - * Anything in the 2xx range is considered successful - * - * @param statusCode The status code of the request - * @returns Whether the request was successful - */ - function isSuccessfulRequest(statusCode: number): boolean { - return statusCode >= 200 && statusCode < 300; - } - - function shouldRetryForStatusCode(statusCode: number) { - // success, don't retry - if (isSuccessfulRequest(statusCode)) { - return false; - } - - if (!retryFailedRequests) { - return false; - } - - // retry if status code among custom user-supplied retry codes - if (retryStatusCodes.includes(statusCode)) { - return true; - } - - // retry if status code *not* among the don't retry codes - return !dontRetryStatusCodes.includes(statusCode); - } - - /** - * Open an XMLHttpRequest for a given endpoint with the correct credentials and header - * - * @param string - url The destination URL - * @returns object The XMLHttpRequest - */ - function initializeXMLHttpRequest(url: string, post: boolean, sync: boolean) { - const xhr = new XMLHttpRequest(); - if (post) { - xhr.open('POST', url, !sync); - xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); - } else { - xhr.open('GET', url, !sync); - } - xhr.withCredentials = withCredentials; - if (anonymousTracking) { - xhr.setRequestHeader('SP-Anonymous', '*'); - } - for (const header in customHeaders) { - if (Object.prototype.hasOwnProperty.call(customHeaders, header)) { - xhr.setRequestHeader(header, customHeaders[header]); - } - } - return xhr; - } - - /** - * Enclose an array of events in a self-describing payload_data JSON string - * - * @param array - events Batch of events - * @returns string payload_data self-describing JSON - */ - function encloseInPayloadDataEnvelope(events: Array>) { - return JSON.stringify({ - schema: PAYLOAD_DATA_SCHEMA, - data: events, - }); - } - - /** - * Attaches the STM field to outbound POST events. - * - * @param events - the events to attach the STM to - */ - function attachStmToEvent(events: Array>) { - const stm = new Date().getTime().toString(); - for (let i = 0; i < events.length; i++) { - events[i]['stm'] = stm; - } - return events; - } - - /** - * Creates the full URL for sending the GET request. Will append `stm` if enabled - * - * @param nextRequest - the query string of the next request - */ - function createGetUrl(nextRequest: string) { - if (useStm) { - return configCollectorUrl + nextRequest.replace('?', '?stm=' + new Date().getTime() + '&'); - } - - return configCollectorUrl + nextRequest; - } + sharedState.bufferFlushers.push(emitter.flush); return { - enqueueRequest: enqueueRequest, - executeQueue: () => { - if (!executingQueue) { - executeQueue(); - } - }, + enqueueRequest: emitter.input, + executeQueue: emitter.flush, + setAnonymousTracking: emitter.setAnonymousTracking, + setCollectorUrl: emitter.setCollectorUrl, + setBufferSize: emitter.setBufferSize, setUseLocalStorage: (localStorage: boolean) => { - useLocalStorage = localStorage; - }, - setAnonymousTracking: (anonymous: boolean) => { - anonymousTracking = anonymous; - }, - setCollectorUrl: (url: string) => { - configCollectorUrl = url + path; - }, - setBufferSize: (newBufferSize: number) => { - bufferSize = newBufferSize; + if (eventStore.hasOwnProperty('setUseLocalStorage')) { + const localStorageStore = eventStore as LocalStorageEventStore; + localStorageStore.setUseLocalStorage(localStorage); + } }, }; - - function hasWebKitBeaconBug(useragent: string) { - return ( - isIosVersionLessThanOrEqualTo(13, useragent) || - (isMacosxVersionLessThanOrEqualTo(10, 15, useragent) && isSafari(useragent)) - ); - - function isIosVersionLessThanOrEqualTo(major: number, useragent: string) { - const match = useragent.match('(iP.+; CPU .*OS (d+)[_d]*.*) AppleWebKit/'); - if (match && match.length) { - return parseInt(match[0]) <= major; - } - return false; - } - - function isMacosxVersionLessThanOrEqualTo(major: number, minor: number, useragent: string) { - const match = useragent.match('(Macintosh;.*Mac OS X (d+)_(d+)[_d]*.*) AppleWebKit/'); - if (match && match.length) { - return parseInt(match[0]) <= major || (parseInt(match[0]) === major && parseInt(match[1]) <= minor); - } - return false; - } - - function isSafari(useragent: string) { - return useragent.match('Version/.* Safari/') && !isChromiumBased(useragent); - } - - function isChromiumBased(useragent: string) { - return useragent.match('Chrom(e|ium)'); - } - } } diff --git a/libraries/browser-tracker-core/src/tracker/schemata.ts b/libraries/browser-tracker-core/src/tracker/schemata.ts index ccd0df3c8..59e0482d4 100644 --- a/libraries/browser-tracker-core/src/tracker/schemata.ts +++ b/libraries/browser-tracker-core/src/tracker/schemata.ts @@ -1,4 +1,3 @@ export const WEB_PAGE_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0'; export const BROWSER_CONTEXT_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/browser_context/jsonschema/2-0-0'; export const CLIENT_SESSION_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-2'; -export const PAYLOAD_DATA_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4'; diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index 4a12143b5..4d34b9a72 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -6,6 +6,7 @@ import { CorePluginConfiguration, } from '@snowplow/tracker-core'; import { SharedState } from '../state'; +import { EmitterConfigurationBase, EventStoreConfiguration } from '@snowplow/tracker-core'; type RequireAtLeastOne = { [K in keyof T]-?: Required> & Partial>> }[keyof T]; @@ -29,8 +30,6 @@ export type StateStorageStrategy = 'cookieAndLocalStorage' | 'cookie' | 'localSt export type Platform = 'web' | 'mob' | 'pc' | 'srv' | 'app' | 'tv' | 'cnsl' | 'iot'; /* The supported Cookie SameSite values */ export type CookieSameSite = 'None' | 'Lax' | 'Strict'; -/* The supported methods which events can be sent with */ -export type EventMethod = 'post' | 'get' | 'beacon'; /* Available configuration for the extended cross domain linker */ export type ExtendedCrossDomainLinkerAttributes = { @@ -49,6 +48,24 @@ export type ExtendedCrossDomainLinkerOptions = boolean | ExtendedCrossDomainLink /* Setting for the `preservePageViewIdForUrl` configuration that decides how to preserve the pageViewId on URL changes. */ export type PreservePageViewIdForUrl = boolean | 'full' | 'pathname' | 'pathnameAndSearch'; +export interface LocalStorageEventStoreConfigurationBase extends EventStoreConfiguration { + /** + * The maximum amount of events that will be buffered in local storage + * + * This is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to + * each website should the collector be unavailable due to lost connectivity. + * Will drop events once the limit is hit + * @defaultValue 1000 + */ + maxLocalStorageQueueSize?: number; + + /** + * Whether to use localStorage at all + * Default is true + */ + useLocalStorage?: boolean; +} + /** * The configuration object for initialising the tracker * @example @@ -93,12 +110,6 @@ export type TrackerConfiguration = { * @defaultValue 63072000 (2 years) */ cookieLifetime?: number; - /** - * Sets the value of the withCredentials flag - * on XMLHttpRequest (GET and POST) requests - * @defaultValue true - */ - withCredentials?: boolean; /** * How long until a session expires * @defaultValue 1800 (30 minutes) @@ -116,28 +127,6 @@ export type TrackerConfiguration = { * @defaultValue false */ respectDoNotTrack?: boolean; - /** - * The preferred technique to use to send events - * @defaultValue post - */ - eventMethod?: EventMethod; - /** - * The post path which events will be sent to - * Ensure your collector is configured to accept events on this post path - * @defaultValue '/com.snowplowanalytics.snowplow/tp2' - */ - postPath?: string; - /** - * Should the Sent Timestamp be attached to events - * @defaultValue true - */ - useStm?: boolean; - /** - * The amount of events that should be buffered before sending - * Recommended to leave as 1 to reduce change of losing events - * @defaultValue 1 - */ - bufferSize?: number; /** * Configure the cross domain linker which will add user identifiers to * links on the callback @@ -148,16 +137,6 @@ export type TrackerConfiguration = { * more user/session information to pass to the cross domain navigation. */ useExtendedCrossDomainLinker?: ExtendedCrossDomainLinkerOptions; - /** - * The max size a POST request can be before the tracker will force send it - * @defaultValue 40000 - */ - maxPostBytes?: number; - /** - * The max size a GET request (its complete URL) can be. Requests over this size will be tried as a POST request. - * @defaultValue unlimited - */ - maxGetBytes?: number; /** * Whether the tracker should attempt to figure out what the root * domain is to store cookies on @@ -173,15 +152,6 @@ export type TrackerConfiguration = { * @defaultValue cookieAndLocalStorage */ stateStorageStrategy?: StateStorageStrategy; - /** - * The maximum amount of events that will be buffered in local storage - * - * This is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to - * each website should the collector be unavailable due to lost connectivity. - * Will drop events once the limit is hit - * @defaultValue 1000 - */ - maxLocalStorageQueueSize?: number; /** * Whether to reset the Activity Tracking counters on a new page view. * Disabling this leads to legacy behavior due to a "bug". @@ -189,11 +159,6 @@ export type TrackerConfiguration = { * @defaultValue true */ resetActivityTrackingOnPageView?: boolean; - /** - * How long to wait before aborting requests to the collector - * @defaultValue 5000 (milliseconds) - */ - connectionTimeout?: number; /** * Configuration for Anonymous Tracking * @defaultValue false @@ -209,66 +174,11 @@ export type TrackerConfiguration = { * @defaultValue [] */ plugins?: Array; - /** - * An object of key value pairs which represent headers to - * attach when sending a POST request, only works for POST - * @defaultValue `{}` - */ - customHeaders?: Record; - /** - * List of HTTP response status codes for which events sent to Collector should be retried in future requests. - * Only non-success status codes are considered (greater or equal to 300). - * The retry codes are only considered for GET and POST requests. - * By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422. - */ - retryStatusCodes?: number[]; - /** - * List of HTTP response status codes for which events sent to Collector should not be retried in future request. - * Only non-success status codes are considered (greater or equal to 300). - * The don't retry codes are only considered for GET and POST requests. - * By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422. - */ - dontRetryStatusCodes?: number[]; /** * Callback fired whenever the session identifier is updated. * @param updatedSession - On session update, the new session information plus the previous session id. */ onSessionUpdateCallback?: (updatedSession: ClientSession) => void; - /** - * Id service full URL. This URL will be added to the queue and will be called using a GET method. - * This option is there to allow the service URL to be called in order to set any required identifiers e.g. extra cookies. - * - * The request respects the `anonymousTracking` option, including the SP-Anonymous header if needed, and any additional custom headers from the customHeaders option. - */ - idService?: string; - /** - * Whether to retry failed requests to the collector. - * - * Failed requests are requests that failed due to - * [timeouts](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout_event), - * [network errors](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error_event), - * and [abort events](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort_event). - * - * Takes precedent over `retryStatusCodes` and `dontRetryStatusCodes`. - * - * @defaultValue true - */ - retryFailedRequests?: boolean; - /** - * a callback function to be executed whenever a request is successfully sent to the collector. - * In practice this means any request which returns a 2xx status code will trigger this callback. - * - * @param data - The event batch that was successfully sent - */ - onRequestSuccess?: (data: EventBatch) => void; - - /** - * a callback function to be executed whenever a request fails to be sent to the collector. - * This is the inverse of the onRequestSuccess callback, so any non 2xx status code will trigger this callback. - * - * @param data - The data associated with the event(s) that failed to send - */ - onRequestFailure?: (data: RequestFailure) => void; /** * Decide how the `pageViewId` should be preserved based on the URL. @@ -280,7 +190,8 @@ export type TrackerConfiguration = { * Defaults to `false`. */ preservePageViewIdForUrl?: PreservePageViewIdForUrl; -}; +} & EmitterConfigurationBase & + LocalStorageEventStoreConfigurationBase; /** * The data which is passed to the Activity Tracking callback @@ -708,34 +619,13 @@ export interface ClientSession extends Record { firstEventTimestamp: string | null; } -/** - * A collection of GET events which are sent to the collector. - * This will be a collection of query strings. - */ -export type GetBatch = string[]; - -/** - * A collection of POST events which are sent to the collector. - * This will be a collection of JSON objects. - */ -export type PostBatch = Record[]; - -/** - * A collection of events which are sent to the collector. - * This can either be a collection of query strings or JSON objects. - */ -export type EventBatch = GetBatch | PostBatch; - -/** - * The data that will be available to the `onRequestFailure` callback - */ -export type RequestFailure = { - /** The batch of events that failed to send */ - events: EventBatch; - /** The status code of the failed request */ - status?: number; - /** The error message of the failed request */ - message?: string; - /** Whether the tracker will retry the request */ - willRetry: boolean; -}; +export { + RequestFailure, + EventBatch, + EventMethod, + EventStore, + EventStoreIterator, + EventStorePayload, + EventStoreConfiguration, + Payload, +} from '@snowplow/tracker-core'; diff --git a/libraries/browser-tracker-core/test/out_queue.test.ts b/libraries/browser-tracker-core/test/out_queue.test.ts index c2550a40c..aae8e4667 100644 --- a/libraries/browser-tracker-core/test/out_queue.test.ts +++ b/libraries/browser-tracker-core/test/out_queue.test.ts @@ -28,214 +28,174 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import { OutQueueManager, OutQueue } from '../src/tracker/out_queue'; +import { newOutQueue, OutQueue } from '../src/tracker/out_queue'; import { SharedState } from '../src/state'; -import { EventBatch, RequestFailure } from '../src/tracker/types'; - -const readPostQueue = () => { - return JSON.parse( - window.localStorage.getItem('snowplowOutQueue_sp_post2') ?? fail('Unable to find local storage queue') - ); -}; - -const readGetQueue = () => - JSON.parse(window.localStorage.getItem('snowplowOutQueue_sp_get') ?? fail('Unable to find local storage queue')); - -const getQuerystring = (p: object) => - '?' + - Object.entries(p) - .map(([k, v]) => k + '=' + encodeURIComponent(v)) - .join('&'); +import { EventStore, newInMemoryEventStore, EventBatch, RequestFailure } from '@snowplow/tracker-core'; + +function newMockEventStore({ maxSize }: { maxSize: number }): EventStore & { addCount: () => number } { + let eventStore = newInMemoryEventStore({ maxSize }); + let addCount = 0; + + return { + add: (payload) => { + addCount++; + return eventStore.add(payload); + }, + removeHead: eventStore.removeHead, + count: eventStore.count, + iterator: eventStore.iterator, + getAll: eventStore.getAll, + getAllPayloads: eventStore.getAllPayloads, + addCount: () => addCount, + }; +} describe('OutQueueManager', () => { const maxQueueSize = 2; - var xhrMock: Partial; - var xhrOpenMock: jest.Mock; + let eventStore: EventStore & { addCount: () => number }; + let responseStatusCode: number; + let requests: Request[]; + const customFetch = async (request: Request) => { + requests.push(request); + return new Response(null, { status: responseStatusCode }); + }; + beforeEach(() => { - localStorage.clear(); - - xhrOpenMock = jest.fn(); - xhrMock = { - open: xhrOpenMock, - send: jest.fn(), - setRequestHeader: jest.fn(), - withCredentials: true, - abort: jest.fn(), - }; - - jest.spyOn(window, 'XMLHttpRequest').mockImplementation(() => xhrMock as XMLHttpRequest); + requests = []; + responseStatusCode = 200; + eventStore = newMockEventStore({ maxSize: maxQueueSize }); }); - const respondMockRequest = (status: number, statusText: string = '') => { - (xhrMock as any).status = status; - (xhrMock as any).response = ''; - (xhrMock as any).statusText = statusText; - (xhrMock as any).readyState = 4; - (xhrMock as any).onreadystatechange(); - }; - describe('POST requests', () => { - var outQueue: OutQueue; - - const getQueue = () => { - return JSON.parse( - window.localStorage.getItem('snowplowOutQueue_sp_post2') ?? fail('Unable to find local storage queue') - ); - }; + let outQueue: OutQueue; beforeEach(() => { - outQueue = OutQueueManager( - 'sp', - new SharedState(), - true, - 'post', - '/com.snowplowanalytics.snowplow/tp2', - 1, - 40000, - 0, // maxGetBytes – 0 for no limit - false, - maxQueueSize, - 5000, - false, - {}, - true, - [401], // retry status codes - override don't retry ones - [401, 505] // don't retry status codes + outQueue = newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + useStm: false, + retryStatusCodes: [401], // retry status codes - override don't retry ones + dontRetryStatusCodes: [401, 505], // don't retry status codes + eventStore, + customFetch, + }, + new SharedState() ); }); - it('should add event to outQueue and store event in local storage', () => { + it('should add event to outQueue and store event in local storage', async () => { const expected = { e: 'pv', eid: '20269f92-f07c-44a6-87ef-43e171305076' }; - outQueue.enqueueRequest(expected, 'http://example.com'); + outQueue.setBufferSize(5); + await outQueue.enqueueRequest(expected); - const retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(1); - expect(retrievedQueue[0]).toMatchObject({ bytes: 55, evt: expected }); + expect(await eventStore.count()).toEqual(1); + const events = await eventStore.getAllPayloads(); + expect(events[0]).toMatchObject(expected); }); - it('should add event to outQueue and store only events up to max local storage queue size in local storage', () => { + it('should add event to outQueue and store only events up to max local storage queue size in local storage', async () => { const expected1 = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; const expected2 = { e: 'pv', eid: '6000c7bd-08a6-49c2-b61c-9531d3d46200' }; const unexpected = { e: 'pv', eid: '7a3391a8-622b-4ce4-80ed-c941aa05baf5' }; - outQueue.enqueueRequest(expected1, 'http://example.com'); - outQueue.enqueueRequest(expected2, 'http://example.com'); - outQueue.enqueueRequest(unexpected, 'http://example.com'); + outQueue.setBufferSize(5); + await outQueue.enqueueRequest(unexpected); + await outQueue.enqueueRequest(expected1); + await outQueue.enqueueRequest(expected2); - const retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(maxQueueSize); - expect(retrievedQueue[0]).toMatchObject({ bytes: 55, evt: expected1 }); - expect(retrievedQueue[1]).toMatchObject({ bytes: 55, evt: expected2 }); + expect(await eventStore.count()).toEqual(maxQueueSize); + const events = await eventStore.getAllPayloads(); + expect(events[0]).toMatchObject(expected1); + expect(events[1]).toMatchObject(expected2); }); - it('should remove events from event queue on success', () => { + it('should remove events from event queue on success', async () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; - outQueue.enqueueRequest(request, 'http://example.com'); - - let retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(1); + await outQueue.enqueueRequest(request); - respondMockRequest(200); - retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(0); + expect(await eventStore.count()).toEqual(0); + expect(requests).toHaveLength(1); }); - it('should keep events in queue on failure', () => { + it('should keep events in queue on failure', async () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; - outQueue.enqueueRequest(request, 'http://example.com'); + responseStatusCode = 500; + await outQueue.enqueueRequest(request); - let retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(1); - - respondMockRequest(500); - retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(1); + expect(await eventStore.count()).toEqual(1); + expect(requests).toHaveLength(1); }); - it('should retry on custom retry status code', () => { + it('should retry on custom retry status code', async () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; - outQueue.enqueueRequest(request, 'http://example.com'); - - let retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(1); + responseStatusCode = 401; + await outQueue.enqueueRequest(request); - respondMockRequest(401); - retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(1); + expect(requests).toHaveLength(1); + expect(await eventStore.count()).toEqual(1); }); - it("should not retry on custom don't retry status code", () => { + it("should not retry on custom don't retry status code", async () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; - outQueue.enqueueRequest(request, 'http://example.com'); - - let retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(1); + responseStatusCode = 505; + await outQueue.enqueueRequest(request); - respondMockRequest(505); - retrievedQueue = getQueue(); - expect(retrievedQueue).toHaveLength(0); + expect(requests).toHaveLength(1); + expect(await eventStore.count()).toEqual(0); }); }); describe('GET requests', () => { - var getOutQueue: (maxGetBytes: number) => OutQueue; + let getOutQueue: (maxGetBytes?: number) => OutQueue; beforeEach(() => { getOutQueue = (maxGetBytes) => - OutQueueManager( - 'sp', - new SharedState(), - true, - 'get', - '/com.snowplowanalytics.snowplow/tp2', - 1, - 40000, - maxGetBytes, - false, - maxQueueSize, - 5000, - false, - {}, - true, - [], - [] + newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + eventMethod: 'get', + maxGetBytes, + useStm: false, + maxLocalStorageQueueSize: maxQueueSize, + eventStore, + customFetch, + }, + new SharedState() ); }); - it('should add large event to out queue without bytes limit', () => { - var outQueue = getOutQueue(0); + it('should add large event to out queue without bytes limit', async () => { + let outQueue = getOutQueue(undefined); const expected = { e: 'pv', eid: '20269f92-f07c-44a6-87ef-43e171305076', aid: 'x'.repeat(1000) }; - outQueue.enqueueRequest(expected, ''); + await outQueue.enqueueRequest(expected); - const retrievedQueue = JSON.parse( - window.localStorage.getItem('snowplowOutQueue_sp_get') ?? fail('Unable to find local storage queue') - ); - expect(retrievedQueue).toHaveLength(1); - expect(retrievedQueue[0]).toEqual(getQuerystring(expected)); + expect(eventStore.addCount()).toEqual(1); + expect(await eventStore.count()).toEqual(0); + expect(requests).toHaveLength(1); }); - it('should not add event larger than max bytes limit to queue but should try to send it as POST', () => { - var outQueue = getOutQueue(100); + it('should not add event larger than max bytes limit to queue but should try to send it as POST', async () => { + let outQueue = getOutQueue(100); const consoleWarn = jest.fn(); global.console.warn = consoleWarn; const expected = { e: 'pv', eid: '20269f92-f07c-44a6-87ef-43e171305076', aid: 'x'.repeat(1000) }; - outQueue.enqueueRequest(expected, 'http://acme.com'); + outQueue.enqueueRequest(expected); - expect(window.localStorage.getItem('snowplowOutQueue_sp_get')).toBeNull; // should not save to local storage + expect(eventStore.addCount()).toEqual(0); + expect(await eventStore.count()).toEqual(0); expect(consoleWarn.mock.calls.length).toEqual(1); // should log a warning message - expect(xhrOpenMock).toHaveBeenCalledWith('POST', 'http://acme.com/com.snowplowanalytics.snowplow/tp2', true); // should make the POST request + expect(requests).toHaveLength(1); }); }); describe('idService requests', () => { const idServiceEndpoint = 'http://example.com/id'; - const readGetQueue = () => - JSON.parse(window.localStorage.getItem('snowplowOutQueue_sp_get') ?? fail('Unable to find local storage queue')); - const getQuerystring = (p: object) => '?' + Object.entries(p) @@ -243,193 +203,122 @@ describe('OutQueueManager', () => { .join('&'); describe('GET requests', () => { - const createGetQueue = () => - OutQueueManager( - 'sp', - new SharedState(), - true, - 'get', - '/com.snowplowanalytics.snowplow/tp2', - 1, - 40000, - 0, - false, - maxQueueSize, - 5000, - false, - {}, - true, - [], - [], - idServiceEndpoint - ); + let createGetQueue = () => newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + eventMethod: 'get', + useStm: false, + maxLocalStorageQueueSize: maxQueueSize, + eventStore, + customFetch, + idService: idServiceEndpoint, + }, + new SharedState() + ); + - it('should first execute the idService request and in the same `enqueueRequest` the tracking request', () => { + it('should first execute the idService request and in the same `enqueueRequest` the tracking request', async () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; const getQueue = createGetQueue(); - getQueue.enqueueRequest(request, 'http://example.com'); - - let retrievedQueue = readGetQueue(); - expect(retrievedQueue).toHaveLength(1); - /* The first XHR is for the idService */ - respondMockRequest(200); - retrievedQueue = readGetQueue(); - expect(retrievedQueue).toHaveLength(1); - expect(retrievedQueue[0]).toEqual(getQuerystring(request)); - /* The second XHR is the event request */ - respondMockRequest(200); - retrievedQueue = readGetQueue(); - expect(retrievedQueue).toHaveLength(0); + await getQueue.enqueueRequest(request); + + expect(requests).toHaveLength(2); + expect(requests[0].url).toEqual(idServiceEndpoint); + expect(requests[1].url).toEqual('http://example.com/i' + getQuerystring(request)); }); - it('should first execute the idService request and in the same `enqueueRequest` the tracking request irregardless of failure of the idService endpoint', () => { + it('should first execute the idService request and in the same `enqueueRequest` the tracking request irregardless of failure of the idService endpoint', async () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; const getQueue = createGetQueue(); - getQueue.enqueueRequest(request, 'http://example.com'); - - let retrievedQueue = readGetQueue(); - expect(retrievedQueue).toHaveLength(1); - /* The first XHR is for the idService */ - respondMockRequest(500); - retrievedQueue = readGetQueue(); - expect(retrievedQueue).toHaveLength(1); - expect(retrievedQueue[0]).toEqual(getQuerystring(request)); - /* The second XHR is the event request */ - respondMockRequest(200); - retrievedQueue = readGetQueue(); - expect(retrievedQueue).toHaveLength(0); + responseStatusCode = 500; + await getQueue.enqueueRequest(request); + + expect(requests).toHaveLength(2); + expect(requests[0].url).toEqual(idServiceEndpoint); + expect(requests[1].url).toEqual('http://example.com/i' + getQuerystring(request)); + expect(await eventStore.count()).toEqual(1); }); }); describe('POST requests', () => { - const createPostQueue = () => - OutQueueManager( - 'sp', - new SharedState(), - true, - 'post', - '/com.snowplowanalytics.snowplow/tp2', - 1, - 40000, - 0, - false, - maxQueueSize, - 5000, - false, - {}, - true, - [], - [], - idServiceEndpoint - ); + let createPostQueue = () => newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + eventMethod: 'post', + eventStore, + customFetch, + idService: idServiceEndpoint, + }, + new SharedState() + ); - it('should first execute the idService request and in the same `enqueueRequest` the tracking request irregardless of failure of the idService endpoint', () => { + it('should first execute the idService request and in the same `enqueueRequest` the tracking request irregardless of failure of the idService endpoint', async () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; const postQueue = createPostQueue(); - postQueue.enqueueRequest(request, 'http://example.com'); - - let retrievedQueue = readPostQueue(); - expect(retrievedQueue).toHaveLength(1); - /* The first XHR is for the idService */ - respondMockRequest(500); - retrievedQueue = readPostQueue(); - expect(retrievedQueue).toHaveLength(1); - expect(retrievedQueue[0].evt).toEqual(request); - /* The second XHR is the event request */ - respondMockRequest(200); - retrievedQueue = readPostQueue(); - expect(retrievedQueue).toHaveLength(0); + await postQueue.enqueueRequest(request); + + expect(requests).toHaveLength(2); + expect(requests[0].url).toEqual(idServiceEndpoint); + expect(requests[1].url).toEqual('http://example.com/com.snowplowanalytics.snowplow/tp2'); }); }); }); describe('retryFailures = true', () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; - let createOutQueue = () => - OutQueueManager( - 'sp', - new SharedState(), - true, - 'post', - '/com.snowplowanalytics.snowplow/tp2', - 1, - 40000, - 0, - false, - maxQueueSize, - 10, - false, - {}, - true, - [], - [], - '', - true - ); + let createOutQueue = () => newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + eventMethod: 'post', + retryFailedRequests: true, + eventStore, + customFetch, + }, + new SharedState() + ); - it('should remain in queue on failure', (done) => { + it('should remain in queue on failure', async () => { let outQueue = createOutQueue(); - outQueue.enqueueRequest(request, 'http://example.com'); + responseStatusCode = 500; + await outQueue.enqueueRequest(request); - let retrievedQueue = readPostQueue(); - expect(retrievedQueue).toHaveLength(1); - - respondMockRequest(0); - - setTimeout(() => { - retrievedQueue = readPostQueue(); - expect(retrievedQueue).toHaveLength(1); - done(); - }, 20); + expect(requests).toHaveLength(1); + expect(await eventStore.count()).toEqual(1); }); }); describe('retryFailures = false', () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; - let createOutQueue = () => - OutQueueManager( - 'sp', - new SharedState(), - true, - 'post', - '/com.snowplowanalytics.snowplow/tp2', - 1, - 40000, - 0, - false, - maxQueueSize, - 0, - false, - {}, - true, - [], - [], - '', - false - ); + let createOutQueue = () => newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + eventMethod: 'post', + retryFailedRequests: false, + eventStore, + customFetch, + }, + new SharedState() + ); - it('should remove from queue on failure', (done) => { + it('should remove from queue on failure', async () => { let outQueue = createOutQueue(); - outQueue.enqueueRequest(request, 'http://example.com'); - - let retrievedQueue = readPostQueue(); - expect(retrievedQueue).toHaveLength(1); + responseStatusCode = 500; + await outQueue.enqueueRequest(request); - respondMockRequest(0); - - setTimeout(() => { - retrievedQueue = readPostQueue(); - expect(retrievedQueue).toHaveLength(0); - done(); - }, 20); + expect(requests).toHaveLength(1); + expect(await eventStore.count()).toEqual(0); }); }); type createQueueArgs = { - method: string; + method: 'get' | 'post'; onSuccess?: (data: EventBatch) => void; onFailure?: (data: RequestFailure) => void; maxPostBytes?: number; @@ -437,117 +326,114 @@ describe('OutQueueManager', () => { }; const createQueue = (args: createQueueArgs) => - OutQueueManager( - 'sp', - new SharedState(), - true, - args.method, - '/com.snowplowanalytics.snowplow/tp2', - 1, - args.maxPostBytes ?? 40000, - args.maxGetBytes ?? 0, - true, - maxQueueSize, - 5000, - false, - {}, - true, - [], - [], - '', - false, - args.onSuccess, - args.onFailure + newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + eventMethod: args.method, + maxPostBytes: args.maxPostBytes, + maxGetBytes: args.maxGetBytes, + maxLocalStorageQueueSize: maxQueueSize, + onRequestSuccess: args.onSuccess, + onRequestFailure: args.onFailure, + customFetch, + eventStore, + }, + new SharedState() ); describe('onRequestSuccess', () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; describe('POST requests', () => { - const method = 'POST'; + const method = 'post'; - it('should fire on a successful request', () => { - const callbackStorage: EventBatch[] = []; - const onSuccess = (e: EventBatch) => { - callbackStorage.push(e); - }; + it('should fire on a successful request', async () => { + const callbacks: EventBatch[] = []; - const postQueue = createQueue({ method, onSuccess }); - postQueue.enqueueRequest(request, 'http://example.com'); + await new Promise(async (resolve) => { + const onSuccess = (e: EventBatch) => { + callbacks.push(e); + resolve(null); + }; - expect(readPostQueue()).toHaveLength(1); + const postQueue = createQueue({ method, onSuccess }); + await postQueue.enqueueRequest(request); + }); - respondMockRequest(200); + expect(requests).toHaveLength(1); + expect(eventStore.addCount()).toEqual(1); + expect(callbacks).toHaveLength(1); + expect(callbacks[0]).toHaveLength(1); - expect(readPostQueue()).toHaveLength(0); - expect(callbackStorage).toHaveLength(1); - - let dataFromCallback = callbackStorage[0][0] as Record; - expect(dataFromCallback.e).toEqual(request.e); - expect(dataFromCallback.eid).toEqual(request.eid); - expect(dataFromCallback.stm).toMatch(/\d{13}/); + let dataFromCallback = callbacks[0][0]; + expect(dataFromCallback).toEqual(request); }); // Oversized events don't get placed in the queue, but the callback should still fire - it('should fire on a successful oversized request', () => { + it('should fire on a successful oversized request', async () => { const callbackStorage: EventBatch[] = []; - const onSuccess = (e: EventBatch) => { - callbackStorage.push(e); - }; - - const postQueue = createQueue({ method, onSuccess, maxPostBytes: 1 }); - postQueue.enqueueRequest(request, 'http://example.com'); - - respondMockRequest(200); - - expect(callbackStorage).toHaveLength(1); - - let dataFromCallback = callbackStorage[0][0] as Record; - expect(dataFromCallback.e).toEqual(request.e); - expect(dataFromCallback.eid).toEqual(request.eid); - expect(dataFromCallback.stm).toMatch(/\d{13}/); + await new Promise(async (resolve) => { + const onSuccess = (e: EventBatch) => { + callbackStorage.push(e); + resolve(null); + }; + + const postQueue = createQueue({ method, onSuccess, maxPostBytes: 1 }); + await postQueue.enqueueRequest(request); + }); + + expect(requests).toHaveLength(1); + expect(eventStore.addCount()).toEqual(0); + let dataFromCallback = callbackStorage[0][0]; + expect(dataFromCallback).toEqual(request); }); }); describe('GET requests', () => { - const method = 'GET'; + const method = 'get'; - it('should fire on a successful request', () => { + it('should fire on a successful request', async () => { let callbackStorage: EventBatch[] = []; - const onSuccess = (e: EventBatch) => { - callbackStorage.push(e); - }; - - const getQueue = createQueue({ method, onSuccess }); - getQueue.enqueueRequest(request, 'http://example.com'); - - expect(readGetQueue()).toHaveLength(1); - - respondMockRequest(200); - - expect(readGetQueue()).toHaveLength(0); + await new Promise(async (resolve) => { + const onSuccess = (e: EventBatch) => { + callbackStorage.push(e); + resolve(null); + }; + + const getQueue = createQueue({ method, onSuccess }); + await getQueue.enqueueRequest(request); + }); + + expect(requests).toHaveLength(1); + expect(eventStore.addCount()).toEqual(1); expect(callbackStorage).toHaveLength(1); + expect(callbackStorage[0]).toHaveLength(1); - let dataFromCallback = callbackStorage[0][0] as string; - expect(dataFromCallback).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); + let dataFromCallback = callbackStorage[0][0]; + expect(dataFromCallback).toEqual(request); }); // A single oversized events means no queue, but the callback should still fire - it('should fire the onRequestSuccess on a successful oversized request', () => { + it('should fire the onRequestSuccess on a successful oversized request', async () => { let callbackStorage: EventBatch[] = []; - const onSuccess = (e: EventBatch) => { - callbackStorage.push(e); - }; - - const getQueue = createQueue({ method, onSuccess }); - getQueue.enqueueRequest(request, 'http://example.com'); - - respondMockRequest(200); - + await new Promise(async (resolve) => { + const onSuccess = (e: EventBatch) => { + callbackStorage.push(e); + resolve(null); + }; + + const getQueue = createQueue({ method, onSuccess, maxGetBytes: 1 }); + await getQueue.enqueueRequest(request); + }); + + expect(requests).toHaveLength(1); + expect(eventStore.addCount()).toEqual(0); expect(callbackStorage).toHaveLength(1); + expect(callbackStorage[0]).toHaveLength(1); - let dataFromCallback = callbackStorage[0][0] as string; - expect(dataFromCallback).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); + let dataFromCallback = callbackStorage[0][0]; + expect(dataFromCallback).toEqual(request); }); }); }); @@ -555,137 +441,131 @@ describe('OutQueueManager', () => { describe('onRequestFailure', () => { const request = { e: 'pv', eid: '65cb78de-470c-4764-8c10-02bd79477a3a' }; - const createQueue = (args: createQueueArgs) => - OutQueueManager( - 'sp', - new SharedState(), - true, - args.method, - '/com.snowplowanalytics.snowplow/tp2', - 1, - 40000, - 0, - true, - maxQueueSize, - 5000, - false, - {}, - true, - [], - [500], - '', - false, - args.onSuccess, - args.onFailure - ); + const createQueue = (args: createQueueArgs) => + newOutQueue( + { + endpoint: 'http://example.com', + trackerId: 'sp', + eventMethod: args.method, + maxPostBytes: args.maxPostBytes, + maxGetBytes: args.maxGetBytes, + maxLocalStorageQueueSize: maxQueueSize, + onRequestSuccess: args.onSuccess, + onRequestFailure: args.onFailure, + dontRetryStatusCodes: [500], + customFetch, + eventStore, + }, + new SharedState() + ); describe('POST requests', () => { - const method = 'POST'; + const method = 'post'; - it('should fire on a failed request', () => { + it('should fire on a failed request', async () => { const callbackStorage: RequestFailure[] = []; - const onFailure = (e: RequestFailure) => { - callbackStorage.push(e); - }; + await new Promise(async (resolve) => { + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + resolve(null); + }; - const postQueue = createQueue({ method, onFailure }); - postQueue.enqueueRequest(request, 'http://example.com'); + responseStatusCode = 500; - expect(readPostQueue()).toHaveLength(1); + const postQueue = createQueue({ method, onFailure }); + await postQueue.enqueueRequest(request); + }); - respondMockRequest(500, 'Internal Server Error'); - - expect(readPostQueue()).toHaveLength(0); + expect(requests).toHaveLength(1); expect(callbackStorage).toHaveLength(1); + expect(await eventStore.count()).toEqual(0); let dataFromCallback = callbackStorage[0] as RequestFailure; - const event = dataFromCallback.events[0] as Record; - expect(event.e).toEqual(request.e); - expect(event.eid).toEqual(request.eid); - expect(event.stm).toMatch(/\d{13}/); + const event = dataFromCallback.events[0]; + expect(event).toEqual(request); expect(dataFromCallback.status).toEqual(500); - expect(dataFromCallback.message).toEqual('Internal Server Error'); expect(dataFromCallback.willRetry).toEqual(false); }); // A single oversized events means no queue, but the callback should still fire - it('should fire on a failed oversized request', () => { + it('should fire on a failed oversized request', async () => { const callbackStorage: RequestFailure[] = []; - const onFailure = (e: RequestFailure) => { - callbackStorage.push(e); - }; + await new Promise(async (resolve) => { + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + resolve(null); + }; - const postQueue = createQueue({ method, onFailure, maxPostBytes: 1 }); - postQueue.enqueueRequest(request, 'http://example.com'); + responseStatusCode = 501; - respondMockRequest(0, 'Request failed'); + const postQueue = createQueue({ method, onFailure, maxPostBytes: 1 }); + await postQueue.enqueueRequest(request); + }); + expect(requests).toHaveLength(1); expect(callbackStorage).toHaveLength(1); + expect(eventStore.addCount()).toEqual(0); + expect(await eventStore.count()).toEqual(0); - let dataFromCallback = callbackStorage[0].events[0] as Record; - expect(dataFromCallback.e).toEqual(request.e); - expect(dataFromCallback.eid).toEqual(request.eid); - - // The payload will have had `stm` added to it - expect(dataFromCallback.stm).toMatch(/\d{13}/); - expect(callbackStorage[0].status).toEqual(0); - expect(callbackStorage[0].message).toEqual('Request failed'); + let dataFromCallback = callbackStorage[0].events[0]; + expect(dataFromCallback).toEqual(request); + expect(callbackStorage[0].status).toEqual(501); }); }); describe('GET requests', () => { - const method = 'GET'; + const method = 'get'; - it('should fire on a failed request', () => { + it('should fire on a failed request', async () => { let callbackStorage: RequestFailure[] = []; - const onFailure = (e: RequestFailure) => { - callbackStorage.push(e); - }; + await new Promise(async (resolve) => { + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + resolve(null); + }; - const getQueue = createQueue({ method, onFailure }); - getQueue.enqueueRequest(request, 'http://example.com'); + responseStatusCode = 500; - expect(readGetQueue()).toHaveLength(1); + const getQueue = createQueue({ method, onFailure }); + await getQueue.enqueueRequest(request); + }); - respondMockRequest(500, 'Internal Server Error'); - - expect(readGetQueue()).toHaveLength(0); + expect(requests).toHaveLength(1); expect(callbackStorage).toHaveLength(1); + expect(await eventStore.count()).toEqual(0); let dataFromCallback = callbackStorage[0] as RequestFailure; - expect(dataFromCallback.events[0]).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); - + expect(dataFromCallback.events[0]).toEqual(request); expect(dataFromCallback.status).toEqual(500); - expect(dataFromCallback.message).toEqual('Internal Server Error'); expect(dataFromCallback.willRetry).toEqual(false); }); // A single oversized events means no queue, but the callback should still fire - it('should fire on a failed oversized request', () => { + it('should fire on a failed oversized request', async () => { let callbackStorage: RequestFailure[] = []; - const onFailure = (e: RequestFailure) => { - callbackStorage.push(e); - }; + await new Promise(async (resolve) => { + const onFailure = (e: RequestFailure) => { + callbackStorage.push(e); + resolve(null); + }; - const getQueue = createQueue({ method, onFailure, maxPostBytes: 1 }); - getQueue.enqueueRequest(request, 'http://example.com'); + responseStatusCode = 500; - expect(readGetQueue()).toHaveLength(1); + const getQueue = createQueue({ method, onFailure, maxGetBytes: 1 }); + await getQueue.enqueueRequest(request); + }); - respondMockRequest(500, 'Internal Server Error'); - - expect(readGetQueue()).toHaveLength(0); + expect(requests).toHaveLength(1); expect(callbackStorage).toHaveLength(1); + expect(eventStore.addCount()).toEqual(0); - let dataFromCallback = callbackStorage[0] as RequestFailure; - - expect(dataFromCallback.events[0]).toMatch(/\?stm=\d{13}&e=pv&eid=65cb78de-470c-4764-8c10-02bd79477a3a/); + let dataFromCallback = callbackStorage[0]; + expect(dataFromCallback.events[0]).toEqual(request); expect(dataFromCallback.status).toEqual(500); - expect(dataFromCallback.message).toEqual('Internal Server Error'); expect(dataFromCallback.willRetry).toEqual(false); }); }); diff --git a/libraries/tracker-core/src/emitter/emitter_event.ts b/libraries/tracker-core/src/emitter/emitter_event.ts new file mode 100644 index 000000000..1f0db2899 --- /dev/null +++ b/libraries/tracker-core/src/emitter/emitter_event.ts @@ -0,0 +1,160 @@ +import { EventStorePayload } from "../event_store_payload"; +import { Payload } from "../payload"; + +/** + * Wraps a payload and provides methods to get the payload ready for a GET or POST request + */ +export interface EmitterEvent { + /** + * Get the original payload + */ + getPayload: () => Payload; + /** + * Get the server anonymization setting + * @returns true if the server should anonymize the IP address + */ + getServerAnonymization: () => boolean; + /** + * Prepare the payload for a POST request + */ + getPOSTRequestBody: () => Record; + /** + * Calculate the byte size of the payload when POSTed + */ + getPOSTRequestBytesCount: () => number; + /** + * Get the URL for a GET request + */ + getGETRequestURL: (collectorUrl: string, useStm: boolean) => string; + /** + * Calculate the byte size of the payload when sent via GET + */ + getGETRequestBytesCount: () => number; +} + +/** + * Count the number of bytes a string will occupy when UTF-8 encoded + * Taken from http://stackoverflow.com/questions/2848462/count-bytes-in-textarea-using-javascript/ + * + * @param s - The string + * @returns number Length of s in bytes when UTF-8 encoded + */ +function getUTF8Length(s: string) { + let len = 0; + for (let i = 0; i < s.length; i++) { + const code = s.charCodeAt(i); + if (code <= 0x7f) { + len += 1; + } else if (code <= 0x7ff) { + len += 2; + } else if (code >= 0xd800 && code <= 0xdfff) { + // Surrogate pair: These take 4 bytes in UTF-8 and 2 chars in UCS-2 + // (Assume next char is the other [valid] half and just skip it) + len += 4; + i++; + } else if (code < 0xffff) { + len += 3; + } else { + len += 4; + } + } + return len; +} + +/* + * Convert a dictionary to a querystring + * The context field is the last in the querystring + */ +function getQuerystring(request: Payload) { + let lowPriorityKeys: { [key: string]: boolean } = { co: true, cx: true }; + + let args: string[] = []; + + for (const key in request) { + if (request.hasOwnProperty(key) && !lowPriorityKeys[key]) { + args.push(key + '=' + encodeURIComponent(request[key] as string | number | boolean)); + } + } + + for (const contextKey in lowPriorityKeys) { + if (request.hasOwnProperty(contextKey) && lowPriorityKeys[contextKey]) { + args.push(contextKey + '=' + encodeURIComponent(request[contextKey] as string | number | boolean)); + } + } + + return '?' + args.join('&'); +} + +/* + * Convert numeric fields to strings to match payload_data schema + */ +function preparePostBody(request: Payload): Record { + const cleanedRequest = Object.keys(request) + .map<[string, unknown]>((k) => [k, request[k]]) + .reduce((acc, [key, value]) => { + acc[key] = (value as Object).toString(); + return acc; + }, {} as Record); + return cleanedRequest; +} + +export function newEmitterEvent(eventStorePayload: EventStorePayload): EmitterEvent { + let querystring: string | null = null; + let postBody: Record | null = null; + let byteCountGET: number | null = null; + let byteCountPOST: number | null = null; + + function getPayload(): Payload { + return eventStorePayload.payload; + } + + function getServerAnonymization(): boolean { + return eventStorePayload.svrAnon ?? false; + } + + function getCachedQuerystring(payload: Payload): string { + if (querystring === null) { + querystring = getQuerystring(payload); + } + return querystring; + } + + function getGETRequestURL(collectorUrl: string, useStm: boolean): string { + const querystring = getCachedQuerystring(getPayload()); + if (useStm) { + return collectorUrl + querystring.replace('?', '?stm=' + new Date().getTime() + '&'); + } + + return collectorUrl + querystring; + } + + function getGETRequestBytesCount(): number { + if (byteCountGET === null) { + const querystring = getCachedQuerystring(getPayload()); + byteCountGET = getUTF8Length(querystring); + } + return byteCountGET; + } + + function getPOSTRequestBody(): Record { + if (postBody === null) { + postBody = preparePostBody(getPayload()); + } + return postBody; + } + + function getPOSTRequestBytesCount(): number { + if (byteCountPOST === null) { + byteCountPOST = getUTF8Length(JSON.stringify(getPOSTRequestBody())); + } + return byteCountPOST; + } + return { + getPayload, + getServerAnonymization, + getGETRequestURL, + getGETRequestBytesCount, + getPOSTRequestBody, + getPOSTRequestBytesCount, + }; +} diff --git a/libraries/tracker-core/src/emitter/emitter_request.ts b/libraries/tracker-core/src/emitter/emitter_request.ts new file mode 100644 index 000000000..4717ad02e --- /dev/null +++ b/libraries/tracker-core/src/emitter/emitter_request.ts @@ -0,0 +1,237 @@ +import { PAYLOAD_DATA_SCHEMA } from '../schemata'; +import { EmitterEvent } from "./emitter_event"; + +/** + * Wrapper around a request with events to the collector. + * Provides helpers to manage the request and its events. + * Prepare the request to be sent to the collector. + */ +export interface EmitterRequest { + /** + * Add an event to the request + * @returns true if the event was added, false if the server anonymization setting does not match the existing events + */ + addEvent: (event: EmitterEvent) => boolean; + /** + * Get the events attached to the request + */ + getEvents: () => EmitterEvent[]; + /** + * Creates a fetch Request object from the events + */ + toRequest: () => Request | undefined; + /** + * Whether the request is full or events can still be added + */ + isFull: () => boolean; + /** + * Size of the request in bytes + */ + countBytes: () => number; + /** + * The number of events attached to the request + */ + countEvents: () => number; + /** + * Cancel the timeout timer, should be called when the request is sent + */ + cancelTimeoutTimer: () => void; +} + +export interface EmitterRequestConfiguration { + endpoint: string; + port?: number; + protocol?: 'http' | 'https'; + eventMethod?: 'get' | 'post'; + customHeaders?: Record; + connectionTimeout?: number; + keepalive?: boolean; + postPath?: string; + useStm?: boolean; + bufferSize?: number; + maxPostBytes?: number, + credentials?: 'omit' | 'same-origin' | 'include'; +} + +/** + * Enclose an array of events in a self-describing payload_data JSON string + * + * @param array - events Batch of events + * @returns string payload_data self-describing JSON + */ +export function encloseInPayloadDataEnvelope(events: Array>) { + return JSON.stringify({ + schema: PAYLOAD_DATA_SCHEMA, + data: events, + }); +} + +/** + * Attaches the STM field to outbound POST events. + * + * @param events - the events to attach the STM to + */ +export function attachStmToEvent(events: Array>) { + const stm = new Date().getTime().toString(); + for (let i = 0; i < events.length; i++) { + events[i]['stm'] = stm; + } + return events; +} + +export function newEmitterRequest({ + endpoint, + protocol = 'https', + port, + eventMethod = 'post', + customHeaders, + connectionTimeout, + keepalive = true, + postPath = '/com.snowplowanalytics.snowplow/tp2', + useStm = true, + bufferSize, + maxPostBytes = 40000, + credentials = 'include', +}: EmitterRequestConfiguration): EmitterRequest { + let events: EmitterEvent[] = []; + let usePost = eventMethod.toLowerCase() === 'post'; + let timer: ReturnType | undefined; + + function countBytes(): number { + return events.reduce( + (acc, event) => acc + (usePost ? event.getPOSTRequestBytesCount() : event.getGETRequestBytesCount()), + 0 + ); + } + + function countEvents(): number { + return events.length; + } + + function getServerAnonymizationOfExistingEvents(): boolean | undefined { + return events.length > 0 ? events[0].getServerAnonymization() : undefined; + } + + + function addEvent(event: EmitterEvent) { + if (events.length > 0 && getServerAnonymizationOfExistingEvents() !== event.getServerAnonymization()) { + return false; + } else { + events.push(event); + return true; + } + } + + function getEvents(): EmitterEvent[] { + return events; + } + + function isFull(): boolean { + if (usePost) { + if (bufferSize !== undefined && countEvents() >= Math.max(1, bufferSize)) { + return true; + } + return countBytes() >= maxPostBytes; + } else { + return events.length >= 1; + } + } + + function createHeaders(): Headers { + const headers = new Headers(); + if (usePost) { + headers.append('Content-Type', 'application/json; charset=UTF-8'); + } + if (customHeaders) { + Object.keys(customHeaders).forEach((key) => { + headers.append(key, customHeaders[key]); + }); + } + if (getServerAnonymizationOfExistingEvents()) { + headers.append('SP-Anonymous', '*'); + } + return headers; + } + + function getFullCollectorUrl(): string { + let collectorUrl = endpoint; + if (!endpoint.includes('://')) { + collectorUrl = `${protocol}://${endpoint}`; + } + if (port) { + collectorUrl = `${collectorUrl}:${port}`; + } + + const path = usePost ? postPath : '/i'; + return collectorUrl + path; + } + + function makeRequest(url: string, options: RequestInit): Request { + const controller = new AbortController(); + timer = setTimeout(() => { + console.error('Request timed out'); + controller.abort() + }, connectionTimeout ?? 5000); + + const requestOptions: RequestInit = { + headers: createHeaders(), + signal: controller.signal, + keepalive, + credentials, + ...options, + }; + + const request = new Request(url, requestOptions); + return request; + } + + function makePostRequest(): Request { + const batch = attachStmToEvent(events.map((event) => event.getPOSTRequestBody())); + + return makeRequest(getFullCollectorUrl(), { + method: 'POST', + body: encloseInPayloadDataEnvelope(batch), + }); + } + + function makeGetRequest(): Request { + if (events.length !== 1) { + throw new Error('Only one event can be sent in a GET request'); + } + + const event = events[0]; + const url = event.getGETRequestURL(getFullCollectorUrl(), useStm); + + return makeRequest(url, { + method: 'GET', + }); + } + + function toRequest(): Request | undefined { + if (events.length === 0) { + return undefined; + } + if (usePost) { + return makePostRequest(); + } else { + return makeGetRequest(); + } + } + + function cancelTimeoutTimer() { + if (timer) { + clearTimeout(timer); + timer = undefined; + } + } + + return { + addEvent, + getEvents, + toRequest, + countBytes, + countEvents, + isFull, + cancelTimeoutTimer, + }; +} diff --git a/libraries/tracker-core/src/emitter/index.ts b/libraries/tracker-core/src/emitter/index.ts new file mode 100644 index 000000000..445513fc8 --- /dev/null +++ b/libraries/tracker-core/src/emitter/index.ts @@ -0,0 +1,442 @@ +import { EventStore, newInMemoryEventStore } from '../event_store'; +import { Payload } from '../payload'; +import { EmitterRequest, newEmitterRequest } from './emitter_request'; +import { EmitterEvent, newEmitterEvent } from './emitter_event'; +import { newEventStorePayload } from '../event_store_payload'; +import { LOG } from '../logger'; + +/** + * A collection of event payloads which are sent to the collector. + */ +export type EventBatch = Payload[]; + +/** + * The data that will be available to the `onRequestFailure` callback + */ +export type RequestFailure = { + /** The batch of events that failed to send */ + events: EventBatch; + /** The status code of the failed request */ + status?: number; + /** The error message of the failed request */ + message?: string; + /** Whether the tracker will retry the request */ + willRetry: boolean; +}; + +/* The supported methods which events can be sent with */ +export type EventMethod = 'post' | 'get'; + +export interface EmitterConfigurationBase { + /** + * The preferred technique to use to send events + * @defaultValue post + */ + eventMethod?: EventMethod; + /** + * The post path which events will be sent to. + * Ensure your collector is configured to accept events on this post path + * @defaultValue '/com.snowplowanalytics.snowplow/tp2' + */ + postPath?: string; + /** + * The amount of events that should be buffered before sending + * Recommended to leave as 1 to reduce change of losing events + * @defaultValue 1 on Web, 10 on Node + */ + bufferSize?: number; + /** + * The max size a POST request can be before the tracker will force send it + * @defaultValue 40000 + */ + maxPostBytes?: number; + /** + * The max size a GET request (its complete URL) can be. Requests over this size will be tried as a POST request. + * @defaultValue unlimited + */ + maxGetBytes?: number; + /** + * Should the Sent Timestamp be attached to events. + * Only applies for GET events. + * @defaultValue true + */ + useStm?: boolean; + /** + * How long to wait before aborting requests to the collector + * @defaultValue 5000 (milliseconds) + */ + connectionTimeout?: number; + /** + * An object of key value pairs which represent headers to + * attach when sending a POST request, only works for POST + * @defaultValue `{}` + */ + customHeaders?: Record; + /** + * Controls whether or not the browser sends credentials (defaults to 'include') + * @defaultValue 'include' + */ + credentials?: 'omit' | 'same-origin' | 'include'; + /** + * Whether to retry failed requests to the collector. + * + * Failed requests are requests that failed due to + * [timeouts](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout_event), + * [network errors](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error_event), + * and [abort events](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort_event). + * + * Takes precedent over `retryStatusCodes` and `dontRetryStatusCodes`. + * + * @defaultValue true + */ + retryFailedRequests?: boolean; + /** + * List of HTTP response status codes for which events sent to Collector should be retried in future requests. + * Only non-success status codes are considered (greater or equal to 300). + * The retry codes are only considered for GET and POST requests. + * They take priority over the `dontRetryStatusCodes` option. + * By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422. + */ + retryStatusCodes?: number[]; + /** + * List of HTTP response status codes for which events sent to Collector should not be retried in future request. + * Only non-success status codes are considered (greater or equal to 300). + * The don't retry codes are only considered for GET and POST requests. + * By default, the tracker retries on all non-success status codes except for 400, 401, 403, 410, and 422 (these don't retry codes will remain even if you set your own `dontRetryStatusCodes` but can be changed using the `retryStatusCodes`). + */ + dontRetryStatusCodes?: number[]; + /** + * Id service full URL. This URL will be added to the queue and will be called using a GET method. + * This option is there to allow the service URL to be called in order to set any required identifiers e.g. extra cookies. + * + * The request respects the `anonymousTracking` option, including the SP-Anonymous header if needed, and any additional custom headers from the customHeaders option. + */ + idService?: string; + /** + * Indicates that the request should be allowed to outlive the webpage that initiated it. + * Enables collector requests to complete even if the page is closed or navigated away from. + * @defaultValue true (not supported in Node.js) + */ + keepalive?: boolean; + /** + * Enables overriding the default fetch function with a custom implementation. + * @param input - Instance of Request + * @param options - Additional options for the request + * @returns A Promise that resolves to the Response. + */ + customFetch?: (input: Request, options?: RequestInit) => Promise; + /** + * A callback function to be executed whenever a request is successfully sent to the collector. + * In practice this means any request which returns a 2xx status code will trigger this callback. + * + * @param data - The event batch that was successfully sent + */ + onRequestSuccess?: (data: EventBatch, response: Response) => void; + /** + * A callback function to be executed whenever a request fails to be sent to the collector. + * This is the inverse of the onRequestSuccess callback, so any non 2xx status code will trigger this callback. + * + * @param data - The data associated with the event(s) that failed to send + */ + onRequestFailure?: (data: RequestFailure, response?: Response) => void; + /** + * Enables providing a custom EventStore implementation to store events before sending them to the collector. + */ + eventStore?: EventStore; +} + +export interface EmitterConfiguration extends EmitterConfigurationBase { + /* The collector URL to which events will be sent */ + endpoint: string; + /* http or https. Defaults to https */ + protocol?: 'http' | 'https'; + /* Collector port number */ + port?: number; + /* If the request should undergo server anonymization. */ + serverAnonymization?: boolean; +} + +/** + * Emitter is responsible for sending events to the collector. + * It manages the event queue and sends events in batches depending on configuration. + */ +export interface Emitter { + /** + * Forces the emitter to send all events in the event store to the collector. + * @returns A Promise that resolves when all events have been sent to the collector. + */ + flush: () => Promise; + /** + * Adds a payload to the event store or sends it to the collector. + * @param payload - A payload to be sent to the collector + * @returns Promise that resolves when the payload has been added to the event store or sent to the collector + */ + input: (payload: Payload) => Promise; + /** + * Updates the collector URL to which events will be sent. + * @param url - New collector URL + */ + setCollectorUrl: (url: string) => void; + /** + * Sets the server anonymization flag. + */ + setAnonymousTracking: (anonymous: boolean) => void; + /** + * Updates the buffer size of the emitter. + */ + setBufferSize: (bufferSize: number) => void; +} + +interface RequestResult { + success: boolean; + retry: boolean; + status?: number; +} + +export function newEmitter({ + endpoint, + eventMethod = 'post', + protocol, + port, + maxPostBytes = 40000, + maxGetBytes, + bufferSize = 1, + customHeaders, + serverAnonymization, + connectionTimeout, + keepalive, + idService, + dontRetryStatusCodes = [], + retryStatusCodes = [], + retryFailedRequests = true, + onRequestFailure, + onRequestSuccess, + customFetch = fetch, + useStm, + eventStore = newInMemoryEventStore({}), + credentials, +}: EmitterConfiguration): Emitter { + let idServiceCalled = false; + let flushInProgress = false; + const usePost = eventMethod.toLowerCase() === 'post'; + dontRetryStatusCodes = dontRetryStatusCodes.concat([400, 401, 403, 410, 422]); + + function shouldRetryForStatusCode(statusCode: number): boolean { + // success, don't retry + if (statusCode >= 200 && statusCode < 300) { + return false; + } + + if (!retryFailedRequests) { + return false; + } + + // retry if status code among custom user-supplied retry codes + if (retryStatusCodes.includes(statusCode)) { + return true; + } + + // retry if status code *not* among the don't retry codes + return !dontRetryStatusCodes.includes(statusCode); + } + + function callOnRequestSuccess(payloads: Payload[], response: Response) { + if (onRequestSuccess !== undefined) { + setTimeout(() => { + try { + onRequestSuccess?.(payloads, response); + } catch (e) { + LOG.error('Error in onRequestSuccess', e); + } + }, 0); + } + } + + function callOnRequestFailure(failure: RequestFailure, response?: Response) { + if (onRequestFailure !== undefined) { + setTimeout(() => { + try { + onRequestFailure?.(failure, response); + } catch (e) { + LOG.error('Error in onRequestFailure', e); + } + }, 0); + } + } + + async function executeRequest(request: EmitterRequest): Promise { + const fetchRequest = request.toRequest(); + if (fetchRequest === undefined) { + throw new Error('Empty batch'); + } + + const payloads = request.getEvents().map((event) => event.getPayload()); + try { + const response = await customFetch(fetchRequest); + + request.cancelTimeoutTimer(); + + if (response.ok) { + callOnRequestSuccess(payloads, response); + return { success: true, retry: false, status: response.status }; + } else { + const willRetry = shouldRetryForStatusCode(response.status); + callOnRequestFailure( + { + events: payloads, + status: response.status, + message: response.statusText, + willRetry: willRetry, + }, + response + ); + return { success: false, retry: willRetry, status: response.status }; + } + } catch (e) { + const message = typeof e === 'string' ? e : e ? (e as Error).message : 'Unknown error'; + callOnRequestFailure({ + events: payloads, + message: message, + willRetry: true, + }); + return { success: false, retry: true }; + } + } + + function newEmitterRequestWithConfig(): EmitterRequest { + return newEmitterRequest({ + endpoint, + protocol, + port, + eventMethod, + customHeaders, + connectionTimeout, + keepalive, + bufferSize, + maxPostBytes, + useStm, + credentials, + }); + } + + function shouldSkipEventStore(emitterEvent: EmitterEvent): boolean { + const eventTooBigWarning = (bytes: number, maxBytes: number) => + LOG.warn('Event (' + bytes + 'B) too big, max is ' + maxBytes); + + if (usePost) { + const bytes = emitterEvent.getPOSTRequestBytesCount(); + const tooBig = bytes > maxPostBytes; + if (tooBig) { + eventTooBigWarning(bytes, maxPostBytes); + } + return tooBig; + } else { + if (maxGetBytes === undefined) { + return false; + } + const bytes = emitterEvent.getGETRequestBytesCount(); + const tooBig = bytes > maxGetBytes; + if (tooBig) { + eventTooBigWarning(bytes, maxGetBytes); + } + return tooBig; + } + } + + async function callIdService() { + if (idService && !idServiceCalled) { + idServiceCalled = true; + const request = new Request(idService, { method: 'GET' }); + await customFetch(request); + } + } + + async function flush() { + if (!flushInProgress) { + flushInProgress = true; + + try { + await continueFlush(); + } catch (e) { + LOG.error('Error sending events', e); + } finally { + flushInProgress = false; + } + } + } + + async function continueFlush() { + await callIdService(); + + const request = newEmitterRequestWithConfig(); + const eventStoreIterator = eventStore.iterator(); + + while (true) { + if (request.isFull()) { + break; + } + + const { value, done } = await eventStoreIterator.next(); + if (done || value === undefined) { + break; + } + + const event = newEmitterEvent(value); + if (!request.addEvent(event)) { + break; + } + } + + if (request.countEvents() === 0) { + return; + } + + const { success, retry, status } = await executeRequest(request); + + if (success || !retry) { + if (!success) { + LOG.error(`Status ${status}, will not retry.`); + } + await eventStore.removeHead(request.countEvents()); + } + + if (success) { + await continueFlush(); + } + } + + async function input(payload: Payload) { + const eventStorePayload = newEventStorePayload({ payload, svrAnon: serverAnonymization }); + const event = newEmitterEvent(eventStorePayload); + if (shouldSkipEventStore(event)) { + const request = newEmitterRequestWithConfig(); + request.addEvent(event); + await executeRequest(request); + } else { + const count = await eventStore.add(eventStorePayload); + if (count >= bufferSize) { + await flush(); + } + } + } + + function setCollectorUrl(url: string) { + endpoint = url; + } + + function setAnonymousTracking(at: boolean) { + serverAnonymization = at; + } + + function setBufferSize(bs: number) { + bufferSize = bs; + } + + return { + flush, + input, + setCollectorUrl, + setAnonymousTracking, + setBufferSize, + }; +} diff --git a/libraries/tracker-core/src/event_store.ts b/libraries/tracker-core/src/event_store.ts new file mode 100644 index 000000000..287c16641 --- /dev/null +++ b/libraries/tracker-core/src/event_store.ts @@ -0,0 +1,99 @@ +import { EventStorePayload } from './event_store_payload'; +import { Payload } from './payload'; + +export interface EventStoreIterator { + /** + * Retrieve the next event in the store + */ + next: () => Promise<{ value: EventStorePayload | undefined; done: boolean }>; +} + +/** + * EventStore allows storing and retrieving events before they are sent to the collector + */ +export interface EventStore { + /** + * Count all events in the store + */ + count: () => Promise; + /** + * Add an event to the store + * @returns the number of events in the store after adding + */ + add: (payload: EventStorePayload) => Promise; + /** + * Remove the first `count` events from the store + */ + removeHead: (count: number) => Promise; + /** + * Get an iterator over all events in the store + */ + iterator: () => EventStoreIterator; + /** + * Retrieve all payloads including their meta configuration in the store + */ + getAll: () => Promise; + /** + * Retrieve all pure payloads in the store + */ + getAllPayloads: () => Promise; +} + +export interface EventStoreConfiguration { + /** + * The maximum amount of events that will be buffered in the event store + * + * This is useful to ensure the Tracker doesn't fill the 5MB or 10MB available to + * each website should the collector be unavailable due to lost connectivity. + * Will drop old events once the limit is hit + */ + maxSize?: number; +} + +export interface InMemoryEventStoreConfiguration { + /** + * Initial events to add to the store + */ + events?: EventStorePayload[]; +} + +export function newInMemoryEventStore({ + maxSize = 1000, + events = [], +}: EventStoreConfiguration & InMemoryEventStoreConfiguration): EventStore { + let store: EventStorePayload[] = [...events]; + + const count = () => Promise.resolve(store.length); + + return { + count, + add: (payload: EventStorePayload) => { + store.push(payload); + while (store.length > maxSize) { + store.shift(); + } + return count(); + }, + removeHead: (count: number) => { + for (let i = 0; i < count; i++) { + store.shift(); + } + return Promise.resolve(); + }, + iterator: () => { + let index = 0; + // copy the store to prevent mutation + let events = [...store]; + return { + next: () => { + if (index < events.length) { + return Promise.resolve({ value: events[index++], done: false }); + } + return Promise.resolve({ value: undefined, done: true }); + }, + }; + }, + getAll: () => Promise.resolve([...store]), + getAllPayloads: () => Promise.resolve(store.map((e) => e.payload)), + }; +} diff --git a/libraries/tracker-core/src/event_store_payload.ts b/libraries/tracker-core/src/event_store_payload.ts new file mode 100644 index 000000000..1a5c54a2a --- /dev/null +++ b/libraries/tracker-core/src/event_store_payload.ts @@ -0,0 +1,27 @@ +import { Payload } from "./payload"; + +export interface EventStorePayload { + /** + * The event payload to be stored + */ + payload: Payload; + + /** + * If the request should undergo server anonymization. + * @defaultValue false + */ + svrAnon?: boolean; +} + +/** + * Create a new EventStorePayload + */ +export function newEventStorePayload({ + payload, + svrAnon = false, +}: EventStorePayload): EventStorePayload { + return { + payload, + svrAnon, + }; +} diff --git a/libraries/tracker-core/src/index.ts b/libraries/tracker-core/src/index.ts index 94561ca02..5c0d702f3 100644 --- a/libraries/tracker-core/src/index.ts +++ b/libraries/tracker-core/src/index.ts @@ -41,5 +41,8 @@ export const version = v; export * from './contexts'; export * from './plugins'; export * from './payload'; +export * from './event_store_payload'; export * from './core'; export * from './logger'; +export * from './emitter'; +export * from './event_store'; diff --git a/libraries/tracker-core/src/schemata.ts b/libraries/tracker-core/src/schemata.ts new file mode 100644 index 000000000..26caf6e56 --- /dev/null +++ b/libraries/tracker-core/src/schemata.ts @@ -0,0 +1 @@ +export const PAYLOAD_DATA_SCHEMA = 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4'; diff --git a/libraries/tracker-core/test/emitter/emitter_event.test.ts b/libraries/tracker-core/test/emitter/emitter_event.test.ts new file mode 100644 index 000000000..5d9520713 --- /dev/null +++ b/libraries/tracker-core/test/emitter/emitter_event.test.ts @@ -0,0 +1,66 @@ +import test from 'ava'; + +import { newEmitterEvent } from '../../src/emitter/emitter_event'; +import { newEventStorePayload } from '../../src/event_store_payload'; + +test('getGETRequestURL returns the correct URL with stm', (t) => { + const collectorUrl = 'https://example.com'; + const payload = { e: 'pv' }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + const url = event.getGETRequestURL(collectorUrl, true); + t.regex(url, new RegExp(`${collectorUrl}\\?stm=\\d+&e=pv`)); +}); + +test('getGETRequestURL returns the correct URL without stm', (t) => { + const collectorUrl = 'https://example.com'; + const payload = { e: 'pv', p: 'web' }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + const url = event.getGETRequestURL(collectorUrl, false); + t.is(url, `${collectorUrl}?e=pv&p=web`); +}); + +test('getGETRequestBytesCount returns the correct byte count', (t) => { + const payload = { e: 'pv', p: 'web' }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + const count = event.getGETRequestBytesCount(); + t.is(count, 11); +}); + +test('getPOSTRequestBody processes integer into string values', (t) => { + const payload = { e: 'pv', x: 12 }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + const body = event.getPOSTRequestBody(); + t.deepEqual(body, { e: 'pv', x: '12' }); +}); + +test('getPOSTRequestBytesCount returns the correct byte count', (t) => { + const payload = { e: 'pv', p: 'web' }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + const count = event.getPOSTRequestBytesCount(); + t.is(count, 20); +}); + +test('getPOSTRequestBytesCount counts multibyte chars properly', (t) => { + const payload = { e: 'pv', p: '🍕' }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + const count = event.getPOSTRequestBytesCount(); + t.is(count, 21); +}); + +test('getPayload returns the payload', (t) => { + const payload = { e: 'pv' }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + t.deepEqual(event.getPayload(), payload); +}); + +test('getServerAnonymization returns the serverAnonymization value', (t) => { + const payload = { e: 'pv' }; + const event = newEmitterEvent(newEventStorePayload({ payload, svrAnon: true })); + t.true(event.getServerAnonymization()); +}); + +test('getServerAnonymization returns false by default', (t) => { + const payload = { e: 'pv' }; + const event = newEmitterEvent(newEventStorePayload({ payload })); + t.false(event.getServerAnonymization()); +}); diff --git a/libraries/tracker-core/test/emitter/emitter_request.test.ts b/libraries/tracker-core/test/emitter/emitter_request.test.ts new file mode 100644 index 000000000..264bdc30c --- /dev/null +++ b/libraries/tracker-core/test/emitter/emitter_request.test.ts @@ -0,0 +1,306 @@ +import test from 'ava'; + +import { newEmitterRequest } from '../../src/emitter/emitter_request'; +import { newEmitterEvent } from '../../src/emitter/emitter_event'; +import { newEventStorePayload } from '../../src/event_store_payload'; + +const newEmitterEventFromPayload = (payload: Record) => { + return newEmitterEvent(newEventStorePayload({ payload })); +} + +// MARK: - addEvent + +test('addEvent adds an event to the request', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + maxPostBytes: 1000, + }); + + const event = newEmitterEventFromPayload({ e: 'pv' }); + + t.true(request.addEvent(event)); + t.is(request.getEvents().length, 1); +}); + +test('addEvent returns false when server anonymization does not match previous events', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + maxPostBytes: 1000, + }); + + t.true( + request.addEvent( + newEmitterEvent( + newEventStorePayload({ + payload: { e: 'pv' }, + svrAnon: true, + }) + ) + ) + ); + t.false( + request.addEvent( + newEmitterEvent( + newEventStorePayload({ + payload: { e: 'pv' }, + svrAnon: false, + }) + ) + ) + ); + t.true( + request.addEvent( + newEmitterEvent( + newEventStorePayload({ + payload: { e: 'pv' }, + svrAnon: true, + }) + ) + ) + ); + t.is(request.getEvents().length, 2); +}); + +// MARK: - countBytes + +test('countBytes returns the correct byte count', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + maxPostBytes: 1000, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'mob' }))); + t.is(request.countBytes(), 40); +}); + +// MARK: - countEvents + +test('countEvents returns the correct event count', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + maxPostBytes: 1000, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'mob' }))); + t.is(request.countEvents(), 2); +}); + +// MARK: - isFull + +test('isFull returns false when not reached buffer size', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + maxPostBytes: 1000, + bufferSize: 2, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + t.false(request.isFull()); +}); + +test('isFull returns true when reached buffer size', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + maxPostBytes: 1000, + bufferSize: 2, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'mob' }))); + t.true(request.isFull()); +}); + +test('isFull returns true when reached max post bytes', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + maxPostBytes: 10, + bufferSize: 2, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + t.true(request.isFull()); +}); + +// MARK: - toRequest + +test('toRequest returns a Request object with default settings', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.url, 'https://example.com/com.snowplowanalytics.snowplow/tp2'); + t.is(req.method, 'POST'); + t.is(req.headers.get('Content-Type'), 'application/json; charset=UTF-8'); + t.is(req.headers.get('SP-Anonymous'), null); + t.is(req.keepalive, true); +}); + +test('toRequest builds a GET request when method is get', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + eventMethod: 'get', + useStm: false, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.url, 'https://example.com/i?e=pv&p=web'); + t.is(req.method, 'GET'); +}); + +test('toRequest includes stm when useStm is true', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + eventMethod: 'get', + useStm: true, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.regex(req.url, /stm=\d+/); +}); + +test('toRequest includes custom headers', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + customHeaders: { 'X-Test': 'test' }, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.headers.get('X-Test'), 'test'); +}); + +test('toRequest includes server anonymization header', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + }); + + t.true( + request.addEvent( + newEmitterEvent( + newEventStorePayload({ + payload: { e: 'pv', p: 'web' }, + svrAnon: true, + }) + ) + ) + ); + const req = request.toRequest()!; + t.is(req.headers.get('SP-Anonymous'), '*'); +}); + +test('toRequest contains keepalive', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + keepalive: false, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.keepalive, false); +}); + +test('toRequest URL contains custom POST path', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + postPath: '/custom', + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.url, 'https://example.com/custom'); +}); + +test('toRequest URL adds default protocol when missing', (t) => { + const request = newEmitterRequest({ + endpoint: 'example.com', + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.url, 'https://example.com/com.snowplowanalytics.snowplow/tp2'); +}); + +test('toRequest URL adds protocol and port', (t) => { + const request = newEmitterRequest({ + endpoint: 'example.com', + protocol: 'http', + port: 9090, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.url, 'http://example.com:9090/com.snowplowanalytics.snowplow/tp2'); +}); + +test('toRequest URL does not add protocol if already contains', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + protocol: 'http', + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.url, 'https://example.com/com.snowplowanalytics.snowplow/tp2'); +}); + +test('toRequest returns undefined when no events', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + }); + + t.is(request.toRequest(), undefined); +}); + +test('toRequest contains default credentials', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + eventMethod: 'get', + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.credentials, 'include'); +}); + +test('toRequest contains credentials', (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + credentials: 'omit', + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + t.is(req.credentials, 'omit'); +}); + +test('toRequest adds stm to POST request', async (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + useStm: true, + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + const req = request.toRequest()!; + const data = await req.json(); + t.truthy(data.data[0].stm); +}); + +test('toRequest body has the correct structure', async (t) => { + const request = newEmitterRequest({ + endpoint: 'https://example.com', + }); + + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + t.true(request.addEvent(newEmitterEventFromPayload({ e: 'pv', p: 'web' }))); + + const req = request.toRequest()!; + const data = await req.json(); + t.is(data.schema, 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4'); + t.is(data.data.length, 2); +}); diff --git a/libraries/tracker-core/test/emitter/index.test.ts b/libraries/tracker-core/test/emitter/index.test.ts new file mode 100644 index 000000000..05a830bb0 --- /dev/null +++ b/libraries/tracker-core/test/emitter/index.test.ts @@ -0,0 +1,334 @@ +import test from 'ava'; + +import { newEmitter, Emitter } from '../../src/emitter'; +import { newInMemoryEventStore } from "../../src/event_store"; + +function createMockFetch(status: number, requests: Request[]) { + return async (input: Request) => { + requests.push(input); + let response = new Response(null, { status }); + return response; + }; +} + +test.before(() => { + console.error = () => {}; // Silence console.error globally +}); + +test("input adds an event to the event store", async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 2, + customFetch: mockFetch, + eventStore, + }); + + await emitter.input({ e: "pv" }); + + t.is(await eventStore.count(), 1); + t.is(requests.length, 0); +}); + +test('input sends events to the collector when the buffer is full', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 2, + customFetch: mockFetch, + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.input({ e: 'pv' }); + + t.is(requests.length, 1); + t.is(await eventStore.count(), 0); +}); + +test('flush sends events to the collector', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.input({ e: 'pv' }); + await emitter.flush(); + + t.is(requests.length, 1); + t.is(await eventStore.count(), 0); +}); + +test('flush does not make any request when the event store is empty', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + eventStore, + }); + + await emitter.flush(); + + t.is(requests.length, 0); + t.is(await eventStore.count(), 0); +}); + +test('flush makes separate requests for server anonymization settings in events', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.input({ e: 'pv' }); + emitter.setAnonymousTracking(true); + await emitter.input({ e: 'pv' }); + await emitter.input({ e: 'pv' }); + await emitter.flush(); + + t.is(requests.length, 2); + t.is(requests[0].headers.get('SP-Anonymous'), null); + t.is(requests[1].headers.get('SP-Anonymous'), '*'); + t.is(await eventStore.count(), 0); +}); + +test('setCollectorUrl changes the collector URL', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + eventStore, + }); + + emitter.setCollectorUrl('https://example2.com'); + await emitter.input({ e: 'pv' }); + await emitter.flush(); + + t.is(requests.length, 1); + t.is(await eventStore.count(), 0); + t.is(requests[0].url, 'https://example2.com/com.snowplowanalytics.snowplow/tp2'); +}); + +test('calls onRequestSuccess when the request is successful', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + + await new Promise((resolve) => { + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + onRequestSuccess: (data) => { + t.is(data.length, 1); + resolve(null); + }, + eventStore, + }); + + emitter.input({ e: 'pv' }).then(() => emitter.flush()); + }); +}); + +test('handles errors when onRequestSuccess throws', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + onRequestSuccess: () => { + throw new Error('error'); + }, + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.flush(); + t.is(await eventStore.count(), 0); +}); + +test('calls onRequestFailure when the request fails', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(500, requests); + const eventStore = newInMemoryEventStore({}); + + await new Promise((resolve) => { + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + onRequestFailure: (requestFailure, response) => { + t.is(requestFailure.events.length, 1); + t.is(requestFailure.status, 500); + t.is(response?.status, 500); + resolve(null); + }, + eventStore, + }); + + emitter.input({ e: 'pv' }).then(() => emitter.flush()); + }); +}); + +test('retries when the request fails', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(500, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + retryFailedRequests: true, + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.flush(); + t.is(requests.length, 1); + t.is(await eventStore.count(), 1); +}); + +test('does not retry when the request fails and retryFailedRequests is false', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(500, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + retryFailedRequests: false, + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.flush(); + t.is(requests.length, 1); + t.is(await eventStore.count(), 0); +}); + +test('does not retry certain status codes', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(422, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.flush(); + t.is(requests.length, 1); + t.is(await eventStore.count(), 0); +}); + +test('does not retry if the status code is in the dontRetry list', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(500, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + dontRetryStatusCodes: [500], + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.flush(); + t.is(requests.length, 1); + t.is(await eventStore.count(), 0); +}); + +test('retries if the status code is in the retry list', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(422, requests); + const eventStore = newInMemoryEventStore({}); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + bufferSize: 5, + customFetch: mockFetch, + retryStatusCodes: [422], + eventStore, + }); + + await emitter.input({ e: 'pv' }); + await emitter.flush(); + t.is(requests.length, 1); + t.is(await eventStore.count(), 1); +}); + +test('makes a request to the id service only once', async (t) => { + const requests: Request[] = []; + const mockFetch = createMockFetch(200, requests); + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + customFetch: mockFetch, + idService: 'https://id-example.com', + }); + + await emitter.input({ e: 'pv' }); + + t.is(requests.length, 2); + t.is(requests[0].url, 'https://id-example.com/'); + t.is(requests[1].url, 'https://example.com/com.snowplowanalytics.snowplow/tp2'); + + await emitter.input({ e: 'pv' }); + t.is(requests.length, 3); + t.is(requests[2].url, 'https://example.com/com.snowplowanalytics.snowplow/tp2'); +}); + +test('adds a timeout to the request', async (t) => { + const requests: Request[] = []; + let eventStore = newInMemoryEventStore({}); + + const mockFetch = (input: Request): Promise => { + requests.push(input); + + return new Promise((resolve, reject) => { + let timer = setTimeout(() => { + resolve(new Response(null, { status: 200 })); + }, 1000); + + input.signal?.addEventListener('abort', () => { + clearTimeout(timer); + reject(new Error('Request aborted')); + }); + }); + }; + const emitter: Emitter = newEmitter({ + endpoint: 'https://example.com', + customFetch: mockFetch, + connectionTimeout: 100, + eventStore + }); + + await emitter.input({ e: 'pv' }); + + t.is(requests.length, 1); + t.is(await eventStore.count(), 1); +}); diff --git a/libraries/tracker-core/test/event_store.test.ts b/libraries/tracker-core/test/event_store.test.ts new file mode 100644 index 000000000..468d444d0 --- /dev/null +++ b/libraries/tracker-core/test/event_store.test.ts @@ -0,0 +1,92 @@ +import test from 'ava'; + +import { newInMemoryEventStore } from '../src/event_store'; +import { newEventStorePayload } from '../src/event_store_payload'; + +test('count returns the number of events', async (t) => { + const eventStore = newInMemoryEventStore({}); + + t.is(await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })), 1); + t.is(await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })), 2); + t.is(await eventStore.count(), 2); +}); + +test('iterator returns all events', async (t) => { + const eventStore = newInMemoryEventStore({}); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + + const iterator = eventStore.iterator(); + const { value: first } = await iterator.next(); + const { value: second } = await iterator.next(); + const { done } = await iterator.next(); + + t.deepEqual(first?.payload, { e: 'pv' }); + t.deepEqual(second?.payload, { e: 'pv' }); + t.true(done); +}); + +test('removeHead removes the first n events', async (t) => { + const eventStore = newInMemoryEventStore({}); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + + await eventStore.removeHead(1); + + t.is(await eventStore.count(), 1); +}); + +test('removeHead does nothing when there are no events', async (t) => { + const eventStore = newInMemoryEventStore({}); + await eventStore.removeHead(1); + + t.is(await eventStore.count(), 0); +}); + +test('does not exceed maxSize', async (t) => { + const eventStore = newInMemoryEventStore({ maxSize: 1 }); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv1' } })); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv2' } })); + + t.is(await eventStore.count(), 1); + t.is((await eventStore.iterator().next()).value?.payload.e, 'pv2'); +}); + +test('iterator does not consider mutations', async (t) => { + const eventStore = newInMemoryEventStore({}); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + + const iterator = eventStore.iterator(); + await iterator.next(); + + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + + const { value } = await iterator.next(); + + t.is(value, undefined); +}); + +test('stores server anonymization setting', async (t) => { + const eventStore = newInMemoryEventStore({}); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' }, svrAnon: true })); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' }, svrAnon: false })); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + + t.is(await eventStore.count(), 3); + const iterator = eventStore.iterator(); + const first = await iterator.next(); + const second = await iterator.next(); + const third = await iterator.next(); + + t.true(first?.value?.svrAnon); + t.false(second?.value?.svrAnon); + t.false(third?.value?.svrAnon); +}); + +test('getAllPayloads returns all payloads', async (t) => { + const eventStore = newInMemoryEventStore({}); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + await eventStore.add(newEventStorePayload({ payload: { e: 'pv' } })); + + t.deepEqual(await eventStore.getAllPayloads(), [{ e: 'pv' }, { e: 'pv' }]); +}); diff --git a/plugins/browser-plugin-ad-tracking/test/events.test.ts b/plugins/browser-plugin-ad-tracking/test/events.test.ts index e3d4ec496..98521c9fc 100644 --- a/plugins/browser-plugin-ad-tracking/test/events.test.ts +++ b/plugins/browser-plugin-ad-tracking/test/events.test.ts @@ -31,9 +31,10 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; import { AdTrackingPlugin, trackAdClick, trackAdConversion, trackAdImpression } from '../src'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.ue_pr'))); +const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); +const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); const extractUeEvent = (schema: string) => { return { from: F.compose( @@ -48,13 +49,18 @@ const extractUeEvent = (schema: string) => { describe('AdTrackingPlugin', () => { const state = new SharedState(); + let eventStore = newInMemoryEventStore({}); + const customFetch = async () => new Response(null, { status: 500 }); + addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [AdTrackingPlugin()], + eventStore, + customFetch, }); - it('trackAdClick adds the expected ad click event to the queue', () => { + it('trackAdClick adds the expected ad click event to the queue', async () => { trackAdClick({ targetUrl: 'https://www.snowplowanalytics.com', bannerId: 'banner-1', @@ -68,7 +74,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0', data: { @@ -85,7 +93,7 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackAdConversion adds the expected ad conversion event to the queue', () => { + it('trackAdConversion adds the expected ad conversion event to the queue', async () => { trackAdConversion({ action: 'action', advertiserId: 'advertiser-1', @@ -99,7 +107,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0', data: { @@ -116,7 +126,7 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackAdImpression adds the expected ad impression event to the queue', () => { + it('trackAdImpression adds the expected ad impression event to the queue', async () => { trackAdImpression({ advertiserId: 'advrtiser-1', bannerId: 'banner-1', @@ -129,7 +139,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0', data: { diff --git a/plugins/browser-plugin-consent/test/events.test.ts b/plugins/browser-plugin-consent/test/events.test.ts index 5353064cf..08228fd04 100644 --- a/plugins/browser-plugin-consent/test/events.test.ts +++ b/plugins/browser-plugin-consent/test/events.test.ts @@ -31,10 +31,11 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; import { ConsentPlugin, trackConsentWithdrawn, trackConsentGranted, enableGdprContext } from '../src'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.ue_pr'))); -const extractEventContext = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.co'))); +const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); +const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); +const extractEventContext = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('co'))); const extractUeEvent = (schema: string) => { return { from: F.compose( @@ -59,16 +60,24 @@ const extractContext = (schema: string) => { }; describe('AdTrackingPlugin', () => { + const eventStore1 = newInMemoryEventStore({}); + const eventStore2 = newInMemoryEventStore({}); const state = new SharedState(); + const customFetch = async () => new Response(null, { status: 500 }); + addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [ConsentPlugin()], + customFetch, + eventStore: eventStore1, }); addTracker('sp2', 'sp2', 'js-3.0.0', '', state, { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [ConsentPlugin()], + customFetch, + eventStore: eventStore2, }); enableGdprContext({ @@ -100,9 +109,11 @@ describe('AdTrackingPlugin', () => { ['sp2'] ); - it('trackConsentWithdrawn adds the expected consent withdrawn event to the queue', () => { + it('trackConsentWithdrawn adds the expected consent withdrawn event to the queue', async () => { expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0').from( + await eventStore1.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0', data: { @@ -111,7 +122,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractContext('iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0').from(state.outQueues[0]) + extractContext('iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0').from( + await eventStore1.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', data: { @@ -123,9 +136,11 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackConsentGranted adds the expected consent granted event to the queue', () => { + it('trackConsentGranted adds the expected consent granted event to the queue', async () => { expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0').from(state.outQueues[1]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0').from( + await eventStore2.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0', data: { @@ -134,7 +149,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractContext('iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0').from(state.outQueues[1]) + extractContext('iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0').from( + await eventStore2.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', data: { @@ -146,9 +163,11 @@ describe('AdTrackingPlugin', () => { }); }); - it('events contain the GDPR context', () => { + it('events contain the GDPR context', async () => { expect( - extractContext('iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0').from(state.outQueues[0]) + extractContext('iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0').from( + await eventStore1.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0', data: { @@ -160,7 +179,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractContext('iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0').from(state.outQueues[1]) + extractContext('iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0').from( + await eventStore2.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0', data: { diff --git a/plugins/browser-plugin-ecommerce/test/events.test.ts b/plugins/browser-plugin-ecommerce/test/events.test.ts index 961794e6b..d88794dda 100644 --- a/plugins/browser-plugin-ecommerce/test/events.test.ts +++ b/plugins/browser-plugin-ecommerce/test/events.test.ts @@ -29,12 +29,12 @@ */ import { addTracker, BrowserTracker, SharedState } from '@snowplow/browser-tracker-core'; -import { trackerCore } from '@snowplow/tracker-core'; +import { newInMemoryEventStore, trackerCore } from '@snowplow/tracker-core'; import F from 'lodash/fp'; import { EcommercePlugin, trackAddToCart, trackRemoveFromCart, addItem, addTrans, trackTrans } from '../src'; -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.ue_pr'))); +const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); +const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); const extractUeEvent = (schema: string) => { return { from: F.compose( @@ -49,13 +49,16 @@ const extractUeEvent = (schema: string) => { describe('EcommercePlugin', () => { const state = new SharedState(); + const eventStore = newInMemoryEventStore({}); addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [EcommercePlugin()], + eventStore, + customFetch: async () => new Response(null, { status: 500 }), }); - it('trackAddToCart adds the expected add to cart event to the queue', () => { + it('trackAddToCart adds the expected add to cart event to the queue', async () => { trackAddToCart( { quantity: 1, @@ -69,7 +72,9 @@ describe('EcommercePlugin', () => { ); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0', data: { @@ -83,7 +88,7 @@ describe('EcommercePlugin', () => { }); }); - it('trackRemoveFromCart adds the expected remove from cart event to the queue', () => { + it('trackRemoveFromCart adds the expected remove from cart event to the queue', async () => { trackRemoveFromCart( { quantity: 1, @@ -97,7 +102,9 @@ describe('EcommercePlugin', () => { ); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0', data: { diff --git a/plugins/browser-plugin-enhanced-consent/test/events.test.ts b/plugins/browser-plugin-enhanced-consent/test/events.test.ts index 7c3e81074..d7431ab5f 100644 --- a/plugins/browser-plugin-enhanced-consent/test/events.test.ts +++ b/plugins/browser-plugin-enhanced-consent/test/events.test.ts @@ -1,4 +1,4 @@ -import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; +import { addTracker, SharedState, EventStore } from '@snowplow/browser-tracker-core'; import { EnhancedConsentPlugin, trackCmpVisible, @@ -11,36 +11,32 @@ import { trackConsentWithdrawn, } from '../src'; import { CMP_VISIBLE_SCHEMA } from '../src/schemata'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const extractStateProperties = ({ - outQueues: [ - [ - { - evt: { ue_pr }, - }, - ], - ], -}: any) => ({ unstructuredEvent: JSON.parse(ue_pr).data }); +const extractEventProperties = ([{ ue_pr }]: any) => ({ unstructuredEvent: JSON.parse(ue_pr).data }); describe('EnhancedConsentPlugin events', () => { - let state: SharedState; let idx = 1; + let eventStore: EventStore; + beforeEach(() => { - state = new SharedState(); - addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.0.0', '', state, { + eventStore = newInMemoryEventStore({}); + addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.0.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [EnhancedConsentPlugin()], contexts: { webPage: false }, + eventStore, + customFetch: async () => new Response(null, { status: 500 }), }); }); - it('trackCmpVisible adds the "CMP Visible" event to the queue', () => { + it('trackCmpVisible adds the "CMP Visible" event to the queue', async () => { trackCmpVisible({ elapsedTime: 1500, }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ schema: CMP_VISIBLE_SCHEMA, @@ -48,7 +44,7 @@ describe('EnhancedConsentPlugin events', () => { }); }); - it('trackConsentAllow adds the "allow consent" event to the queue', () => { + it('trackConsentAllow adds the "allow consent" event to the queue', async () => { trackConsentAllow({ basisForProcessing: 'consent', consentUrl: 'http://consent.url', @@ -57,7 +53,7 @@ describe('EnhancedConsentPlugin events', () => { domainsApplied: ['www.example.com'], }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ data: { @@ -71,7 +67,7 @@ describe('EnhancedConsentPlugin events', () => { }); }); - it('trackConsentSelected adds the "allow selected consent" event to the queue', () => { + it('trackConsentSelected adds the "allow selected consent" event to the queue', async () => { trackConsentSelected({ basisForProcessing: 'consent', consentUrl: 'http://consent.url', @@ -80,7 +76,7 @@ describe('EnhancedConsentPlugin events', () => { domainsApplied: ['www.example.com', 'blog.example.com'], }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ data: { @@ -94,7 +90,7 @@ describe('EnhancedConsentPlugin events', () => { }); }); - it('trackConsentPending adds the "pending consent" event to the queue', () => { + it('trackConsentPending adds the "pending consent" event to the queue', async () => { trackConsentPending({ basisForProcessing: 'consent', consentUrl: 'http://consent.url', @@ -103,7 +99,7 @@ describe('EnhancedConsentPlugin events', () => { domainsApplied: ['www.example.com'], }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ data: { @@ -117,7 +113,7 @@ describe('EnhancedConsentPlugin events', () => { }); }); - it('trackConsentImplicit adds the "implicit consent" event to the queue', () => { + it('trackConsentImplicit adds the "implicit consent" event to the queue', async () => { trackConsentImplicit({ basisForProcessing: 'consent', consentUrl: 'http://consent.url', @@ -126,7 +122,7 @@ describe('EnhancedConsentPlugin events', () => { domainsApplied: ['www.example.com'], }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ data: { @@ -140,7 +136,7 @@ describe('EnhancedConsentPlugin events', () => { }); }); - it('trackConsentExpired adds the "expired consent" event to the queue', () => { + it('trackConsentExpired adds the "expired consent" event to the queue', async () => { trackConsentExpired({ basisForProcessing: 'consent', consentUrl: 'http://consent.url', @@ -149,7 +145,7 @@ describe('EnhancedConsentPlugin events', () => { domainsApplied: ['www.example.com'], }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ data: { @@ -163,7 +159,7 @@ describe('EnhancedConsentPlugin events', () => { }); }); - it('trackConsentDeny adds the "consent denied" event to the queue', () => { + it('trackConsentDeny adds the "consent denied" event to the queue', async () => { trackConsentDeny({ basisForProcessing: 'consent', consentUrl: 'http://consent.url', @@ -172,7 +168,7 @@ describe('EnhancedConsentPlugin events', () => { domainsApplied: ['www.example.com'], }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ data: { @@ -186,7 +182,7 @@ describe('EnhancedConsentPlugin events', () => { }); }); - it('trackConsentWithdrawn adds the "consent withdrawn" event to the queue', () => { + it('trackConsentWithdrawn adds the "consent withdrawn" event to the queue', async () => { trackConsentWithdrawn({ basisForProcessing: 'consent', consentUrl: 'http://consent.url', @@ -195,7 +191,7 @@ describe('EnhancedConsentPlugin events', () => { domainsApplied: ['www.example.com'], }); - const { unstructuredEvent } = extractStateProperties(state); + const { unstructuredEvent } = extractEventProperties(await eventStore.getAllPayloads()); expect(unstructuredEvent).toMatchObject({ data: { diff --git a/plugins/browser-plugin-enhanced-ecommerce/test/contexts.test.ts b/plugins/browser-plugin-enhanced-ecommerce/test/contexts.test.ts index 601872755..c8ce5ed35 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/test/contexts.test.ts +++ b/plugins/browser-plugin-enhanced-ecommerce/test/contexts.test.ts @@ -38,16 +38,19 @@ import { addEnhancedEcommercePromoContext, trackEnhancedEcommerceAction, } from '../src'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e'))), F.first); -const extractSchemas = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.co'))); +const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); +const extractSchemas = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('co'))); -it('attaches enhanced ecommerce contexts to enhanced ecommerce events', () => { - const state = new SharedState(); - addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { +it('attaches enhanced ecommerce contexts to enhanced ecommerce events', async () => { + const eventStore = newInMemoryEventStore({}); + addTracker('sp1', 'sp1', 'js-3.0.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [EnhancedEcommercePlugin()], + eventStore, + customFetch: async () => new Response(null, { status: 500 }), }); addEnhancedEcommerceProductContext({ id: '1234-5678', name: 'T-Shirt' }); @@ -63,5 +66,5 @@ it('attaches enhanced ecommerce contexts to enhanced ecommerce events', () => { F.compose(F.size, F.filter(F.compose(F.eq(value), F.get('data.id'))), extractContextsWithStaticValue); // we expect there to be four contexts added to the event - expect(countWithStaticValueEq('1234-5678')(state.outQueues)).toBe(4); + expect(countWithStaticValueEq('1234-5678')(await eventStore.getAllPayloads())).toBe(4); }); diff --git a/plugins/browser-plugin-error-tracking/test/events.test.ts b/plugins/browser-plugin-error-tracking/test/events.test.ts index 0378b76f9..1e96cb390 100644 --- a/plugins/browser-plugin-error-tracking/test/events.test.ts +++ b/plugins/browser-plugin-error-tracking/test/events.test.ts @@ -31,9 +31,10 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; import { ErrorTrackingPlugin, trackError } from '../src'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.ue_pr'))); +const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); +const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); const extractUeEvent = (schema: string) => { return { from: F.compose( @@ -47,22 +48,35 @@ const extractUeEvent = (schema: string) => { }; describe('AdTrackingPlugin', () => { + const eventStore1 = newInMemoryEventStore({}); + const eventStore2 = newInMemoryEventStore({}); + const eventStore3 = newInMemoryEventStore({}); + const eventStore4 = newInMemoryEventStore({}); + const state = new SharedState(); addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { encodeBase64: false, plugins: [ErrorTrackingPlugin()], + eventStore: eventStore1, + customFetch: async () => new Response(null, { status: 500 }), }); addTracker('sp2', 'sp2', 'js-3.0.0', '', state, { encodeBase64: false, plugins: [ErrorTrackingPlugin()], + eventStore: eventStore2, + customFetch: async () => new Response(null, { status: 500 }), }); addTracker('sp3', 'sp3', 'js-3.0.0', '', state, { encodeBase64: false, plugins: [ErrorTrackingPlugin()], + eventStore: eventStore3, + customFetch: async () => new Response(null, { status: 500 }), }); addTracker('sp4', 'sp4', 'js-3.0.0', '', state, { encodeBase64: false, plugins: [ErrorTrackingPlugin()], + eventStore: eventStore4, + customFetch: async () => new Response(null, { status: 500 }), }); const error = new Error('this is an error'); @@ -105,9 +119,11 @@ describe('AdTrackingPlugin', () => { ['sp4'] ); - it('trackError adds the expected application error event to the queue', () => { + it('trackError adds the expected application error event to the queue', async () => { expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from( + await eventStore1.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', data: { @@ -121,9 +137,11 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackError accepts empty error messages', () => { + it('trackError accepts empty error messages', async () => { expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from(state.outQueues[1]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from( + await eventStore2.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', data: { @@ -132,9 +150,11 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackError replaces undefined messages with placeholder', () => { + it('trackError replaces undefined messages with placeholder', async () => { expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from(state.outQueues[2]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from( + await eventStore3.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', data: { @@ -143,9 +163,11 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackError replaces undefined messages with placeholder', () => { + it('trackError replaces undefined messages with placeholder', async () => { expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from(state.outQueues[3]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from( + await eventStore4.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', data: { diff --git a/plugins/browser-plugin-focalmeter/test/request.test.ts b/plugins/browser-plugin-focalmeter/test/request.test.ts index 40ec88ecd..7058c31e5 100644 --- a/plugins/browser-plugin-focalmeter/test/request.test.ts +++ b/plugins/browser-plugin-focalmeter/test/request.test.ts @@ -31,7 +31,7 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import { enableFocalMeterIntegration, FocalMeterPlugin } from '../src'; -describe('AdTrackingPlugin', () => { +describe('FocalmeterPlugin', () => { // Mock XHR network requests let xhrMock: Partial; let xhrOpenMock: jest.Mock; @@ -67,7 +67,7 @@ describe('AdTrackingPlugin', () => { const userId = tracker?.getDomainUserId(); await checkMock(() => { - expect(xhrOpenMock).toHaveBeenCalledTimes(2); + expect(xhrOpenMock).toHaveBeenCalledTimes(1); expect(xhrOpenMock).toHaveBeenLastCalledWith('GET', `${domain}?vendor=snowplow&cs_fpid=${userId}&c12=not_set`); }); }); @@ -80,7 +80,7 @@ describe('AdTrackingPlugin', () => { const userId = tracker?.getDomainUserId(); await checkMock(() => { - expect(xhrOpenMock).toHaveBeenCalledTimes(2); + expect(xhrOpenMock).toHaveBeenCalledTimes(1); expect(xhrOpenMock).toHaveBeenLastCalledWith('GET', `${domain}?vendor=snowplow&cs_fpid=${userId}-processed&c12=not_set`); }); }); @@ -93,7 +93,7 @@ describe('AdTrackingPlugin', () => { tracker?.enableAnonymousTracking(); tracker?.trackPageView(); await checkMock(() => { - expect(xhrOpenMock).toHaveBeenCalledTimes(1); + expect(xhrOpenMock).toHaveBeenCalledTimes(0); }); // Makes a request when disabling anonymous tracking @@ -101,14 +101,14 @@ describe('AdTrackingPlugin', () => { tracker?.trackPageView(); const userId = tracker?.getDomainUserId(); await checkMock(() => { - expect(xhrOpenMock).toHaveBeenCalledTimes(2); + expect(xhrOpenMock).toHaveBeenCalledTimes(1); expect(xhrOpenMock).toHaveBeenLastCalledWith('GET', `${domain}?vendor=snowplow&cs_fpid=${userId}&c12=not_set`); }); // Doesn't make another request since user ID didn't change tracker?.trackPageView(); await checkMock(() => { - expect(xhrOpenMock).toHaveBeenCalledTimes(1); + expect(xhrOpenMock).toHaveBeenCalledTimes(0); }); }); @@ -125,15 +125,15 @@ describe('AdTrackingPlugin', () => { // Makes requests for both trackers tracker1?.trackPageView(); - await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(2)); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(1)); tracker2?.trackPageView(); - await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(2)); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(1)); // Doesn't make any more requests for the trackers tracker1?.trackPageView(); - await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(1)); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(0)); tracker2?.trackPageView(); - await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(1)); + await checkMock(() => expect(xhrOpenMock).toHaveBeenCalledTimes(0)); }); function createTrackerWithPlugin(id: string | undefined = undefined) { @@ -144,6 +144,7 @@ describe('AdTrackingPlugin', () => { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [FocalMeterPlugin()], + customFetch: async () => new Response(null, { status: 200 }), }); } diff --git a/plugins/browser-plugin-form-tracking/test/events.test.ts b/plugins/browser-plugin-form-tracking/test/events.test.ts index ef1fc932b..1d77f9a30 100644 --- a/plugins/browser-plugin-form-tracking/test/events.test.ts +++ b/plugins/browser-plugin-form-tracking/test/events.test.ts @@ -30,9 +30,10 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import { enableFormTracking, disableFormTracking, FormTrackingPlugin } from '../src'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const getUEEvents = (arr: any) => arr.filter(({ evt }: any) => evt.e === 'ue'); -const extractEventProperties = (arr: any) => arr.map(({ evt }: any) => JSON.parse(evt.ue_pr).data); +const getUEEvents = (arr: any) => arr.filter(({ e }: any) => e === 'ue'); +const extractEventProperties = (arr: any) => arr.map(({ ue_pr }: any) => JSON.parse(ue_pr).data); const extractUeEvent = (schema: string) => ({ from: (arr: any, n: number = 0) => extractEventProperties(getUEEvents(arr)) @@ -41,11 +42,13 @@ const extractUeEvent = (schema: string) => ({ }); describe('FormTrackingPlugin', () => { - const state = new SharedState(); - addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { + const eventStore = newInMemoryEventStore({}); + addTracker('sp1', 'sp1', 'js-3.0.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [FormTrackingPlugin()], + eventStore, + customFetch: async () => new Response(null, { status: 500 }), }); const $addEventListener = jest.spyOn(document, 'addEventListener'); @@ -53,9 +56,9 @@ describe('FormTrackingPlugin', () => { document.body.appendChild(Object.assign(document.createElement('form'), { id: 'test-form' })); - afterEach(() => { - // clear the outQueue(s) after each test - state.outQueues.forEach((queue) => Array.isArray(queue) && (queue.length = 0)); + afterEach(async () => { + // clear the event store after each test + await eventStore.removeHead(await eventStore.count()); jest.clearAllMocks(); document.forms[0].replaceChildren(); }); @@ -74,7 +77,7 @@ describe('FormTrackingPlugin', () => { expect($addEventListener).toBeCalledWith('submit', expect.anything(), true); }); - it('tracks focus on fields that already exist', () => { + it('tracks focus on fields that already exist', async () => { const target = document.createElement('input'); document.forms[0].appendChild(target); @@ -83,7 +86,9 @@ describe('FormTrackingPlugin', () => { target.focus(); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', data: { @@ -92,7 +97,7 @@ describe('FormTrackingPlugin', () => { }); }); - it('tracks focus on fields added after enabling', () => { + it('tracks focus on fields added after enabling', async () => { enableFormTracking(); const target = document.createElement('input'); @@ -101,7 +106,9 @@ describe('FormTrackingPlugin', () => { target.focus(); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', data: { @@ -110,7 +117,7 @@ describe('FormTrackingPlugin', () => { }); }); - it('tracks changes on field values', () => { + it('tracks changes on field values', async () => { enableFormTracking(); const target = document.createElement('input'); @@ -120,7 +127,9 @@ describe('FormTrackingPlugin', () => { target.dispatchEvent(new Event('change')); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', data: { @@ -130,7 +139,7 @@ describe('FormTrackingPlugin', () => { }); }); - it('associates non-nested forms correctly', () => { + it('associates non-nested forms correctly', async () => { enableFormTracking(); const target = document.createElement('input'); @@ -140,7 +149,9 @@ describe('FormTrackingPlugin', () => { target.focus(); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', data: { @@ -151,7 +162,7 @@ describe('FormTrackingPlugin', () => { document.body.removeChild(target); }); - it('ignores password values', () => { + it('ignores password values', async () => { enableFormTracking(); const target = document.createElement('input'); @@ -164,7 +175,9 @@ describe('FormTrackingPlugin', () => { target.dispatchEvent(new Event('change')); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', data: { @@ -176,7 +189,9 @@ describe('FormTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0', data: { @@ -194,7 +209,7 @@ describe('FormTrackingPlugin', () => { expect($addEventListener).toBeCalledWith('focus', expect.anything(), true); }); - it('ignores form that are not explicitly specified', () => { + it('ignores form that are not explicitly specified', async () => { const extra = document.createElement('form'); extra.id = 'skipme'; document.body.appendChild(extra); @@ -205,14 +220,16 @@ describe('FormTrackingPlugin', () => { extra.appendChild(target); target.focus(); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); target = document.createElement('input'); document.forms[0].appendChild(target); target.focus(); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', data: { @@ -221,7 +238,9 @@ describe('FormTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).not.toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0', data: { diff --git a/plugins/browser-plugin-link-click-tracking/test/events.test.ts b/plugins/browser-plugin-link-click-tracking/test/events.test.ts index d786de9b0..536d15359 100644 --- a/plugins/browser-plugin-link-click-tracking/test/events.test.ts +++ b/plugins/browser-plugin-link-click-tracking/test/events.test.ts @@ -31,9 +31,10 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; import { LinkClickTrackingPlugin, disableLinkClickTracking, enableLinkClickTracking, trackLinkClick } from '../src'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.ue_pr'))); +const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); +const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); const extractUeEvent = (schema: string) => { return { from: (a: any, n: number = 0) => @@ -45,24 +46,26 @@ const extractUeEvent = (schema: string) => { }; describe('LinkClickTrackingPlugin', () => { - const state = new SharedState(); - addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { + const eventStore = newInMemoryEventStore({}); + addTracker('sp1', 'sp1', 'js-3.0.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [LinkClickTrackingPlugin()], + eventStore, + customFetch: async () => new Response(null, { status: 500 }), }); const $addEventListener = jest.spyOn(window, 'addEventListener'); const $removeEventListener = jest.spyOn(window, 'removeEventListener'); - afterEach(() => { + afterEach(async () => { // clear the outQueue(s) after each test - state.outQueues.forEach((queue) => Array.isArray(queue) && (queue.length = 0)); + await eventStore.removeHead(await eventStore.count()); jest.clearAllMocks(); }); describe('trackLinkClick', () => { - it('adds the specified link click event to the queue', () => { + it('adds the specified link click event to the queue', async () => { trackLinkClick({ targetUrl: 'https://www.example.com', elementClasses: ['class-1', 'class-2'], @@ -72,7 +75,9 @@ describe('LinkClickTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', data: { @@ -85,7 +90,7 @@ describe('LinkClickTrackingPlugin', () => { }); }); - it('generates a link click event from a given element and adds it to the queue', () => { + it('generates a link click event from a given element and adds it to the queue', async () => { const a = Object.assign(document.createElement('a'), { href: 'https://www.example.com/abc', className: 'class-1 class-2', @@ -97,7 +102,9 @@ describe('LinkClickTrackingPlugin', () => { trackLinkClick({ element: a }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', data: { @@ -110,7 +117,7 @@ describe('LinkClickTrackingPlugin', () => { }); }); - it('does nothing for no trackers', () => { + it('does nothing for no trackers', async () => { trackLinkClick( { targetUrl: 'https://www.example.com', @@ -122,10 +129,10 @@ describe('LinkClickTrackingPlugin', () => { [] ); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); }); - it('does nothing for fake trackers', () => { + it('does nothing for fake trackers', async () => { trackLinkClick( { targetUrl: 'https://www.example.com', @@ -137,7 +144,7 @@ describe('LinkClickTrackingPlugin', () => { ['doesNotExist'] ); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); }); }); @@ -158,7 +165,7 @@ describe('LinkClickTrackingPlugin', () => { expect($addEventListener).lastCalledWith('mousedown', expect.anything(), true); }); - it('tracks clicks on links that already exist', () => { + it('tracks clicks on links that already exist', async () => { const target = document.createElement('a'); target.href = 'https://www.example.com/exists'; document.body.appendChild(target); @@ -168,7 +175,9 @@ describe('LinkClickTrackingPlugin', () => { target.click(); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', data: { @@ -177,7 +186,7 @@ describe('LinkClickTrackingPlugin', () => { }); }); - it('tracks clicks on links added after enabling', () => { + it('tracks clicks on links added after enabling', async () => { enableLinkClickTracking(); const target = document.createElement('a'); @@ -187,7 +196,9 @@ describe('LinkClickTrackingPlugin', () => { target.click(); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', data: { @@ -196,7 +207,7 @@ describe('LinkClickTrackingPlugin', () => { }); }); - it('tracks clicks on child elements of links and contents', () => { + it('tracks clicks on child elements of links and contents', async () => { enableLinkClickTracking({ trackContent: true }); const parent = document.createElement('a'); @@ -211,7 +222,9 @@ describe('LinkClickTrackingPlugin', () => { target.click(); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1', data: { @@ -221,7 +234,7 @@ describe('LinkClickTrackingPlugin', () => { }); }); - it('doesnt double track clicks', () => { + it('doesnt double track clicks', async () => { enableLinkClickTracking({ pseudoClicks: true }); enableLinkClickTracking({ pseudoClicks: false }); @@ -229,14 +242,14 @@ describe('LinkClickTrackingPlugin', () => { target.href = 'https://www.example.com/multiple'; document.body.appendChild(target); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); target.click(); - expect(state.outQueues[0]).toHaveLength(1); + expect(await eventStore.getAllPayloads()).toHaveLength(1); }); - it('ignores links that match denylist criteria', () => { + it('ignores links that match denylist criteria', async () => { enableLinkClickTracking({ options: { denylist: ['exclude'] } }); const target = document.createElement('a'); @@ -244,19 +257,19 @@ describe('LinkClickTrackingPlugin', () => { target.className = 'exclude'; document.body.appendChild(target); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); target.click(); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); target.className = 'include'; target.click(); - expect(state.outQueues[0]).toHaveLength(1); + expect(await eventStore.getAllPayloads()).toHaveLength(1); }); - it('ignores links that dont match allowlist criteria', () => { + it('ignores links that dont match allowlist criteria', async () => { enableLinkClickTracking({ options: { allowlist: ['include'] } }); const target = document.createElement('a'); @@ -264,16 +277,16 @@ describe('LinkClickTrackingPlugin', () => { target.className = 'exclude'; document.body.appendChild(target); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); target.click(); - expect(state.outQueues[0]).toHaveLength(0); + expect(await eventStore.getAllPayloads()).toHaveLength(0); target.className = 'include'; target.click(); - expect(state.outQueues[0]).toHaveLength(1); + expect(await eventStore.getAllPayloads()).toHaveLength(1); }); }); diff --git a/plugins/browser-plugin-site-tracking/test/events.test.ts b/plugins/browser-plugin-site-tracking/test/events.test.ts index e508e48df..300c4a31b 100644 --- a/plugins/browser-plugin-site-tracking/test/events.test.ts +++ b/plugins/browser-plugin-site-tracking/test/events.test.ts @@ -31,9 +31,10 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; import { SiteTrackingPlugin, trackTiming, trackSiteSearch, trackSocialInteraction } from '../src'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('evt.e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.ue_pr'))); +const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); +const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); const extractUeEvent = (schema: string) => { return { from: F.compose( @@ -47,14 +48,16 @@ const extractUeEvent = (schema: string) => { }; describe('AdTrackingPlugin', () => { - const state = new SharedState(); - addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { + const eventStore = newInMemoryEventStore({}); + addTracker('sp1', 'sp1', 'js-3.0.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [SiteTrackingPlugin()], + eventStore, + customFetch: async () => new Response(null, { status: 500 }), }); - it('trackTiming adds the expected timing click event to the queue', () => { + it('trackTiming adds the expected timing click event to the queue', async () => { trackTiming({ category: 'category-1', timing: 200, @@ -63,7 +66,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/timing/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/timing/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/timing/jsonschema/1-0-0', data: { @@ -75,7 +80,7 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackSiteSearch adds the expected site search event to the queue', () => { + it('trackSiteSearch adds the expected site search event to the queue', async () => { trackSiteSearch({ terms: ['term-1', 'term-2'], filters: { key: 'value' }, @@ -84,7 +89,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0', data: { @@ -96,7 +103,7 @@ describe('AdTrackingPlugin', () => { }); }); - it('trackSocialInteraction adds the expected social interaction event to the queue', () => { + it('trackSocialInteraction adds the expected social interaction event to the queue', async () => { trackSocialInteraction({ action: 'action-1', network: 'network-1', @@ -104,7 +111,9 @@ describe('AdTrackingPlugin', () => { }); expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0').from(state.outQueues[0]) + extractUeEvent('iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0').from( + await eventStore.getAllPayloads() + ) ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0', data: { diff --git a/plugins/browser-plugin-snowplow-ecommerce/test/contexts.test.ts b/plugins/browser-plugin-snowplow-ecommerce/test/contexts.test.ts index 551b0c0c1..c1a0873ed 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/test/contexts.test.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/test/contexts.test.ts @@ -1,32 +1,34 @@ -import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; +import { addTracker, SharedState, EventStore } from '@snowplow/browser-tracker-core'; import { SnowplowEcommercePlugin, setEcommerceUser, setPageType, trackCheckoutStep } from '../src'; import { CHECKOUT_STEP_SCHEMA } from '../src/schemata'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const extractStateProperties = ({ - outQueues: [ - [ - { - evt: { ue_pr, co }, - }, - ], - ], -}: any) => ({ unstructuredEvent: JSON.parse(ue_pr).data, context: JSON.parse(co).data }); +const extractEventsProperties = ([{ ue_pr, co }]: any) => ({ + unstructuredEvent: JSON.parse(ue_pr).data, + context: JSON.parse(co).data, +}); describe('SnowplowEcommercePlugin contexts', () => { - let state: SharedState; let idx = 1; + let eventStore: EventStore; + const customFetch = async () => new Response(null, { status: 500 }); + + beforeEach(() => { + eventStore = newInMemoryEventStore({}); + }); beforeEach(() => { - state = new SharedState(); - addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.0.0', '', state, { + addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.0.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [SnowplowEcommercePlugin()], contexts: { webPage: false }, + customFetch, + eventStore, }); }); - it('setPageContext can only be added one time and the latest one is persisted', () => { + it('setPageContext can only be added one time and the latest one is persisted', async () => { const checkoutPageType = { type: 'Checkout', locale: 'us' }; const homepagePageType = { type: 'Homepage', locale: 'us' }; setPageType(homepagePageType); @@ -37,7 +39,7 @@ describe('SnowplowEcommercePlugin contexts', () => { }; trackCheckoutStep(checkoutStep); - const { context } = extractStateProperties(state); + const { context } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -48,7 +50,7 @@ describe('SnowplowEcommercePlugin contexts', () => { ]); }); - it('setEcommerceUser can only be added one time and the latest one is persisted', () => { + it('setEcommerceUser can only be added one time and the latest one is persisted', async () => { setEcommerceUser({ id: 'testid' }); setEcommerceUser({ id: 'testid', email: 'test@snowplow.com' }); @@ -57,7 +59,7 @@ describe('SnowplowEcommercePlugin contexts', () => { }; trackCheckoutStep(checkoutStep); - const { context } = extractStateProperties(state); + const { context } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { diff --git a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts index 60990ae0e..c62ba44f5 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/test/events.test.ts @@ -28,7 +28,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; +import { addTracker, SharedState, EventStore } from '@snowplow/browser-tracker-core'; import { SnowplowEcommercePlugin, trackAddToCart, @@ -54,31 +54,31 @@ import { TRANSACTION_ERROR_SCHEMA, } from '../src/schemata'; import { CheckoutStep, Product, SPPromotion, Refund, SPTransaction, TransactionError } from '../src/types'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; -const extractStateProperties = ({ - outQueues: [ - [ - { - evt: { ue_pr, co }, - }, - ], - ], -}: any) => ({ unstructuredEvent: JSON.parse(ue_pr).data, context: JSON.parse(co).data }); +const extractEventsProperties = ([{ ue_pr, co }]: any) => ({ + unstructuredEvent: JSON.parse(ue_pr).data, + context: JSON.parse(co).data, +}); describe('SnowplowEcommercePlugin events', () => { - let state: SharedState; let idx = 1; + let eventStore: EventStore; + beforeEach(() => { - state = new SharedState(); - addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.0.0', '', state, { + eventStore = newInMemoryEventStore({}); + const customFetch = async () => new Response(null, { status: 500 }); + addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.0.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, plugins: [SnowplowEcommercePlugin()], contexts: { webPage: false }, + eventStore, + customFetch, }); }); - it('trackAddToCart adds the expected "add to cart" event to the queue', () => { + it('trackAddToCart adds the expected "add to cart" event to the queue', async () => { const productX: Product = { id: '1234', price: 12, currency: 'EUR' }; const productY: Product = { id: '12345', price: 25, currency: 'EUR' }; trackAddToCart({ @@ -87,7 +87,7 @@ describe('SnowplowEcommercePlugin events', () => { products: [productX, productY], }); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -113,7 +113,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackRemoveFromCart adds the expected "remove from cart" event to the queue', () => { + it('trackRemoveFromCart adds the expected "remove from cart" event to the queue', async () => { const productX: Product = { id: '1234', price: 12, currency: 'EUR' }; trackRemoveFromCart({ total_value: 40, @@ -121,7 +121,7 @@ describe('SnowplowEcommercePlugin events', () => { products: [productX], }); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -143,7 +143,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackProductView adds the expected "product view" event to the queue', () => { + it('trackProductView adds the expected "product view" event to the queue', async () => { const productX: Product = { id: '1234', price: 25, @@ -152,7 +152,7 @@ describe('SnowplowEcommercePlugin events', () => { }; trackProductView(productX); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -167,7 +167,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackPromotionView adds the expected "promotion view" event to the queue', () => { + it('trackPromotionView adds the expected "promotion view" event to the queue', async () => { const promoX: SPPromotion = { id: '1234', name: 'promo_winter', @@ -177,7 +177,7 @@ describe('SnowplowEcommercePlugin events', () => { }; trackPromotionView(promoX); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -192,7 +192,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackPromotionClick adds the expected "promotion click" event to the queue', () => { + it('trackPromotionClick adds the expected "promotion click" event to the queue', async () => { const promoX: SPPromotion = { id: '1234', name: 'promo_winter', @@ -202,7 +202,7 @@ describe('SnowplowEcommercePlugin events', () => { }; trackPromotionClick(promoX); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -217,7 +217,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackProductListView adds the expected "product list view" event to the queue', () => { + it('trackProductListView adds the expected "product list view" event to the queue', async () => { const productX: Product = { id: '1234', price: 12, currency: 'EUR' }; const productY: Product = { id: '12345', price: 25, currency: 'EUR' }; trackProductListView({ @@ -225,7 +225,7 @@ describe('SnowplowEcommercePlugin events', () => { products: [productX, productY], }); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -244,14 +244,14 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackProductListClick adds the expected "product list click" event to the queue', () => { + it('trackProductListClick adds the expected "product list click" event to the queue', async () => { const productX: Product = { id: '1234', price: 12, currency: 'EUR', position: 3 }; trackProductListClick({ name: 'recommended products', product: productX, }); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -266,7 +266,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackCheckoutStep adds the expected "checkout step" event to the queue', () => { + it('trackCheckoutStep adds the expected "checkout step" event to the queue', async () => { const checkoutStep: CheckoutStep = { step: 1, shipping_postcode: '1234', @@ -274,7 +274,7 @@ describe('SnowplowEcommercePlugin events', () => { }; trackCheckoutStep(checkoutStep); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -289,7 +289,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackTransaction adds the expected "transaction" event to the queue', () => { + it('trackTransaction adds the expected "transaction" event to the queue', async () => { const productX: Product = { id: '1234', price: 12, currency: 'EUR', quantity: 4 }; const productY: Product = { id: '12345', price: 25, currency: 'EUR', quantity: 1 }; const transaction: SPTransaction = { @@ -303,7 +303,7 @@ describe('SnowplowEcommercePlugin events', () => { products: [productX, productY], }); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -331,7 +331,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackRefund adds the expected "refund" event to the queue', () => { + it('trackRefund adds the expected "refund" event to the queue', async () => { const productX: Product = { id: '1234', price: 12, currency: 'EUR' }; const productY: Product = { id: '12345', price: 25, currency: 'EUR' }; const refund: Refund = { refund_amount: 45, currency: 'EUR', transaction_id: '12345', refund_reason: 'Return' }; @@ -340,7 +340,7 @@ describe('SnowplowEcommercePlugin events', () => { products: [productX, productY], }); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { @@ -363,7 +363,7 @@ describe('SnowplowEcommercePlugin events', () => { }); }); - it('trackTransactionError adds the expected "trns_error" event to the queue', () => { + it('trackTransactionError adds the expected "trns_error" event to the queue', async () => { const transactionError: Omit = { resolution: 'rejection', error_code: 'E123', @@ -381,7 +381,7 @@ describe('SnowplowEcommercePlugin events', () => { transaction, }); - const { context, unstructuredEvent } = extractStateProperties(state); + const { context, unstructuredEvent } = extractEventsProperties(await eventStore.getAllPayloads()); expect(context).toMatchObject([ { diff --git a/rush.json b/rush.json index 293255440..afa7cd0c4 100644 --- a/rush.json +++ b/rush.json @@ -118,7 +118,7 @@ * Specify a SemVer range to ensure developers use a Node.js version that is appropriate * for your repo. */ - "nodeSupportedVersionRange": ">=18.0.0 <21.0.0", + "nodeSupportedVersionRange": ">=18.0.0 <25.0.0", /** * Odd-numbered major versions of Node.js are experimental. Even-numbered releases @@ -279,37 +279,6 @@ "postRushBuild": [] }, - /** - * Installation variants allow you to maintain a parallel set of configuration files that can be - * used to build the entire monorepo with an alternate set of dependencies. For example, suppose - * you upgrade all your projects to use a new release of an important framework, but during a transition period - * you intend to maintain compability with the old release. In this situation, you probably want your - * CI validation to build the entire repo twice: once with the old release, and once with the new release. - * - * Rush "installation variants" correspond to sets of config files located under this folder: - * - * common/config/rush/variants/ - * - * The variant folder can contain an alternate common-versions.json file. Its "preferredVersions" field can be used - * to select older versions of dependencies (within a loose SemVer range specified in your package.json files). - * To install a variant, run "rush install --variant ". - * - * For more details and instructions, see this article: https://rushjs.io/pages/advanced/installation_variants/ - */ - "variants": [ - // { - // /** - // * The folder name for this variant. - // */ - // "variantName": "old-sdk", - // - // /** - // * An informative description - // */ - // "description": "Build this repo using the previous release of the SDK" - // } - ], - /** * Rush can collect anonymous telemetry about everyday developer activity such as * success/failure of installs, builds, and other operations. You can use this to identify diff --git a/setupTestGlobals.ts b/setupTestGlobals.ts index a7970c711..0784784e7 100644 --- a/setupTestGlobals.ts +++ b/setupTestGlobals.ts @@ -1,3 +1,4 @@ +import 'whatwg-fetch'; const nodeCrypto = require('crypto'); // @ts-expect-error diff --git a/trackers/browser-tracker/package.json b/trackers/browser-tracker/package.json index f18d5a07b..6487ee4a3 100644 --- a/trackers/browser-tracker/package.json +++ b/trackers/browser-tracker/package.json @@ -61,6 +61,7 @@ "rollup-plugin-terser": "~7.0.2", "rollup-plugin-ts": "~2.0.5", "ts-jest": "~27.1.3", - "typescript": "~4.6.2" + "typescript": "~4.6.2", + "whatwg-fetch": "~3.6.20" } } diff --git a/trackers/browser-tracker/src/index.ts b/trackers/browser-tracker/src/index.ts index ae782e880..ed2378e92 100644 --- a/trackers/browser-tracker/src/index.ts +++ b/trackers/browser-tracker/src/index.ts @@ -30,6 +30,7 @@ import { createSharedState, + SharedState, addTracker, TrackerConfiguration, BrowserTracker, @@ -40,12 +41,29 @@ import { ClientSession, RequestFailure, EventBatch, - GetBatch, - PostBatch, ParsedIdCookie, PreservePageViewIdForUrl, + EventStore, + EventStoreIterator, + EventStorePayload, + EventStoreConfiguration, + LocalStorageEventStoreConfigurationBase, } from '@snowplow/browser-tracker-core'; -import { version } from '@snowplow/tracker-core'; +import { + version, + CorePlugin, + CorePluginConfiguration, + TrackerCore, + Timestamp, + Payload, + PayloadBuilder, + Logger, + EventJson, + JsonProcessor, + TrueTimestamp, + DeviceTimestamp, + EmitterConfigurationBase, +} from '@snowplow/tracker-core'; const state = typeof window !== 'undefined' ? createSharedState() : undefined; @@ -74,10 +92,26 @@ export { ClientSession, RequestFailure, EventBatch, - GetBatch, - PostBatch, ParsedIdCookie, PreservePageViewIdForUrl, + EventStore, + EventStoreIterator, + EventStorePayload, + EmitterConfigurationBase, + LocalStorageEventStoreConfigurationBase, + CorePlugin, + CorePluginConfiguration, + TrackerCore, + SharedState, + Timestamp, + Payload, + PayloadBuilder, + Logger, + EventStoreConfiguration, + EventJson, + JsonProcessor, + TrueTimestamp, + DeviceTimestamp, }; export { version }; export * from './api'; diff --git a/trackers/browser-tracker/test/tracker.test.ts b/trackers/browser-tracker/test/tracker.test.ts index 085f3edc9..686e92f61 100644 --- a/trackers/browser-tracker/test/tracker.test.ts +++ b/trackers/browser-tracker/test/tracker.test.ts @@ -28,18 +28,34 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import { SharedState, addTracker } from '@snowplow/browser-tracker-core'; +import { SharedState, addTracker, EventStore, Payload } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; +import { newInMemoryEventStore } from '@snowplow/tracker-core'; jest.useFakeTimers('modern'); -const getPPEvents = F.compose(F.filter(F.compose(F.eq('pp'), F.get('evt.e'))), F.first); +const getPPEvents: (events: readonly Payload[]) => Payload[] = (events) => { + return events.filter((payload) => payload.e === 'pp'); +}; -const extractSchemas = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('evt.co'))); +const extractSchemas: (events: Payload[]) => any[] = (events) => { + return events.map((payload) => { + return JSON.parse(payload.co as string).data; + }); +}; -const extractPageId = F.compose(F.get('data[0].data.id'), (cx: string) => JSON.parse(cx), F.get('evt.co')); +const extractPageId: (payload: Payload) => string = (payload) => { + return JSON.parse(payload.co as string).data[0].data.id; +}; describe('Activity tracker behaviour', () => { + let eventStore: EventStore; + const customFetch = async () => new Response(null, { status: 500 }); + + beforeEach(() => { + eventStore = newInMemoryEventStore({}); + }); + beforeAll(() => { document.domain = 'http://localhost'; }); @@ -48,11 +64,12 @@ describe('Activity tracker behaviour', () => { jest.clearAllTimers(); }); - it('supports different timings for ping vs callback activity tracking', () => { + it('supports different timings for ping vs callback activity tracking', async () => { let callbacks = 0; const state = new SharedState(); const t = - addTracker('sp1', 'sp1', '', '', state, { stateStorageStrategy: 'cookie' }) ?? fail('Failed to create tracker'); + addTracker('sp1', 'sp1', '', '', state, { stateStorageStrategy: 'cookie', customFetch, eventStore }) ?? + fail('Failed to create tracker'); t.enableActivityTracking({ minimumVisitLength: 10, heartbeatDelay: 10 }); t.enableActivityTrackingCallback({ minimumVisitLength: 5, @@ -80,16 +97,19 @@ describe('Activity tracker behaviour', () => { // window for page ping ticks expect(callbacks).toBe(4); - expect(F.size(getPPEvents(state.outQueues))).toBe(2); + const events = await eventStore.getAllPayloads(); + expect(F.size(getPPEvents(events))).toBe(2); }); - it('maintains current static context behaviour', () => { + it('maintains current static context behaviour', async () => { const state = new SharedState(); const t = addTracker('sp2', 'sp2', '', '', state, { resetActivityTrackingOnPageView: false, stateStorageStrategy: 'cookie', encodeBase64: false, + customFetch, + eventStore, }) ?? fail('Failed to create tracker'); t.enableActivityTracking({ minimumVisitLength: 0, heartbeatDelay: 2 }); t.trackPageView({ @@ -138,17 +158,20 @@ describe('Activity tracker behaviour', () => { // we expect there to be two page pings with static contexts attached // they should both have the time from page one. - expect(countWithStaticValueEq(pageOneTime)(state.outQueues)).toBe(2); - expect(countWithStaticValueEq(pageTwoTime)(state.outQueues)).toBe(0); + const events = await eventStore.getAllPayloads(); + expect(countWithStaticValueEq(pageOneTime)(events)).toBe(2); + expect(countWithStaticValueEq(pageTwoTime)(events)).toBe(0); }); - it('does not reset activity tracking on pageview when resetActivityTrackingOnPageView: false,', () => { + it('does not reset activity tracking on pageview when resetActivityTrackingOnPageView: false,', async () => { const state = new SharedState(); const t = addTracker('sp3', 'sp3', '', '', state, { resetActivityTrackingOnPageView: false, stateStorageStrategy: 'cookie', encodeBase64: false, + customFetch, + eventStore, }) ?? fail('Failed to create tracker'); t.enableActivityTracking({ minimumVisitLength: 0, heartbeatDelay: 30 }); t.trackPageView(); @@ -167,16 +190,19 @@ describe('Activity tracker behaviour', () => { jest.advanceTimersByTime(25000); // Activity tracking is currently not reset per page view so we get an extra page ping on page two. - const pps = getPPEvents(state.outQueues); + const events = await eventStore.getAllPayloads(); + const pps = getPPEvents(events); expect(F.size(pps)).toBe(2); }); - it('does reset activity tracking on pageview by default', () => { + it('does reset activity tracking on pageview by default', async () => { const state = new SharedState(); const t = addTracker('sp4', 'sp4', '', '', state, { stateStorageStrategy: 'cookie', encodeBase64: false, + customFetch, + eventStore, }) ?? fail('Failed to create tracker'); t.enableActivityTracking({ minimumVisitLength: 0, heartbeatDelay: 30 }); t.trackPageView(); @@ -204,17 +230,20 @@ describe('Activity tracker behaviour', () => { // Activity began tracking on the first page but moved on before 30 seconds. // Activity tracking should still not have fire despite being on site 30 seconds, as user has moved page. - const pps = getPPEvents(state.outQueues); + const events = await eventStore.getAllPayloads(); + const pps = getPPEvents(events); expect(F.size(pps)).toBe(1); }); - it('fires initial delayed activity tracking on first pageview and second pageview', () => { + it('fires initial delayed activity tracking on first pageview and second pageview', async () => { const state = new SharedState(); const t = addTracker('sp5', 'sp5', '', '', state, { stateStorageStrategy: 'cookie', encodeBase64: false, + customFetch, + eventStore, }) ?? fail('Failed to create tracker'); t.enableActivityTracking({ minimumVisitLength: 10, heartbeatDelay: 5 }); @@ -228,7 +257,7 @@ describe('Activity tracker behaviour', () => { jest.advanceTimersByTime(5000); - const initial_pps = getPPEvents(state.outQueues); + const initial_pps = getPPEvents(await eventStore.getAllPayloads()); expect(F.size(initial_pps)).toBe(0); jest.advanceTimersByTime(5000); // PP = 1 @@ -253,7 +282,7 @@ describe('Activity tracker behaviour', () => { jest.advanceTimersByTime(5000); // Should still only have 3 page pings from first page - const first_page_only_pps = getPPEvents(state.outQueues); + const first_page_only_pps = getPPEvents(await eventStore.getAllPayloads()); expect(F.size(first_page_only_pps)).toBe(3); jest.advanceTimersByTime(5000); // PP = 4 @@ -265,21 +294,22 @@ describe('Activity tracker behaviour', () => { // Activity began tracking on the first page and tracked two page pings in 16 seconds. // Activity tracking only fires one further event over next 11 seconds as a page view event occurs, resetting timer back to 10 seconds. - const pps = getPPEvents(state.outQueues); + const pps = getPPEvents(await eventStore.getAllPayloads()); expect(F.size(pps)).toBe(5); const pph = F.head(pps); const ppl = F.last(pps); - expect(firstPageId).toBe(extractPageId(pph)); - expect(secondPageId).toBe(extractPageId(ppl)); + expect(firstPageId).toBe(extractPageId(pph!)); + expect(secondPageId).toBe(extractPageId(ppl!)); }); - it('disables activity tracking', () => { + it('disables activity tracking', async () => { const state = new SharedState(); const t = - addTracker('sp6', 'sp6', '', '', state, { stateStorageStrategy: 'cookie' }) ?? fail('Failed to create tracker'); + addTracker('sp6', 'sp6', '', '', state, { stateStorageStrategy: 'cookie', customFetch, eventStore }) ?? + fail('Failed to create tracker'); t.enableActivityTracking({ minimumVisitLength: 5, heartbeatDelay: 5 }); t.trackPageView(); @@ -287,14 +317,14 @@ describe('Activity tracker behaviour', () => { t.updatePageActivity(); jest.advanceTimersByTime(4900); - expect(F.size(getPPEvents(state.outQueues))).toBe(1); + expect(F.size(getPPEvents(await eventStore.getAllPayloads()))).toBe(1); // page ping timer starts tracking jest.advanceTimersByTime(100); t.updatePageActivity(); jest.advanceTimersByTime(4900); - expect(F.size(getPPEvents(state.outQueues))).toBe(2); + expect(F.size(getPPEvents(await eventStore.getAllPayloads()))).toBe(2); /* Disabling activity tracking and callback is expected to not allow more activity actions */ t.disableActivityTracking(); @@ -304,14 +334,15 @@ describe('Activity tracker behaviour', () => { t.updatePageActivity(); jest.advanceTimersByTime(4900); - expect(F.size(getPPEvents(state.outQueues))).toBe(2); + expect(F.size(getPPEvents(await eventStore.getAllPayloads()))).toBe(2); }); it('disables activity tracking callback', () => { let callbacks = 0; const state = new SharedState(); const t = - addTracker('sp7', 'sp7', '', '', state, { stateStorageStrategy: 'cookie' }) ?? fail('Failed to create tracker'); + addTracker('sp7', 'sp7', '', '', state, { stateStorageStrategy: 'cookie', customFetch, eventStore }) ?? + fail('Failed to create tracker'); t.enableActivityTrackingCallback({ minimumVisitLength: 5, heartbeatDelay: 5, callback: () => callbacks++ }); t.trackPageView(); diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index d3725a6ff..7038af24b 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -773,18 +773,14 @@ describe('Snowplow Micro integration', () => { ).toBe(false); }); - it(`${method}: has custom headers attached if possible (not with Beacon or IE9)`, () => { + it(`${method}: has custom headers attached if possible`, () => { const results = log.filter( (event: any) => - event.rawEvent.context.headers.includes('Content-Language: de-DE, en-CA') && + event.rawEvent.context.headers.map((h: any) => h.toLowerCase()).includes('content-language: de-de, en-ca') && event.event.app_id === `sp-${method}-${testIdentifier}` ) as Array; - if (method === 'beacon' || F.isMatch({ browserName: 'internet explorer', version: '9' }, browser.capabilities)) { - expect(results.length).toBe(0); - } else { - expect(results.length).toBeGreaterThanOrEqual(1); - } + expect(results.length).toBeGreaterThanOrEqual(1); }); }); }); diff --git a/trackers/javascript-tracker/test/pages/integration.html b/trackers/javascript-tracker/test/pages/integration.html index e20bafb8f..1fce01eca 100644 --- a/trackers/javascript-tracker/test/pages/integration.html +++ b/trackers/javascript-tracker/test/pages/integration.html @@ -69,7 +69,8 @@ window.snowplow('newTracker', 'sp', collector_endpoint, { appId: 'sp-' + eventMethod + '-' + testIdentifier, platform: 'mob', - eventMethod: eventMethod, + eventMethod: eventMethod == 'beacon' ? 'post' : eventMethod, + keepalive: eventMethod == 'beacon', contexts: { webPage: true, }, @@ -81,7 +82,8 @@ window.secondSnowplow('newTracker', 'b64off', collector_endpoint, { appId: 'no-b64-' + eventMethod + '-' + testIdentifier, platform: 'web', - eventMethod: eventMethod, + eventMethod: eventMethod == 'beacon' ? 'post' : eventMethod, + keepalive: eventMethod == 'beacon', encodeBase64: false, contexts: { webPage: false, diff --git a/trackers/node-tracker/package.json b/trackers/node-tracker/package.json index 3e33dd61c..845906b5b 100644 --- a/trackers/node-tracker/package.json +++ b/trackers/node-tracker/package.json @@ -42,23 +42,19 @@ }, "dependencies": { "@snowplow/tracker-core": "workspace:*", - "got": "^11.8.5", "tslib": "^2.3.1" }, "devDependencies": { "@rollup/plugin-json": "~4.1.0", "@types/node": "~14.6.0", - "@types/sinon": "~10.0.11", "@typescript-eslint/eslint-plugin": "~5.15.0", "@typescript-eslint/parser": "~5.15.0", "ava": "~5.1.1", "eslint": "~8.11.0", "eslint-plugin-ava": "~13.2.0", - "nock": "~13.2.4", "rollup": "~2.70.1", "rollup-plugin-license": "~2.6.1", "rollup-plugin-ts": "~2.0.5", - "sinon": "~13.0.1", "ts-node": "~10.9.1", "typescript": "~4.6.2" } diff --git a/trackers/node-tracker/src/emitter.ts b/trackers/node-tracker/src/emitter.ts deleted file mode 100644 index 3c70950f6..000000000 --- a/trackers/node-tracker/src/emitter.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Payload } from '@snowplow/tracker-core'; - -export interface Emitter { - flush: () => void; - input: (payload: Payload) => void; - /** Set if the requests from the emitter should be anonymized. Read more about anonymization used at https://docs.snowplow.io/docs/collecting-data/collecting-from-own-applications/snowplow-tracker-protocol/going-deeper/http-headers/. */ - setAnonymization?: (shouldAnonymize: boolean) => void; -} - -/** - * Convert all fields in a payload dictionary to strings - * - * @param payload - Payload on which the new dictionary is based - */ -export const preparePayload = (payload: Payload): Record => { - const stringifiedPayload: Record = {}; - - const finalPayload = addDeviceSentTimestamp(payload); - - for (const key in finalPayload) { - if (Object.prototype.hasOwnProperty.call(finalPayload, key)) { - stringifiedPayload[key] = String(finalPayload[key]); - } - } - return stringifiedPayload; -}; - -/** - * Adds the 'stm' paramater with the current time to the payload - * @param payload - The payload which will be mutated - */ -const addDeviceSentTimestamp = (payload: Payload): Payload => { - payload['stm'] = new Date().getTime().toString(); - return payload; -}; diff --git a/trackers/node-tracker/src/got_emitter.ts b/trackers/node-tracker/src/got_emitter.ts deleted file mode 100644 index b3708cf0d..000000000 --- a/trackers/node-tracker/src/got_emitter.ts +++ /dev/null @@ -1,148 +0,0 @@ -import util from 'util'; -import got, { Response, RequestError, RequiredRetryOptions, PromiseCookieJar, ToughCookieJar, Agents } from 'got'; -import { Payload, version } from '@snowplow/tracker-core'; - -import { Emitter, preparePayload } from './emitter'; - -export interface GotEmitterConfiguration { - /* The collector URL to which events will be sent */ - endpoint: string; - /* http or https. Defaults to https */ - protocol?: 'http' | 'https'; - /* Collector port number */ - port?: number; - /* get or post. Defaults to post */ - method?: 'get' | 'post'; - /* Number of events which can be queued before flush is called */ - bufferSize?: number; - /* Configure the retry policy for got */ - retry?: number | Partial; - /* Add a cookieJar to got */ - cookieJar?: PromiseCookieJar | ToughCookieJar; - /* Callback called after a `got` request following retries */ - callback?: (error?: RequestError, response?: Response) => void; - /* Set new http.Agent and https.Agent objects on `got` requests */ - agent?: Agents; - /* If the request should undergo server anonymization. */ - serverAnonymization?: boolean; -} - -/** - * Create an emitter object, which uses the `got` library, that will send events to a collector - */ -export function gotEmitter({ - endpoint, - protocol = 'https', - port, - method = 'post', - bufferSize, - retry, - cookieJar, - callback, - agent, - serverAnonymization -}: GotEmitterConfiguration): Emitter { - const maxBufferLength = bufferSize ?? (method === 'get' ? 0 : 10); - const path = method === 'get' ? '/i' : '/com.snowplowanalytics.snowplow/tp2'; - const targetUrl = protocol + '://' + endpoint + (port ? ':' + port : '') + path; - const debuglog = util.debuglog('snowplow'); - - let buffer: Array = []; - - /** - * Handles the callback on a successful response if the callback is present - * @param response - The got response object - */ - const handleSuccess = (response: Response) => { - if (callback) { - try { - callback(undefined, response); - } catch (e) { - debuglog('Error in callback after failure', e); - } - } - }; - - /** - * Handles the callback on a failed request if the callback is present - * @param error - The got error object - */ - const handleFailure = (error: RequestError) => { - if (callback) { - try { - callback(error); - } catch (e) { - debuglog('Error in callback after failure', e); - } - } - }; - - /** - * Flushes all events currently stored in buffer - */ - const flush = (): void => { - const bufferCopy = buffer; - buffer = []; - if (bufferCopy.length === 0) { - return; - } - - const headers = { - 'user-agent': `snowplow-nodejs-tracker/${version}`, - ...(serverAnonymization === true && { 'SP-Anonymous': '*' }), - ...(method === 'post' && { 'content-type': 'application/json; charset=utf-8' }), - }; - - if (method === 'post') { - const postJson = { - schema: 'iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4', - data: bufferCopy.map(preparePayload), - }; - got - .post(targetUrl, { - json: postJson, - headers, - agent, - retry, - cookieJar, - }) - .then(handleSuccess, handleFailure); - } else { - for (let i = 0; i < bufferCopy.length; i++) { - got - .get(targetUrl, { - searchParams: preparePayload(bufferCopy[i]), - headers, - agent, - retry, - cookieJar, - }) - .then(handleSuccess, handleFailure); - } - } - }; - - /** - * Adds a payload to the internal buffer and sends if buffer >= bufferSize - * @param payload - Payload to add to buffer - */ - const input = (payload: Payload): void => { - buffer.push(payload); - if (buffer.length >= maxBufferLength) { - flush(); - } - }; - - const setAnonymization = (shouldAnonymize: boolean) => { - serverAnonymization = shouldAnonymize; - }; - - return { - /** - * Send all events queued in the buffer to the collector - */ - flush, - input, - setAnonymization, - }; -} diff --git a/trackers/node-tracker/src/index.ts b/trackers/node-tracker/src/index.ts index 01b31a1ca..2ada0c833 100644 --- a/trackers/node-tracker/src/index.ts +++ b/trackers/node-tracker/src/index.ts @@ -28,8 +28,13 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -export { Emitter } from './emitter'; -export { newTracker, Tracker } from './tracker'; +export { + newTracker, + Tracker, + TrackerConfiguration, + NodeEmitterConfiguration, + CustomEmitter, +} from './tracker'; export { version, @@ -81,4 +86,29 @@ export { ContextGenerator, ContextFilter, EventPayloadAndContext, + EventStore, + EventStoreConfiguration, + EventStoreIterator, + EventStorePayload, + TrackerCore, + Logger, + FormElement, + EmitterConfiguration, + EmitterConfigurationBase, + EventJson, + JsonProcessor, + TrueTimestamp, + DeviceTimestamp, + EventMethod, + RequestFailure, + EventBatch, + EventJsonWithKeys, + LOG_LEVEL, + ConditionalContextProvider, + ContextPrimitive, + CorePluginConfiguration, + Emitter, + FilterProvider, + RuleSetProvider, + RuleSet, } from '@snowplow/tracker-core'; diff --git a/trackers/node-tracker/src/tracker.ts b/trackers/node-tracker/src/tracker.ts index e44bcb9d6..86f59840b 100644 --- a/trackers/node-tracker/src/tracker.ts +++ b/trackers/node-tracker/src/tracker.ts @@ -30,8 +30,7 @@ import { trackerCore, PayloadBuilder, TrackerCore, version } from '@snowplow/tracker-core'; -import { Emitter } from './emitter'; -import { gotEmitter, GotEmitterConfiguration } from './got_emitter'; +import { Emitter, newEmitter, EmitterConfiguration } from '@snowplow/tracker-core'; export interface Tracker extends TrackerCore { /** @@ -61,9 +60,15 @@ export interface Tracker extends TrackerCore { * @param sessionIndex - The session index */ setSessionIndex: (sessionIndex: string | number) => void; + + /** + * Calls flush on all emitters in order to send all queued events to the collector + * @returns Promise - Promise that resolves when all emitters have flushed + */ + flush: () => Promise; } -interface TrackerConfiguration { +export interface TrackerConfiguration { /* The namespace of the tracker */ namespace: string; /* The application ID */ @@ -72,28 +77,38 @@ interface TrackerConfiguration { encodeBase64: boolean; } -type CustomEmitter = { +export type CustomEmitter = { /* Function returning custom Emitter or Emitter[] to be used. If set, other options are irrelevant */ customEmitter: () => Emitter | Array; }; -type EmitterConfiguration = CustomEmitter | GotEmitterConfiguration; +export type NodeEmitterConfiguration = CustomEmitter | EmitterConfiguration; + +/** + * Updates the defaults for the emitter configuration + */ +function newNodeEmitters(configuration: NodeEmitterConfiguration): Emitter[] { + if (configuration.hasOwnProperty('customEmitter')) { + const customEmitters = (configuration as CustomEmitter).customEmitter(); + return Array.isArray(customEmitters) ? customEmitters : [customEmitters]; + } else { + configuration = configuration as EmitterConfiguration; + // Set the default buffer size to 10 instead of 1 + if (configuration.bufferSize === undefined) { + configuration.bufferSize = 10; + } + return [newEmitter(configuration)]; + } +} export function newTracker( trackerConfiguration: TrackerConfiguration, - emitterConfiguration: EmitterConfiguration | EmitterConfiguration[] + emitterConfiguration: NodeEmitterConfiguration | NodeEmitterConfiguration[] ): Tracker { const { namespace, appId, encodeBase64 = true } = trackerConfiguration; - let allEmitters: Emitter[] = []; - if (Array.isArray(emitterConfiguration)) { - allEmitters = emitterConfiguration.map((config) => gotEmitter(config as GotEmitterConfiguration)); - } else if (emitterConfiguration && emitterConfiguration.hasOwnProperty('customEmitter')) { - const customEmitters = (emitterConfiguration as CustomEmitter).customEmitter(); - allEmitters = Array.isArray(customEmitters) ? customEmitters : [customEmitters]; - } else { - allEmitters = [gotEmitter(emitterConfiguration as GotEmitterConfiguration)]; - } + const configs = Array.isArray(emitterConfiguration) ? emitterConfiguration : [emitterConfiguration]; + const allEmitters = configs.flatMap(newNodeEmitters); let domainUserId: string; let networkUserId: string; @@ -143,11 +158,16 @@ export function newTracker( sessionIndex = currentSessionIndex; }; + const flush = () => { + return Promise.allSettled(allEmitters.map((emitter) => emitter.flush())).then(() => {}); + } + return { setDomainUserId, setNetworkUserId, setSessionId, setSessionIndex, + flush, ...core, }; } diff --git a/trackers/node-tracker/test/emitter.ts b/trackers/node-tracker/test/emitter.ts deleted file mode 100644 index fb419c726..000000000 --- a/trackers/node-tracker/test/emitter.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import test from 'ava'; -import sinon from 'sinon'; - -import { preparePayload } from '../src/emitter'; - -test('preparePayload should convert payload values to strings', (t) => { - const payload = { a: 1234, b: '1' }; - - const result = preparePayload(payload); - - t.like(result, { a: '1234', b: '1' }); -}); - -test('preparePayload should add "stm" property', (t) => { - const testTime = new Date('2020-06-15T09:12:30.000Z').getTime(); - const clock = sinon.useFakeTimers(testTime); - - const payload = { a: '1' }; - - const result = preparePayload(payload); - - t.deepEqual(result, { a: '1', stm: testTime.toString() }); - - clock.restore(); -}); diff --git a/trackers/node-tracker/test/got_emitter.ts b/trackers/node-tracker/test/got_emitter.ts deleted file mode 100644 index abccd90f6..000000000 --- a/trackers/node-tracker/test/got_emitter.ts +++ /dev/null @@ -1,296 +0,0 @@ -import test from 'ava'; -import sinon from 'sinon'; -import nock from 'nock'; -import { gotEmitter } from '../src/got_emitter'; - -const endpoint = 'd3rkrsqld9gmqf.cloudfront.net'; - -nock(new RegExp('https*://' + endpoint)) - .persist() - .filteringPath(() => '/') - .get('/') - .reply(200, (uri) => uri); - -nock(new RegExp('https*://' + endpoint)) - .matchHeader('content-type', 'application/json; charset=utf-8') - .persist() - .filteringRequestBody(() => '*') - .post('/com.snowplowanalytics.snowplow/tp2', '*') - .reply(200, (_uri: string, body: Record) => (body['data'] as Array)[0]); - -test.before(() => { - nock.disableNetConnect(); -}); - -test.beforeEach(() => { - nock(new RegExp('https*://' + endpoint)) - .filteringPath(() => '/') - .get('/') - .reply(200, (uri) => uri); - - nock(new RegExp('https*://' + endpoint)) - .matchHeader('content-type', 'application/json; charset=utf-8') - .filteringRequestBody(() => '*') - .post('/com.snowplowanalytics.snowplow/tp2', '*') - .reply(200, (_uri: string, body: Record) => (body['data'] as Array)[0]); -}); - -test.afterEach(() => { - nock.cleanAll(); -}); - -test.serial('gotEmitter should allow anonymization headers', async (t) => { - nock.cleanAll(); - - nock(new RegExp('https*://' + endpoint), { - reqheaders: { - 'SP-Anonymous': '*', - }, - }) - .filteringPath(() => '/') - .get('/') - .once() - .reply(200, (uri) => uri); - - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint: endpoint, - protocol: 'https', - port: 80, - method: 'get', - callback: function (error, response) { - nock.cleanAll(); - t.is(error, undefined); - t.pass(); - if (error) reject(error); - else resolve(response); - }, - serverAnonymization: true, - }); - e.input({}); - }); -}); - -test('gotEmitter should send an HTTP GET request', async (t) => { - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint, - port: 80, - method: 'get', - callback: function (error, response) { - t.regex(response?.body as string, /\/i\?.*a=b.*/); - if (error) reject(error); - else resolve(response); - }, - }); - e.input({ a: 'b' }); - }); -}); - -test('gotEmitter should send an HTTP POST request', async (t) => { - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint, - bufferSize: 1, - callback: function (error, response) { - t.like(JSON.parse(response?.body as string), { a: 'b' }); - if (error) reject(error); - else resolve(response); - }, - }); - e.input({ a: 'b' }); - }); -}); - -test('gotEmitter should send an HTTPS GET request', async (t) => { - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint, - port: 443, - method: 'get', - callback: function (error, response) { - t.regex(response?.body as string, /\/i\?.*a=b.*/); - if (error) reject(error); - else resolve(response); - }, - }); - e.input({ a: 'b' }); - }); -}); - -test('gotEmitter should send an HTTPS POST request', async (t) => { - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint, - bufferSize: 1, - callback: function (error, response) { - t.like(JSON.parse(response?.body as string), { a: 'b' }); - if (error) reject(error); - else resolve(response); - }, - }); - e.input({ a: 'b' }); - }); -}); - -test('gotEmitter should not send requests if the buffer is not full', async (t) => { - await new Promise((resolve) => { - const e = gotEmitter({ - endpoint, - callback: () => t.fail('Event unexpectedly emitted'), - }); - e.input({}); - e.input({}); - e.input({}); - setTimeout(() => { - t.pass(); - resolve(true); - }, 250); //Give chance for emitter callback to fire - }); -}); - -test('gotEmitter should not send requests if the buffer is empty', async (t) => { - await new Promise((resolve) => { - const e = gotEmitter({ - endpoint, - callback: () => t.fail('Event unexpectedly emitted'), - }); - e.flush(); - setTimeout(() => { - t.pass(); - resolve(true); - }, 250); //Give chance for emitter callback to fire - }); -}); - -test('gotEmitter should add STM querystring parameter when sending POST requests', async (t) => { - const testTime = new Date('1988-12-12T12:30:00.000Z').getTime(); - const clock = sinon.useFakeTimers(testTime); - - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint, - bufferSize: 1, - callback: function (error, response) { - t.like(JSON.parse(response?.body as string), { stm: testTime.toString() }); - if (error) reject(error); - else resolve(response); - }, - }); - e.input({ a: 'b' }); - }); - - clock.restore(); -}); - -test('gotEmitter should add STM querystring parameter when sending GET requests', async (t) => { - sinon.restore(); - const testTime = new Date('2020-06-15T09:12:30.000Z').getTime(); - const clock = sinon.useFakeTimers(testTime); - - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint, - port: 443, - method: 'get', - callback: function (error, response) { - t.regex(response?.body as string, new RegExp(`/i?.*stm=${testTime}.*`)); - if (error) reject(error); - else resolve(response); - }, - }); - e.input({ a: 'b' }); - }); - clock.restore(); -}); - -test('gotEmitter should handle undefined callbacks on success situation', async (t) => { - await new Promise((resolve) => { - t.notThrows(() => { - const e = gotEmitter({ - endpoint, - port: 443, - method: 'get', - }); - e.input({ a: 'b' }); - }); - resolve(true); - }); -}); - -test('gotEmitter should handle undefined callbacks on failure situation', async (t) => { - await new Promise((resolve) => { - t.notThrows(() => { - const e = gotEmitter({ endpoint: 'invalid-url', port: 443, bufferSize: 1 }); - e.input({ a: 'b' }); - }); - resolve(true); - }); -}); - -test('gotEmitter should catch error in success situation', async (t) => { - await new Promise((resolve) => { - t.notThrows(() => { - const e = gotEmitter({ - endpoint, - port: 443, - method: 'get', - callback: function () { - throw new Error('test error'); - }, - }); - e.input({ a: 'b' }); - }); - resolve(true); - }); -}); - -test('gotEmitter should catch error in error situation', async (t) => { - await new Promise((resolve) => { - t.notThrows(() => { - const e = gotEmitter({ - endpoint: 'invalid-url', - port: 443, - bufferSize: 1, - callback: function () { - throw new Error('test error'); - }, - }); - e.input({ a: 'b' }); - }); - resolve(true); - }); -}); - -test('gotEmitter should pass response in success situation', async (t) => { - await new Promise((resolve, reject) => { - const e = gotEmitter({ - endpoint, - port: 443, - method: 'get', - callback: function (error, response) { - t.falsy(error); - t.truthy(response); - if (error) reject(error); - else resolve(response); - }, - }); - e.input({ a: 'b' }); - }); -}); - -test('gotEmitter should pass error in error situation', async (t) => { - await new Promise((resolve) => { - const e = gotEmitter({ - endpoint: 'invalid-url', - port: 443, - bufferSize: 1, - callback: function (error, response) { - t.truthy(error); - t.falsy(response); - resolve(error); - }, - }); - e.input({ a: 'b' }); - }); -}); diff --git a/trackers/node-tracker/test/tracker.ts b/trackers/node-tracker/test/tracker.ts index c0fb90f37..027915706 100644 --- a/trackers/node-tracker/test/tracker.ts +++ b/trackers/node-tracker/test/tracker.ts @@ -40,15 +40,13 @@ import { Payload, } from '../src/index'; import test, { ExecutionContext } from 'ava'; -import nock from 'nock'; -import querystring from 'querystring'; -import { gotEmitter } from '../src/got_emitter'; +import { newEmitter } from '@snowplow/tracker-core'; const UUID_REGEX = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/; -const testMethods = ['get', 'post'] as const; +const testMethods = ['post'] as const; -const endpoint = 'd3rkrsqld9gmqf.cloudfront.net'; +const endpoint = 'example.com'; const context = [ { @@ -64,30 +62,6 @@ const completedContext = JSON.stringify({ data: context, }); -nock(new RegExp('https*://' + endpoint)) - .persist() - .filteringPath(() => '/') - .get('/') - .reply(200, (uri) => querystring.parse(uri.slice(3))); - -nock(new RegExp('https*://' + endpoint)) - .matchHeader('content-type', 'application/json; charset=utf-8') - .persist() - .filteringRequestBody(() => '*') - .post('/com.snowplowanalytics.snowplow/tp2', '*') - .reply(200, (_uri, body) => body); - -function extractPayload(response?: string, method?: string): Payload { - if (!response) return {}; - - const parsed = JSON.parse(response); - if (method === 'get') { - return parsed; - } else { - return (parsed['data'] as Array)[0] as Payload; - } -} - function checkPayload(payloadDict: Payload, expected: Payload, t: ExecutionContext): void { t.like(payloadDict, expected); t.deepEqual(payloadDict['co'], completedContext, 'a custom context should be attached'); @@ -96,17 +70,14 @@ function checkPayload(payloadDict: Payload, expected: Payload, t: ExecutionConte t.falsy(typeof payloadDict['vid'] === 'string' && payloadDict['vid'] === 'NaN', 'Session index should not be NaN'); } -test.before(() => { - nock.disableNetConnect(); -}); - -test.after(() => { - nock.cleanAll(); -}); +const customFetch = () => Promise.resolve(new Response(null, { status: 200 })); -for (const method of testMethods) { - test(method + ' method: track API should return eid in the payload', async (t) => { - const track = newTracker({ namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, protocol: 'http' }); +for (const eventMethod of testMethods) { + test(eventMethod + ' method: track API should return eid in the payload', (t) => { + const track = newTracker( + { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, + { endpoint, protocol: 'http', customFetch } + ); const eventPayload = track.track( buildPageView({ pageUrl: 'http://www.example.com', pageTitle: 'example page', referrer: 'http://google.com' }), context @@ -115,7 +86,7 @@ for (const method of testMethods) { t.regex(eventPayload.eid as string, UUID_REGEX); }); - test(method + ' method: trackPageView should send a page view event', async (t) => { + test(eventMethod + ' method: trackPageView should send a page view event', async (t) => { const expected = { tv: 'node-' + version, tna: 'cf', @@ -132,13 +103,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: (batch) => { + checkPayload(batch[0], expected, t); + resolve(batch); }, + onRequestFailure: reject, + customFetch, } ); track.track( @@ -148,7 +120,7 @@ for (const method of testMethods) { }); }); - test(method + ' method: trackStructEvent should send a structured event', async (t) => { + test(eventMethod + ' method: trackStructEvent should send a structured event', async (t) => { const expected = { tv: 'node-' + version, tna: 'cf', @@ -165,13 +137,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: (batch) => { + checkPayload(batch[0], expected, t); + resolve(batch); }, + onRequestFailure: reject, + customFetch, } ); track.track( @@ -181,14 +154,14 @@ for (const method of testMethods) { }); }); - test(method + ' method: trackEcommerceTransactionWithItems should track an ecommerce transaction', async (t) => { + test(eventMethod + ' method: trackEcommerceTransactionWithItems should track an ecommerce transaction', async (t) => { const expectedTransaction = { e: 'tr', tr_id: 'order-7', tr_af: 'affiliate', - tr_tt: '15', - tr_tx: '5', - tr_sh: '0', + tr_tt: 15, + tr_tx: 5, + tr_sh: 0, tr_ci: 'Dover', tr_st: 'Delaware', tr_co: 'US', @@ -200,14 +173,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - const payloadDict = extractPayload(response?.body, method); - checkPayload(payloadDict, expectedTransaction, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: (batch) => { + checkPayload(batch[0], expectedTransaction, t); + resolve(batch); }, + onRequestFailure: reject, + customFetch, } ); track.track( @@ -228,7 +201,7 @@ for (const method of testMethods) { }); test( - method + ' method: trackEcommerceTransactionWithItems should track an ecommerce transaction and items', + eventMethod + ' method: trackEcommerceTransactionWithItems should track an ecommerce transaction and items', async (t) => { const items = [ { @@ -243,9 +216,9 @@ for (const method of testMethods) { e: 'tr', tr_id: 'order-7', tr_af: 'affiliate', - tr_tt: '15', - tr_tx: '5', - tr_sh: '0', + tr_tt: 15, + tr_tx: 5, + tr_sh: 0, tr_ci: 'Dover', tr_st: 'Delaware', tr_co: 'US', @@ -256,7 +229,7 @@ for (const method of testMethods) { ti_sk: 'item-729', ti_nm: 'red hat', ti_ca: 'headgear', - ti_qu: '1', + ti_qu: 1, ti_id: 'order-7', ti_cu: 'GBP', }; @@ -268,21 +241,20 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - const payloadDict = extractPayload(response?.body, method); - const expected = payloadDict['e'] === 'tr' ? expectedTransaction : expectedItem; + onRequestSuccess: (batch) => { + const expected = batch[0]['e'] === 'tr' ? expectedTransaction : expectedItem; - checkPayload(payloadDict, expected, t); + checkPayload(batch[0], expected, t); requestCount--; if (requestCount === 0) { - resolve(response); + resolve(batch); } - - if (error) reject(error); }, + onRequestFailure: reject, + customFetch, } ); track.track( @@ -318,7 +290,7 @@ for (const method of testMethods) { } ); - test(method + ' method: trackUnstructEvent should send a structured event', async (t) => { + test(eventMethod + ' method: trackUnstructEvent should send a structured event', async (t) => { const inputJson = { schema: 'iglu:com.acme/viewed_product/jsonschema/1-0-0', data: { @@ -341,20 +313,21 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: (batch) => { + checkPayload(batch[0], expected, t); + resolve(batch); }, + onRequestFailure: reject, + customFetch, } ); track.track(buildSelfDescribingEvent({ event: inputJson }), context); }); }); - test(method + ' method: trackScreenView should send a screen view event', async (t) => { + test(eventMethod + ' method: trackScreenView should send a screen view event', async (t) => { const expected = { tv: 'node-' + version, tna: 'cf', @@ -377,20 +350,21 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: (batch) => { + checkPayload(batch[0], expected, t); + resolve(batch); }, + onRequestFailure: reject, + customFetch, } ); track.track(buildScreenView({ name: 'title screen', id: '12345' }), context); }); }); - test(method + ' method: setter methods should set user attributes', async (t) => { + test(eventMethod + ' method: setter methods should set user attributes', async (t) => { const expected = { tv: 'node-' + version, tna: 'cf', @@ -402,7 +376,7 @@ for (const method of testMethods) { p: 'web', uid: 'jacob', sid: 'sessionId', - vid: '10', + vid: 10, res: '400x200', vp: '500x800', cd: '24', @@ -415,13 +389,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: (batch) => { + checkPayload(batch[0], expected, t); + resolve(batch); }, + onRequestFailure: reject, + customFetch, } ); @@ -443,7 +418,7 @@ for (const method of testMethods) { }); test( - method + ' method: base 64 encoding should base 64 encode unstructured events and custom contexts', + eventMethod + ' method: base 64 encoding should base 64 encode unstructured events and custom contexts', async (t) => { const inputJson = { schema: 'iglu:com.acme/viewed_product/jsonschema/1-0-0', @@ -457,10 +432,9 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: true }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - const pd = extractPayload(response?.body, method); + onRequestSuccess: ([pd]) => { t.is( pd['ue_px'], 'eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy91bnN0cnVjdF9ldmVudC9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6eyJzY2hlbWEiOiJpZ2x1OmNvbS5hY21lL3ZpZXdlZF9wcm9kdWN0L2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7InByaWNlIjoyMH19fQ' @@ -469,9 +443,10 @@ for (const method of testMethods) { pd['cx'], 'eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uYWNtZS91c2VyL2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7InR5cGUiOiJ0ZXN0ZXIifX1dfQ' ); - if (error) reject(error); - else resolve(response); + resolve(pd); }, + onRequestFailure: reject, + customFetch, } ); track.track(buildSelfDescribingEvent({ event: inputJson }), context); @@ -479,7 +454,7 @@ for (const method of testMethods) { } ); - test(method + ' method: multiple custom emitters should send an event to multiple collectors', async (t) => { + test(eventMethod + ' method: multiple custom emitters should send an event to multiple collectors', async (t) => { const expected = { tv: 'node-' + version, tna: 'cf', @@ -493,21 +468,19 @@ for (const method of testMethods) { let count = 2; await new Promise((resolve, reject) => { - const e = gotEmitter({ + const e = newEmitter({ endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); + onRequestSuccess: ([pl]) => { + checkPayload(pl, expected, t); count--; if (count === 0) { - resolve(response); - } - - if (error) { - reject(error); + resolve(pl); } }, + onRequestFailure: reject, + customFetch, }); const track = newTracker( @@ -521,7 +494,7 @@ for (const method of testMethods) { }); }); - test(method + ' method: multiple gotemitters should send an event to multiple collectors', async (t) => { + test(eventMethod + ' method: multiple gotemitters should send an event to multiple collectors', async (t) => { const expected = { tv: 'node-' + version, tna: 'cf', @@ -538,35 +511,31 @@ for (const method of testMethods) { const track = newTracker({ namespace: 'cf', appId: 'cfe35', encodeBase64: false }, [ { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); + onRequestSuccess: ([pl]) => { + checkPayload(pl, expected, t); count--; if (count === 0) { - resolve(response); - } - - if (error) { - reject(error); + resolve(pl); } }, + onRequestFailure: reject, + customFetch, }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); + onRequestSuccess: ([pl]) => { + checkPayload(pl, expected, t); count--; if (count === 0) { - resolve(response); - } - - if (error) { - reject(error); + resolve(pl); } }, + onRequestFailure: reject, + customFetch, }, ]); track.track( @@ -576,7 +545,7 @@ for (const method of testMethods) { }); }); - test(method + ' method: setDomainUserId should attach a duid property to event', async (t) => { + test(eventMethod + ' method: setDomainUserId should attach a duid property to event', async (t) => { const expected = { duid: 'duid-test-1234', }; @@ -586,13 +555,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: ([pl]) => { + checkPayload(pl, expected, t); + resolve(pl); }, + onRequestFailure: reject, + customFetch, } ); track.setDomainUserId('duid-test-1234'); @@ -603,7 +573,7 @@ for (const method of testMethods) { }); }); - test(method + ' method: setNetworkUserID should attach a nuid property to event', async (t) => { + test(eventMethod + ' method: setNetworkUserID should attach a nuid property to event', async (t) => { const expected = { nuid: 'nuid-test-1234', }; @@ -613,13 +583,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: ([pl]) => { + checkPayload(pl, expected, t); + resolve(pl); }, + onRequestFailure: reject, + customFetch, } ); track.setNetworkUserId('nuid-test-1234'); @@ -630,7 +601,7 @@ for (const method of testMethods) { }); }); - test(method + ' method: setSessionId should attach a sid property to event', async (t) => { + test(eventMethod + ' method: setSessionId should attach a sid property to event', async (t) => { const expected = { sid: 'sid-test-1234', }; @@ -640,13 +611,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: ([pl]) => { + checkPayload(pl, expected, t); + resolve(pl); }, + onRequestFailure: reject, + customFetch, } ); track.setSessionId(expected.sid); @@ -657,9 +629,9 @@ for (const method of testMethods) { }); }); - test(method + ' method: setSessionIndex should attach a vid property to event', async (t) => { + test(eventMethod + ' method: setSessionIndex should attach a vid property to event', async (t) => { const expected = { - vid: '1234', + vid: 1234, }; await new Promise((resolve, reject) => { @@ -667,13 +639,14 @@ for (const method of testMethods) { { namespace: 'cf', appId: 'cfe35', encodeBase64: false }, { endpoint, - method, + eventMethod, bufferSize: 0, - callback: function (error, response) { - checkPayload(extractPayload(response?.body, method), expected, t); - if (error) reject(error); - else resolve(response); + onRequestSuccess: ([pl]) => { + checkPayload(pl, expected, t); + resolve(pl); }, + onRequestFailure: reject, + customFetch, } ); track.setSessionIndex(expected.vid); diff --git a/trackers/node-tracker/tsconfig.json b/trackers/node-tracker/tsconfig.json index 1511aff63..b19cd8bf3 100644 --- a/trackers/node-tracker/tsconfig.json +++ b/trackers/node-tracker/tsconfig.json @@ -1,13 +1,12 @@ { "compilerOptions": { /* Basic Options */ - "lib": ["ES2020"], + "lib": ["ES2020", "DOM"], "target": "ES2020" /* Good for Node 14 - https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping */, "module": "commonjs" /* Ignored by rollup but used by ts-node for tests */, "declaration": true /* Generates corresponding '.d.ts' file. */, "resolveJsonModule": true, "importHelpers": true, - "types": ["sinon", "nock"], /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, From 43e836e3aa8d6385067ec7532447fdd2586dc579 Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Tue, 3 Sep 2024 09:10:14 +1000 Subject: [PATCH 078/277] Add browser-tracker-core default for os_timezone (#1338) --- .../ostz_default_2024-08-30-04-14.json | 10 ++++++++++ libraries/browser-tracker-core/src/helpers/index.ts | 12 ++++++++++++ libraries/browser-tracker-core/src/tracker/index.ts | 3 +++ 3 files changed, 25 insertions(+) create mode 100644 common/changes/@snowplow/browser-tracker-core/ostz_default_2024-08-30-04-14.json diff --git a/common/changes/@snowplow/browser-tracker-core/ostz_default_2024-08-30-04-14.json b/common/changes/@snowplow/browser-tracker-core/ostz_default_2024-08-30-04-14.json new file mode 100644 index 000000000..9de6e47f1 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/ostz_default_2024-08-30-04-14.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Add browser-tracker-core default for os_timezone", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/helpers/index.ts b/libraries/browser-tracker-core/src/helpers/index.ts index 817780a86..6c93b2b07 100755 --- a/libraries/browser-tracker-core/src/helpers/index.ts +++ b/libraries/browser-tracker-core/src/helpers/index.ts @@ -81,6 +81,18 @@ export function isFunction(func: unknown) { return false; } +/** + * Lightweight configured runtime timezone detection + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions#getting_the_users_time_zone_and_locale_preferences + * @returns IANA timezone name of current runtime preference + */ +export function getTimeZone(): string | void { + if (typeof Intl === 'object' && typeof Intl.DateTimeFormat === 'function') { + const systemPreferences = new Intl.DateTimeFormat().resolvedOptions(); + return systemPreferences.timeZone; + } +} + /** * Cleans up the page title */ diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index 730972aa9..e4b93a322 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -27,6 +27,7 @@ import { attemptGetSessionStorage, attemptWriteSessionStorage, createCrossDomainParameterValue, + getTimeZone, } from '../helpers'; import { BrowserPlugin } from '../plugins'; import { newOutQueue } from './out_queue'; @@ -306,6 +307,7 @@ export function Tracker( } const { browserLanguage, resolution, colorDepth, cookiesEnabled } = getBrowserProperties(); + const timeZone = getTimeZone(); // Set up unchanging name-value pairs core.setTrackerVersion(version); @@ -317,6 +319,7 @@ export function Tracker( core.addPayloadPair('lang', browserLanguage); core.addPayloadPair('res', resolution); core.addPayloadPair('cd', colorDepth); + if (timeZone) core.addPayloadPair('tz', timeZone); /* * Initialize tracker From 477eb7f81a6f06ba59461ddb129571c3ac1cb65b Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Tue, 10 Sep 2024 13:46:40 +1000 Subject: [PATCH 079/277] Fix message when a resource triggers errors (#1341) The `error` event fires on the `window` both when an unhandled JavaScript exception is thrown or a resource fails to load. Rather than track a message presuming the former, attempt to detect the latter and specify the failed resource. See also: - https://developer.mozilla.org/en-US/docs/Web/API/Window/error_event - https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/error_event --- .../error-clarification_2024-09-06-06-28.json | 10 ++++ .../jest.config.js | 1 + .../src/index.ts | 60 ++++++++++++------- .../test/events.test.ts | 40 +++++++++++-- 4 files changed, 87 insertions(+), 24 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-error-tracking/error-clarification_2024-09-06-06-28.json diff --git a/common/changes/@snowplow/browser-plugin-error-tracking/error-clarification_2024-09-06-06-28.json b/common/changes/@snowplow/browser-plugin-error-tracking/error-clarification_2024-09-06-06-28.json new file mode 100644 index 000000000..6692c99b5 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-error-tracking/error-clarification_2024-09-06-06-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-error-tracking", + "comment": "Fix message when a resource triggers error instead of script", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-error-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-error-tracking/jest.config.js b/plugins/browser-plugin-error-tracking/jest.config.js index 87d15da9b..76a179aab 100644 --- a/plugins/browser-plugin-error-tracking/jest.config.js +++ b/plugins/browser-plugin-error-tracking/jest.config.js @@ -3,4 +3,5 @@ module.exports = { reporters: ['jest-standard-reporter'], setupFilesAfterEnv: ['../../setupTestGlobals.ts'], testEnvironment: 'jest-environment-jsdom-global', + testEnvironmentOptions: { resources: 'usable', runScripts: 'dangerously' }, }; diff --git a/plugins/browser-plugin-error-tracking/src/index.ts b/plugins/browser-plugin-error-tracking/src/index.ts index bf7fe0617..e0d239412 100644 --- a/plugins/browser-plugin-error-tracking/src/index.ts +++ b/plugins/browser-plugin-error-tracking/src/index.ts @@ -85,7 +85,7 @@ export function trackError( schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', data: { programmingLanguage: 'JAVASCRIPT', - message: truncatedMessage ?? "JS Exception. Browser doesn't support ErrorEvent API", + message: truncatedMessage ?? 'trackError called without required message', stackTrace: stack, lineNumber: lineno, lineColumn: colno, @@ -103,10 +103,10 @@ export function trackError( * The configuration for automatic error tracking */ export interface ErrorTrackingConfiguration { - /** A callback which allows on certain errors to be tracked */ - filter?: (error: ErrorEvent) => boolean; + /** A callback which allows only certain errors to be tracked */ + filter?: (error: ErrorEvent | Event) => boolean; /** A callback to dynamically add extra context based on the error */ - contextAdder?: (error: ErrorEvent) => Array; + contextAdder?: (error: ErrorEvent | Event) => Array; /** Context to be added to every error */ context?: Array; } @@ -121,9 +121,9 @@ export function enableErrorTracking( trackers: Array = Object.keys(_trackers) ) { const { filter, contextAdder, context } = configuration, - captureError = (errorEvent: Event) => { - if ((filter && isFunction(filter) && filter(errorEvent as ErrorEvent)) || filter == null) { - sendError({ errorEvent: errorEvent as ErrorEvent, commonContext: context, contextAdder }, trackers); + captureError = (errorEvent: ErrorEvent | Event) => { + if ((filter && isFunction(filter) && filter(errorEvent)) || filter == null) { + sendError({ errorEvent: errorEvent, commonContext: context, contextAdder }, trackers); } }; @@ -136,9 +136,9 @@ function sendError( commonContext, contextAdder, }: { - errorEvent: ErrorEvent; + errorEvent: ErrorEvent | Event; commonContext?: Array; - contextAdder?: (error: ErrorEvent) => Array; + contextAdder?: (error: ErrorEvent | Event) => Array; }, trackers: Array ) { @@ -147,15 +147,35 @@ function sendError( context = context.concat(contextAdder(errorEvent)); } - trackError( - { - message: errorEvent.message, - filename: errorEvent.filename, - lineno: errorEvent.lineno, - colno: errorEvent.colno, - error: errorEvent.error, - context, - }, - trackers - ); + if ('message' in errorEvent) { + trackError( + { + message: errorEvent.message, + filename: errorEvent.filename, + lineno: errorEvent.lineno, + colno: errorEvent.colno, + error: errorEvent.error, + context, + }, + trackers + ); + } else if (errorEvent.target && 'tagName' in errorEvent.target) { + const element: any = errorEvent.target; + trackError( + { + message: `Non-script error on ${element.tagName} element`, + filename: element.src || undefined, + context, + }, + trackers + ); + } else { + trackError( + { + message: "JS Exception. Browser doesn't support ErrorEvent API", + context, + }, + trackers + ); + } } diff --git a/plugins/browser-plugin-error-tracking/test/events.test.ts b/plugins/browser-plugin-error-tracking/test/events.test.ts index 1e96cb390..857e761df 100644 --- a/plugins/browser-plugin-error-tracking/test/events.test.ts +++ b/plugins/browser-plugin-error-tracking/test/events.test.ts @@ -30,7 +30,7 @@ import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; import F from 'lodash/fp'; -import { ErrorTrackingPlugin, trackError } from '../src'; +import { ErrorTrackingPlugin, enableErrorTracking, trackError } from '../src'; import { newInMemoryEventStore } from '@snowplow/tracker-core'; const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); @@ -47,11 +47,12 @@ const extractUeEvent = (schema: string) => { }; }; -describe('AdTrackingPlugin', () => { +describe('ErrorTrackingPlugin', () => { const eventStore1 = newInMemoryEventStore({}); const eventStore2 = newInMemoryEventStore({}); const eventStore3 = newInMemoryEventStore({}); const eventStore4 = newInMemoryEventStore({}); + const eventStore5 = newInMemoryEventStore({}); const state = new SharedState(); addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { @@ -78,6 +79,12 @@ describe('AdTrackingPlugin', () => { eventStore: eventStore4, customFetch: async () => new Response(null, { status: 500 }), }); + addTracker('sp5', 'sp5', 'js-3.0.0', '', state, { + encodeBase64: false, + plugins: [ErrorTrackingPlugin()], + eventStore: eventStore5, + customFetch: async () => new Response(null, { status: 500 }), + }); const error = new Error('this is an error'); error.stack = 'stacktrace-1'; @@ -119,6 +126,8 @@ describe('AdTrackingPlugin', () => { ['sp4'] ); + enableErrorTracking({}, ['sp5']); + it('trackError adds the expected application error event to the queue', async () => { expect( extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from( @@ -158,12 +167,12 @@ describe('AdTrackingPlugin', () => { ).toMatchObject({ schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', data: { - message: "JS Exception. Browser doesn't support ErrorEvent API", + message: 'trackError called without required message', }, }); }); - it('trackError replaces undefined messages with placeholder', async () => { + it('trackError truncates long message and stack traces', async () => { expect( extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from( await eventStore4.getAllPayloads() @@ -176,4 +185,27 @@ describe('AdTrackingPlugin', () => { }, }); }); + + it('trackError should be called by listener for resource errors', async () => { + const resourceUrl = '/fake-should-404.js'; + + await new Promise((resolve) => { + const resource = document.createElement('script'); + resource.onerror = resolve; + resource.src = resourceUrl; + document.head.appendChild(resource); + }); + + expect( + extractUeEvent('iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1').from( + await eventStore5.getAllPayloads() + ) + ).toMatchObject({ + schema: 'iglu:com.snowplowanalytics.snowplow/application_error/jsonschema/1-0-1', + data: { + message: 'Non-script error on SCRIPT element', + fileName: 'http://localhost' + resourceUrl, + }, + }); + }); }); From 880b651e798f710c5a48dd5042301c33fb7e29a3 Mon Sep 17 00:00:00 2001 From: Jethro Nederhof Date: Tue, 1 Oct 2024 10:35:11 +1000 Subject: [PATCH 080/277] Fix SelfDescribingJson type to allow optional keys in type parameter (#1330) --- api-docs/docs/browser-tracker/browser-tracker.api.md | 8 ++++++-- api-docs/docs/node-tracker/node-tracker.api.md | 4 +++- .../PE-4998-sdjtype_2024-07-17-01-28.json | 10 ++++++++++ .../tracker-core/PE-4998-sdjtype_2024-07-17-01-28.json | 10 ++++++++++ libraries/tracker-core/src/core.ts | 8 ++++---- plugins/browser-plugin-snowplow-ecommerce/src/types.ts | 3 ++- 6 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-snowplow-ecommerce/PE-4998-sdjtype_2024-07-17-01-28.json create mode 100644 common/changes/@snowplow/tracker-core/PE-4998-sdjtype_2024-07-17-01-28.json diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index 6f4c850d9..53f8939d5 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -137,7 +137,9 @@ export interface ClientSession extends Record { } // @public -export interface CommonEventProperties> { +export interface CommonEventProperties> { context?: Array> | null; timestamp?: Timestamp | null; } @@ -436,7 +438,9 @@ export interface SelfDescribingEvent { } // @public -export type SelfDescribingJson = Record> = { +export type SelfDescribingJson> = { schema: string; data: T; }; diff --git a/api-docs/docs/node-tracker/node-tracker.api.md b/api-docs/docs/node-tracker/node-tracker.api.md index 3bc513f18..2f19d0301 100644 --- a/api-docs/docs/node-tracker/node-tracker.api.md +++ b/api-docs/docs/node-tracker/node-tracker.api.md @@ -464,7 +464,9 @@ export interface SelfDescribingEvent { } // @public -export type SelfDescribingJson = Record> = { +export type SelfDescribingJson> = { schema: string; data: T; }; diff --git a/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/PE-4998-sdjtype_2024-07-17-01-28.json b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/PE-4998-sdjtype_2024-07-17-01-28.json new file mode 100644 index 000000000..cb4138a3b --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-snowplow-ecommerce/PE-4998-sdjtype_2024-07-17-01-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce", + "comment": "", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-snowplow-ecommerce" +} \ No newline at end of file diff --git a/common/changes/@snowplow/tracker-core/PE-4998-sdjtype_2024-07-17-01-28.json b/common/changes/@snowplow/tracker-core/PE-4998-sdjtype_2024-07-17-01-28.json new file mode 100644 index 000000000..8ddb6fc27 --- /dev/null +++ b/common/changes/@snowplow/tracker-core/PE-4998-sdjtype_2024-07-17-01-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/tracker-core", + "comment": "Fix SelfDescribingJson type to allow optional keys in type parameter", + "type": "none" + } + ], + "packageName": "@snowplow/tracker-core" +} \ No newline at end of file diff --git a/libraries/tracker-core/src/core.ts b/libraries/tracker-core/src/core.ts index eaabf4f7d..f9000fef7 100644 --- a/libraries/tracker-core/src/core.ts +++ b/libraries/tracker-core/src/core.ts @@ -45,7 +45,7 @@ import { LOG } from './logger'; * Export interface for any Self-Describing JSON such as context or Self Describing events * @typeParam T - The type of the data object within a SelfDescribingJson */ -export type SelfDescribingJson = Record> = { +export type SelfDescribingJson> = { /** * The schema string * @example 'iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0' @@ -61,7 +61,7 @@ export type SelfDescribingJson = Record = Record> = { +export type SelfDescribingJsonArray> = { /** * The schema string * @example 'iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-1' @@ -70,7 +70,7 @@ export type SelfDescribingJsonArray = Record< /** * The data array which should conform to the supplied schema */ - data: Array; + data: (T extends SelfDescribingJson ? T : SelfDescribingJson)[]; }; /** @@ -119,7 +119,7 @@ function getTimestamp(timestamp?: Timestamp | null): TimestampPayload { } /** Additional data points to set when tracking an event */ -export interface CommonEventProperties> { +export interface CommonEventProperties> { /** Add context to an event by setting an Array of Self Describing JSON */ context?: Array> | null; /** Set the true timestamp or overwrite the device sent timestamp on an event */ diff --git a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts index c240cc63a..f46908fac 100644 --- a/plugins/browser-plugin-snowplow-ecommerce/src/types.ts +++ b/plugins/browser-plugin-snowplow-ecommerce/src/types.ts @@ -317,7 +317,8 @@ export interface User { email?: string; } -export interface CommonEcommerceEventProperties> extends CommonEventProperties { +export interface CommonEcommerceEventProperties> + extends CommonEventProperties { /** Add context to an event by setting an Array of Self Describing JSON */ context?: Array>; } From 75def1856dc1fa0e6cb555a3d3b272fd797159f8 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Tue, 1 Oct 2024 08:04:17 +0200 Subject: [PATCH 081/277] Remove browser-features, optimizely, ecommerce and consent plugins, deprecate enhanced ecommerce and performance timing plugins and add web vitals by default (#1345) Removed plugins - browser-features - optimizely - ecommerce - consent Deprecated plugins - enhanced ecommerce - performance timing Added default plugins in sp.js - web vitals (needs configuration to be enabled) Removed default plugins in sp.js - optimizely-x - timezone Other changes - Add an option to enable performance navigation timing --- ...e_deprecated_plugins_2024-09-25-10-05.json | 10 + .../rush/browser-approved-packages.json | 8 + common/config/rush/pnpm-lock.yaml | 330 +------------- common/config/rush/repo-state.json | 2 +- .../CHANGELOG.json | 425 ----------------- .../CHANGELOG.md | 291 ------------ .../browser-plugin-browser-features/LICENSE | 29 -- .../browser-plugin-browser-features/README.md | 58 --- .../jest.config.js | 5 - .../package.json | 53 --- .../rollup.config.js | 67 --- .../src/index.ts | 83 ---- .../test/browser_features.test.ts | 99 ---- .../tsconfig.json | 3 - plugins/browser-plugin-consent/CHANGELOG.json | 422 ----------------- plugins/browser-plugin-consent/CHANGELOG.md | 290 ------------ plugins/browser-plugin-consent/LICENSE | 29 -- plugins/browser-plugin-consent/README.md | 67 --- plugins/browser-plugin-consent/jest.config.js | 6 - plugins/browser-plugin-consent/package.json | 55 --- .../browser-plugin-consent/rollup.config.js | 67 --- .../browser-plugin-consent/src/contexts.ts | 58 --- plugins/browser-plugin-consent/src/index.ts | 172 ------- .../test/events.test.ts | 195 -------- plugins/browser-plugin-consent/tsconfig.json | 3 - .../browser-plugin-ecommerce/CHANGELOG.json | 422 ----------------- plugins/browser-plugin-ecommerce/CHANGELOG.md | 290 ------------ plugins/browser-plugin-ecommerce/LICENSE | 29 -- plugins/browser-plugin-ecommerce/README.md | 96 ---- .../browser-plugin-ecommerce/jest.config.js | 6 - plugins/browser-plugin-ecommerce/package.json | 55 --- .../browser-plugin-ecommerce/rollup.config.js | 67 --- plugins/browser-plugin-ecommerce/src/index.ts | 155 ------- .../test/events.test.ts | 190 -------- .../browser-plugin-ecommerce/tsconfig.json | 3 - .../src/index.ts | 2 + .../browser-plugin-optimizely/CHANGELOG.json | 428 ------------------ .../browser-plugin-optimizely/CHANGELOG.md | 292 ------------ plugins/browser-plugin-optimizely/LICENSE | 29 -- plugins/browser-plugin-optimizely/README.md | 58 --- .../browser-plugin-optimizely/package.json | 53 --- .../rollup.config.js | 67 --- .../browser-plugin-optimizely/src/contexts.ts | 115 ----- .../browser-plugin-optimizely/src/index.ts | 360 --------------- .../browser-plugin-optimizely/tsconfig.json | 3 - .../src/index.ts | 2 + rush.json | 24 - trackers/javascript-tracker/package.json | 8 +- .../javascript-tracker/src/configuration.ts | 9 +- trackers/javascript-tracker/src/features.ts | 67 +-- .../test/integration/integration.test.ts | 212 ++------- .../test/pages/integration.html | 86 +--- trackers/javascript-tracker/tracker.config.ts | 14 +- .../javascript-tracker/tracker.lite.config.ts | 6 +- .../javascript-tracker/tracker.test.config.ts | 8 +- 55 files changed, 140 insertions(+), 5843 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-performance-timing/issue-remove_deprecated_plugins_2024-09-25-10-05.json delete mode 100644 plugins/browser-plugin-browser-features/CHANGELOG.json delete mode 100644 plugins/browser-plugin-browser-features/CHANGELOG.md delete mode 100644 plugins/browser-plugin-browser-features/LICENSE delete mode 100644 plugins/browser-plugin-browser-features/README.md delete mode 100644 plugins/browser-plugin-browser-features/jest.config.js delete mode 100644 plugins/browser-plugin-browser-features/package.json delete mode 100644 plugins/browser-plugin-browser-features/rollup.config.js delete mode 100644 plugins/browser-plugin-browser-features/src/index.ts delete mode 100644 plugins/browser-plugin-browser-features/test/browser_features.test.ts delete mode 100644 plugins/browser-plugin-browser-features/tsconfig.json delete mode 100644 plugins/browser-plugin-consent/CHANGELOG.json delete mode 100644 plugins/browser-plugin-consent/CHANGELOG.md delete mode 100644 plugins/browser-plugin-consent/LICENSE delete mode 100644 plugins/browser-plugin-consent/README.md delete mode 100644 plugins/browser-plugin-consent/jest.config.js delete mode 100644 plugins/browser-plugin-consent/package.json delete mode 100644 plugins/browser-plugin-consent/rollup.config.js delete mode 100644 plugins/browser-plugin-consent/src/contexts.ts delete mode 100644 plugins/browser-plugin-consent/src/index.ts delete mode 100644 plugins/browser-plugin-consent/test/events.test.ts delete mode 100644 plugins/browser-plugin-consent/tsconfig.json delete mode 100644 plugins/browser-plugin-ecommerce/CHANGELOG.json delete mode 100644 plugins/browser-plugin-ecommerce/CHANGELOG.md delete mode 100644 plugins/browser-plugin-ecommerce/LICENSE delete mode 100644 plugins/browser-plugin-ecommerce/README.md delete mode 100644 plugins/browser-plugin-ecommerce/jest.config.js delete mode 100644 plugins/browser-plugin-ecommerce/package.json delete mode 100644 plugins/browser-plugin-ecommerce/rollup.config.js delete mode 100644 plugins/browser-plugin-ecommerce/src/index.ts delete mode 100644 plugins/browser-plugin-ecommerce/test/events.test.ts delete mode 100644 plugins/browser-plugin-ecommerce/tsconfig.json delete mode 100644 plugins/browser-plugin-optimizely/CHANGELOG.json delete mode 100644 plugins/browser-plugin-optimizely/CHANGELOG.md delete mode 100644 plugins/browser-plugin-optimizely/LICENSE delete mode 100644 plugins/browser-plugin-optimizely/README.md delete mode 100644 plugins/browser-plugin-optimizely/package.json delete mode 100644 plugins/browser-plugin-optimizely/rollup.config.js delete mode 100644 plugins/browser-plugin-optimizely/src/contexts.ts delete mode 100644 plugins/browser-plugin-optimizely/src/index.ts delete mode 100644 plugins/browser-plugin-optimizely/tsconfig.json diff --git a/common/changes/@snowplow/browser-plugin-performance-timing/issue-remove_deprecated_plugins_2024-09-25-10-05.json b/common/changes/@snowplow/browser-plugin-performance-timing/issue-remove_deprecated_plugins_2024-09-25-10-05.json new file mode 100644 index 000000000..e23d8ccc1 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-performance-timing/issue-remove_deprecated_plugins_2024-09-25-10-05.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-performance-timing", + "comment": "Deprecate performance-timing plugin", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-performance-timing" +} \ No newline at end of file diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index d7679cd1c..60f7e3426 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -102,6 +102,10 @@ "name": "@snowplow/browser-plugin-optimizely-x", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-performance-navigation-timing", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-plugin-performance-timing", "allowedCategories": [ "trackers" ] @@ -126,6 +130,10 @@ "name": "@snowplow/browser-plugin-vimeo-tracking", "allowedCategories": [ "trackers" ] }, + { + "name": "@snowplow/browser-plugin-web-vitals", + "allowedCategories": [ "trackers" ] + }, { "name": "@snowplow/browser-plugin-youtube-tracking", "allowedCategories": [ "trackers" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 5cb7cf086..c38dc5271 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -235,76 +235,6 @@ importers: specifier: ~4.6.2 version: 4.6.4 - ../../plugins/browser-plugin-browser-features: - dependencies: - '@snowplow/browser-tracker-core': - specifier: workspace:* - version: link:../../libraries/browser-tracker-core - tslib: - specifier: ^2.3.1 - version: 2.7.0 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': - specifier: ~0.27.0 - version: 0.27.0(rollup@2.70.2) - '@rollup/plugin-commonjs': - specifier: ~21.0.2 - version: 21.0.3(rollup@2.70.2) - '@rollup/plugin-node-resolve': - specifier: ~13.1.3 - version: 13.1.3(rollup@2.70.2) - '@snowplow/tracker-core': - specifier: workspace:* - version: link:../../libraries/tracker-core - '@types/jest': - specifier: ~27.4.1 - version: 27.4.1 - '@types/jsdom': - specifier: ~16.2.14 - version: 16.2.15 - '@typescript-eslint/eslint-plugin': - specifier: ~5.15.0 - version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) - '@typescript-eslint/parser': - specifier: ~5.15.0 - version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) - eslint: - specifier: ~8.11.0 - version: 8.11.0 - jest: - specifier: ~27.5.1 - version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) - jest-environment-jsdom: - specifier: ~27.5.1 - version: 27.5.1 - jest-environment-jsdom-global: - specifier: ~3.0.0 - version: 3.0.0(jest-environment-jsdom@27.5.1) - jest-standard-reporter: - specifier: ~2.0.0 - version: 2.0.0 - rollup: - specifier: ~2.70.1 - version: 2.70.2 - rollup-plugin-cleanup: - specifier: ~3.2.1 - version: 3.2.1(rollup@2.70.2) - rollup-plugin-license: - specifier: ~2.6.1 - version: 2.6.1(rollup@2.70.2) - rollup-plugin-terser: - specifier: ~7.0.2 - version: 7.0.2(rollup@2.70.2) - rollup-plugin-ts: - specifier: ~2.0.5 - version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) - ts-jest: - specifier: ~27.1.3 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) - typescript: - specifier: ~4.6.2 - version: 4.6.4 - ../../plugins/browser-plugin-button-click-tracking: dependencies: '@snowplow/browser-tracker-core': @@ -451,82 +381,6 @@ importers: specifier: ~4.6.2 version: 4.6.4 - ../../plugins/browser-plugin-consent: - dependencies: - '@snowplow/browser-tracker-core': - specifier: workspace:* - version: link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': - specifier: workspace:* - version: link:../../libraries/tracker-core - tslib: - specifier: ^2.3.1 - version: 2.7.0 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': - specifier: ~0.27.0 - version: 0.27.0(rollup@2.70.2) - '@rollup/plugin-commonjs': - specifier: ~21.0.2 - version: 21.0.3(rollup@2.70.2) - '@rollup/plugin-node-resolve': - specifier: ~13.1.3 - version: 13.1.3(rollup@2.70.2) - '@types/jest': - specifier: ~27.4.1 - version: 27.4.1 - '@types/jsdom': - specifier: ~16.2.14 - version: 16.2.15 - '@types/lodash': - specifier: ~4.14.180 - version: 4.14.202 - '@typescript-eslint/eslint-plugin': - specifier: ~5.15.0 - version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) - '@typescript-eslint/parser': - specifier: ~5.15.0 - version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) - eslint: - specifier: ~8.11.0 - version: 8.11.0 - jest: - specifier: ~27.5.1 - version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) - jest-environment-jsdom: - specifier: ~27.5.1 - version: 27.5.1 - jest-environment-jsdom-global: - specifier: ~3.0.0 - version: 3.0.0(jest-environment-jsdom@27.5.1) - jest-standard-reporter: - specifier: ~2.0.0 - version: 2.0.0 - lodash: - specifier: ~4.17.21 - version: 4.17.21 - rollup: - specifier: ~2.70.1 - version: 2.70.2 - rollup-plugin-cleanup: - specifier: ~3.2.1 - version: 3.2.1(rollup@2.70.2) - rollup-plugin-license: - specifier: ~2.6.1 - version: 2.6.1(rollup@2.70.2) - rollup-plugin-terser: - specifier: ~7.0.2 - version: 7.0.2(rollup@2.70.2) - rollup-plugin-ts: - specifier: ~2.0.5 - version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) - ts-jest: - specifier: ~27.1.3 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) - typescript: - specifier: ~4.6.2 - version: 4.6.4 - ../../plugins/browser-plugin-debugger: dependencies: '@snowplow/browser-tracker-core': @@ -603,82 +457,6 @@ importers: specifier: ~4.6.2 version: 4.6.4 - ../../plugins/browser-plugin-ecommerce: - dependencies: - '@snowplow/browser-tracker-core': - specifier: workspace:* - version: link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': - specifier: workspace:* - version: link:../../libraries/tracker-core - tslib: - specifier: ^2.3.1 - version: 2.7.0 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': - specifier: ~0.27.0 - version: 0.27.0(rollup@2.70.2) - '@rollup/plugin-commonjs': - specifier: ~21.0.2 - version: 21.0.3(rollup@2.70.2) - '@rollup/plugin-node-resolve': - specifier: ~13.1.3 - version: 13.1.3(rollup@2.70.2) - '@types/jest': - specifier: ~27.4.1 - version: 27.4.1 - '@types/jsdom': - specifier: ~16.2.14 - version: 16.2.15 - '@types/lodash': - specifier: ~4.14.180 - version: 4.14.202 - '@typescript-eslint/eslint-plugin': - specifier: ~5.15.0 - version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) - '@typescript-eslint/parser': - specifier: ~5.15.0 - version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) - eslint: - specifier: ~8.11.0 - version: 8.11.0 - jest: - specifier: ~27.5.1 - version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) - jest-environment-jsdom: - specifier: ~27.5.1 - version: 27.5.1 - jest-environment-jsdom-global: - specifier: ~3.0.0 - version: 3.0.0(jest-environment-jsdom@27.5.1) - jest-standard-reporter: - specifier: ~2.0.0 - version: 2.0.0 - lodash: - specifier: ~4.17.21 - version: 4.17.21 - rollup: - specifier: ~2.70.1 - version: 2.70.2 - rollup-plugin-cleanup: - specifier: ~3.2.1 - version: 3.2.1(rollup@2.70.2) - rollup-plugin-license: - specifier: ~2.6.1 - version: 2.6.1(rollup@2.70.2) - rollup-plugin-terser: - specifier: ~7.0.2 - version: 7.0.2(rollup@2.70.2) - rollup-plugin-ts: - specifier: ~2.0.5 - version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) - ts-jest: - specifier: ~27.1.3 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) - typescript: - specifier: ~4.6.2 - version: 4.6.4 - ../../plugins/browser-plugin-enhanced-consent: dependencies: '@snowplow/browser-tracker-core': @@ -1479,76 +1257,6 @@ importers: specifier: ~4.6.2 version: 4.6.4 - ../../plugins/browser-plugin-optimizely: - dependencies: - '@snowplow/browser-tracker-core': - specifier: workspace:* - version: link:../../libraries/browser-tracker-core - '@snowplow/tracker-core': - specifier: workspace:* - version: link:../../libraries/tracker-core - tslib: - specifier: ^2.3.1 - version: 2.7.0 - devDependencies: - '@ampproject/rollup-plugin-closure-compiler': - specifier: ~0.27.0 - version: 0.27.0(rollup@2.70.2) - '@rollup/plugin-commonjs': - specifier: ~21.0.2 - version: 21.0.3(rollup@2.70.2) - '@rollup/plugin-node-resolve': - specifier: ~13.1.3 - version: 13.1.3(rollup@2.70.2) - '@types/jest': - specifier: ~27.4.1 - version: 27.4.1 - '@types/jsdom': - specifier: ~16.2.14 - version: 16.2.15 - '@typescript-eslint/eslint-plugin': - specifier: ~5.15.0 - version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) - '@typescript-eslint/parser': - specifier: ~5.15.0 - version: 5.15.0(eslint@8.11.0)(typescript@4.6.4) - eslint: - specifier: ~8.11.0 - version: 8.11.0 - jest: - specifier: ~27.5.1 - version: 27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)) - jest-environment-jsdom: - specifier: ~27.5.1 - version: 27.5.1 - jest-environment-jsdom-global: - specifier: ~3.0.0 - version: 3.0.0(jest-environment-jsdom@27.5.1) - jest-standard-reporter: - specifier: ~2.0.0 - version: 2.0.0 - rollup: - specifier: ~2.70.1 - version: 2.70.2 - rollup-plugin-cleanup: - specifier: ~3.2.1 - version: 3.2.1(rollup@2.70.2) - rollup-plugin-license: - specifier: ~2.6.1 - version: 2.6.1(rollup@2.70.2) - rollup-plugin-terser: - specifier: ~7.0.2 - version: 7.0.2(rollup@2.70.2) - rollup-plugin-ts: - specifier: ~2.0.5 - version: 2.0.7(@babel/core@7.25.2)(@babel/runtime@7.25.6)(rollup@2.70.2)(typescript@4.6.4) - ts-jest: - specifier: ~27.1.3 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.4.1)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@4.6.4)))(typescript@4.6.4) - typescript: - specifier: ~4.6.2 - version: 4.6.4 - ../../plugins/browser-plugin-optimizely-x: dependencies: '@snowplow/browser-tracker-core': @@ -2369,21 +2077,12 @@ importers: '@snowplow/browser-plugin-ad-tracking': specifier: workspace:* version: link:../../plugins/browser-plugin-ad-tracking - '@snowplow/browser-plugin-browser-features': - specifier: workspace:* - version: link:../../plugins/browser-plugin-browser-features '@snowplow/browser-plugin-button-click-tracking': specifier: workspace:* version: link:../../plugins/browser-plugin-button-click-tracking '@snowplow/browser-plugin-client-hints': specifier: workspace:* version: link:../../plugins/browser-plugin-client-hints - '@snowplow/browser-plugin-consent': - specifier: workspace:* - version: link:../../plugins/browser-plugin-consent - '@snowplow/browser-plugin-ecommerce': - specifier: workspace:* - version: link:../../plugins/browser-plugin-ecommerce '@snowplow/browser-plugin-enhanced-consent': specifier: workspace:* version: link:../../plugins/browser-plugin-enhanced-consent @@ -2414,12 +2113,12 @@ importers: '@snowplow/browser-plugin-media-tracking': specifier: workspace:* version: link:../../plugins/browser-plugin-media-tracking - '@snowplow/browser-plugin-optimizely': - specifier: workspace:* - version: link:../../plugins/browser-plugin-optimizely '@snowplow/browser-plugin-optimizely-x': specifier: workspace:* version: link:../../plugins/browser-plugin-optimizely-x + '@snowplow/browser-plugin-performance-navigation-timing': + specifier: workspace:* + version: link:../../plugins/browser-plugin-performance-navigation-timing '@snowplow/browser-plugin-performance-timing': specifier: workspace:* version: link:../../plugins/browser-plugin-performance-timing @@ -2438,6 +2137,9 @@ importers: '@snowplow/browser-plugin-vimeo-tracking': specifier: workspace:* version: link:../../plugins/browser-plugin-vimeo-tracking + '@snowplow/browser-plugin-web-vitals': + specifier: workspace:* + version: link:../../plugins/browser-plugin-web-vitals '@snowplow/browser-plugin-youtube-tracking': specifier: workspace:* version: link:../../plugins/browser-plugin-youtube-tracking @@ -2521,8 +2223,8 @@ importers: specifier: 4.1.2 version: 4.1.2 chromedriver: - specifier: ~126.0.4 - version: 126.0.5 + specifier: ~129.0.0 + version: 129.0.4 dockerode: specifier: ~3.3.1 version: 3.3.5 @@ -2579,7 +2281,7 @@ importers: version: 4.6.4 wdio-chromedriver-service: specifier: ~8.1.1 - version: 8.1.1(@wdio/types@8.39.0)(chromedriver@126.0.5)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)) + version: 8.1.1(@wdio/types@8.39.0)(chromedriver@129.0.4)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)) wdio-edgedriver-service: specifier: ~3.0.3 version: 3.0.3(@wdio/types@8.39.0) @@ -3884,8 +3586,8 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - chromedriver@126.0.5: - resolution: {integrity: sha512-xXVxwxd8CJ6yg2KEvFqLQi7V0RvF78xFnLB+xo9g9MoJNHMQccD7b4OWaxtKDy5RXrMgQ6Jb6vUN3SjTYXHLEQ==} + chromedriver@129.0.4: + resolution: {integrity: sha512-j5I55cQwodFJUaYa1tWUmj2ss9KcPRBWmUa5Qonq3X8kqv2ASPyTboFYb4YB/YLztkYTUUw2E43txXw0wYzT/A==} engines: {node: '>=18'} hasBin: true @@ -9465,7 +9167,7 @@ snapshots: chownr@2.0.0: {} - chromedriver@126.0.5: + chromedriver@129.0.4: dependencies: '@testim/chrome-version': 1.1.4 axios: 1.7.7 @@ -12497,7 +12199,7 @@ snapshots: proxy-agent@6.3.0: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.6 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -12510,7 +12212,7 @@ snapshots: proxy-agent@6.3.1: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.6 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -13647,7 +13349,7 @@ snapshots: dependencies: defaults: 1.0.4 - wdio-chromedriver-service@8.1.1(@wdio/types@8.39.0)(chromedriver@126.0.5)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)): + wdio-chromedriver-service@8.1.1(@wdio/types@8.39.0)(chromedriver@129.0.4)(webdriverio@8.39.1(encoding@0.1.13)(typescript@4.6.4)): dependencies: '@wdio/logger': 8.38.0 fs-extra: 11.2.0 @@ -13656,7 +13358,7 @@ snapshots: webdriverio: 8.39.1(encoding@0.1.13)(typescript@4.6.4) optionalDependencies: '@wdio/types': 8.39.0 - chromedriver: 126.0.5 + chromedriver: 129.0.4 transitivePeerDependencies: - supports-color diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 51fe9ba49..ce70fe742 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "384d99a17c59d00dcd20df8d03a1c95e56d33388", + "pnpmShrinkwrapHash": "b2caa20e9dbaba01b31a693c526a8bdf18e0fc2d", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.json b/plugins/browser-plugin-browser-features/CHANGELOG.json deleted file mode 100644 index 72d38ce63..000000000 --- a/plugins/browser-plugin-browser-features/CHANGELOG.json +++ /dev/null @@ -1,425 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-browser-features", - "entries": [ - { - "version": "3.24.6", - "tag": "@snowplow/browser-plugin-browser-features_v3.24.6", - "date": "Mon, 28 Oct 2024 10:23:28 GMT", - "comments": {} - }, - { - "version": "3.24.5", - "tag": "@snowplow/browser-plugin-browser-features_v3.24.5", - "date": "Fri, 25 Oct 2024 08:53:04 GMT", - "comments": {} - }, - { - "version": "3.24.4", - "tag": "@snowplow/browser-plugin-browser-features_v3.24.4", - "date": "Thu, 26 Sep 2024 06:10:22 GMT", - "comments": {} - }, - { - "version": "3.24.3", - "tag": "@snowplow/browser-plugin-browser-features_v3.24.3", - "date": "Tue, 03 Sep 2024 08:15:14 GMT", - "comments": { - "none": [ - { - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" - } - ] - } - }, - { - "version": "3.24.2", - "tag": "@snowplow/browser-plugin-browser-features_v3.24.2", - "date": "Wed, 24 Jul 2024 08:59:00 GMT", - "comments": {} - }, - { - "version": "3.24.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.24.1", - "date": "Tue, 02 Jul 2024 07:08:17 GMT", - "comments": {} - }, - { - "version": "3.24.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.24.0", - "date": "Tue, 25 Jun 2024 08:31:05 GMT", - "comments": {} - }, - { - "version": "3.23.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.23.1", - "date": "Tue, 04 Jun 2024 13:34:45 GMT", - "comments": {} - }, - { - "version": "3.23.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.23.0", - "date": "Thu, 28 Mar 2024 11:28:45 GMT", - "comments": {} - }, - { - "version": "3.22.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.22.1", - "date": "Wed, 13 Mar 2024 08:39:48 GMT", - "comments": {} - }, - { - "version": "3.22.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.22.0", - "date": "Fri, 08 Mar 2024 08:13:04 GMT", - "comments": {} - }, - { - "version": "3.21.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.21.0", - "date": "Mon, 29 Jan 2024 08:34:06 GMT", - "comments": {} - }, - { - "version": "3.20.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.20.0", - "date": "Mon, 15 Jan 2024 14:41:16 GMT", - "comments": {} - }, - { - "version": "3.19.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.19.0", - "date": "Thu, 14 Dec 2023 10:45:22 GMT", - "comments": {} - }, - { - "version": "3.18.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.18.0", - "date": "Mon, 04 Dec 2023 13:44:02 GMT", - "comments": {} - }, - { - "version": "3.17.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.17.0", - "date": "Tue, 14 Nov 2023 17:58:26 GMT", - "comments": {} - }, - { - "version": "3.16.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.16.0", - "date": "Mon, 16 Oct 2023 14:58:08 GMT", - "comments": {} - }, - { - "version": "3.15.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.15.0", - "date": "Mon, 28 Aug 2023 14:25:14 GMT", - "comments": {} - }, - { - "version": "3.14.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.14.0", - "date": "Thu, 10 Aug 2023 13:56:44 GMT", - "comments": {} - }, - { - "version": "3.13.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.13.1", - "date": "Thu, 29 Jun 2023 14:20:06 GMT", - "comments": {} - }, - { - "version": "3.13.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.13.0", - "date": "Tue, 20 Jun 2023 07:44:23 GMT", - "comments": {} - }, - { - "version": "3.12.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.12.1", - "date": "Thu, 15 Jun 2023 10:05:37 GMT", - "comments": {} - }, - { - "version": "3.12.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.12.0", - "date": "Mon, 05 Jun 2023 11:51:22 GMT", - "comments": {} - }, - { - "version": "3.11.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.11.0", - "date": "Wed, 24 May 2023 15:56:17 GMT", - "comments": {} - }, - { - "version": "3.10.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.10.1", - "date": "Fri, 12 May 2023 06:59:31 GMT", - "comments": {} - }, - { - "version": "3.10.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.10.0", - "date": "Thu, 11 May 2023 08:29:15 GMT", - "comments": {} - }, - { - "version": "3.9.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.9.0", - "date": "Thu, 30 Mar 2023 13:46:56 GMT", - "comments": {} - }, - { - "version": "3.8.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.8.0", - "date": "Tue, 03 Jan 2023 15:36:33 GMT", - "comments": {} - }, - { - "version": "3.7.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.7.0", - "date": "Mon, 31 Oct 2022 06:26:28 GMT", - "comments": {} - }, - { - "version": "3.6.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.6.0", - "date": "Thu, 15 Sep 2022 07:55:20 GMT", - "comments": {} - }, - { - "version": "3.5.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.5.0", - "date": "Fri, 10 Jun 2022 18:57:46 GMT", - "comments": {} - }, - { - "version": "3.4.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.4.0", - "date": "Thu, 07 Apr 2022 11:56:26 GMT", - "comments": { - "none": [ - { - "comment": "Bump dependencies (#1067)" - } - ] - } - }, - { - "version": "3.3.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.3.1", - "date": "Wed, 23 Feb 2022 19:27:40 GMT", - "comments": {} - }, - { - "version": "3.3.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.3.0", - "date": "Mon, 31 Jan 2022 15:58:10 GMT", - "comments": {} - }, - { - "version": "3.2.3", - "tag": "@snowplow/browser-plugin-browser-features_v3.2.3", - "date": "Tue, 18 Jan 2022 16:23:52 GMT", - "comments": { - "none": [ - { - "comment": "Bump Copyright to 2022 (#1040)" - } - ] - } - }, - { - "version": "3.2.2", - "tag": "@snowplow/browser-plugin-browser-features_v3.2.2", - "date": "Fri, 14 Jan 2022 10:17:59 GMT", - "comments": {} - }, - { - "version": "3.2.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.2.1", - "date": "Wed, 12 Jan 2022 09:50:29 GMT", - "comments": {} - }, - { - "version": "3.2.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.2.0", - "date": "Tue, 11 Jan 2022 12:53:22 GMT", - "comments": {} - }, - { - "version": "3.1.6", - "tag": "@snowplow/browser-plugin-browser-features_v3.1.6", - "date": "Tue, 19 Oct 2021 09:17:22 GMT", - "comments": { - "none": [ - { - "comment": "Fix failing build on ARM Macs (#1012)" - } - ] - } - }, - { - "version": "3.1.5", - "tag": "@snowplow/browser-plugin-browser-features_v3.1.5", - "date": "Fri, 01 Oct 2021 08:09:20 GMT", - "comments": {} - }, - { - "version": "3.1.4", - "tag": "@snowplow/browser-plugin-browser-features_v3.1.4", - "date": "Tue, 21 Sep 2021 14:59:36 GMT", - "comments": {} - }, - { - "version": "3.1.3", - "tag": "@snowplow/browser-plugin-browser-features_v3.1.3", - "date": "Mon, 23 Aug 2021 10:13:18 GMT", - "comments": {} - }, - { - "version": "3.1.2", - "tag": "@snowplow/browser-plugin-browser-features_v3.1.2", - "date": "Mon, 16 Aug 2021 12:59:59 GMT", - "comments": { - "none": [ - { - "comment": "Update READMEs with correct Node requirements (#994)" - } - ] - } - }, - { - "version": "3.1.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.1.1", - "date": "Wed, 04 Aug 2021 10:12:25 GMT", - "comments": { - "none": [ - { - "comment": "Bump tslib to 2.3.0 (#986)" - }, - { - "comment": "Bump typescript to 4.3.5 (#987)" - }, - { - "comment": "Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988)" - } - ] - } - }, - { - "version": "3.1.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.1.0", - "date": "Fri, 14 May 2021 10:45:32 GMT", - "comments": {} - }, - { - "version": "3.0.3", - "tag": "@snowplow/browser-plugin-browser-features_v3.0.3", - "date": "Wed, 21 Apr 2021 12:35:06 GMT", - "comments": {} - }, - { - "version": "3.0.2", - "tag": "@snowplow/browser-plugin-browser-features_v3.0.2", - "date": "Thu, 15 Apr 2021 21:07:39 GMT", - "comments": {} - }, - { - "version": "3.0.1", - "tag": "@snowplow/browser-plugin-browser-features_v3.0.1", - "date": "Wed, 14 Apr 2021 16:30:05 GMT", - "comments": { - "none": [ - { - "comment": "Add peerDependencies to plugins (#950)" - }, - { - "comment": "Mark packages as sideEffect: false (#951)" - }, - { - "comment": "Add unit tests to plugin track* functions (#954)" - } - ] - } - }, - { - "version": "3.0.0", - "tag": "@snowplow/browser-plugin-browser-features_v3.0.0", - "date": "Wed, 31 Mar 2021 14:46:47 GMT", - "comments": { - "none": [ - { - "comment": "Allow plugins to be dynamically loaded when using tracker (#918)" - }, - { - "comment": "Bump rollup to 2.41 (#916)" - }, - { - "comment": "Publish UMD versions of plugins to GitHub release (#923)" - }, - { - "comment": "Remove module level references to window and document (close #928)" - }, - { - "comment": "Ensure browser-tracker API methods catch exceptions (#919)" - }, - { - "comment": "Introduce TSDoc comments and extract interfaces where appropriate (#906)" - }, - { - "comment": "Bump major version to v3 and update READMEs (#904)" - }, - { - "comment": "Improve Core API for module bundlers which support treeshaking (#903)" - }, - { - "comment": "Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901)" - }, - { - "comment": "Publish lite version of sp.js (#900)" - }, - { - "comment": "Ensure correct 3-Clause BSD License notices are being used (#316)" - }, - { - "comment": "Improve API for module bundlers which support treeshaking (#899)" - }, - { - "comment": "Bump rush to 5.39 (#895)" - }, - { - "comment": "Port to TypeScript (#72)" - }, - { - "comment": "Make sp.js build process modular (#450)" - }, - { - "comment": "Create @snowplow/browser-tracker package for npm distribution (#541)" - }, - { - "comment": "Split auto contexts into plugins (#880)" - }, - { - "comment": "Add rush to manage monorepo (#883)" - }, - { - "comment": "Add ES Module builds (#882)" - }, - { - "comment": "Cleanup deprecated methods (#557)" - }, - { - "comment": "Update publishing process for rush (#907)" - }, - { - "comment": "Change white and black lists to allow and deny lists (#908)" - }, - { - "comment": "Create rush change files for major version 3 release (#909)" - } - ] - } - } - ] -} diff --git a/plugins/browser-plugin-browser-features/CHANGELOG.md b/plugins/browser-plugin-browser-features/CHANGELOG.md deleted file mode 100644 index 0b92ac329..000000000 --- a/plugins/browser-plugin-browser-features/CHANGELOG.md +++ /dev/null @@ -1,291 +0,0 @@ -# Change Log - @snowplow/browser-plugin-browser-features - -This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. - -## 3.24.6 -Mon, 28 Oct 2024 10:23:28 GMT - -_Version update only_ - -## 3.24.5 -Fri, 25 Oct 2024 08:53:04 GMT - -_Version update only_ - -## 3.24.4 -Thu, 26 Sep 2024 06:10:22 GMT - -_Version update only_ - -## 3.24.3 -Tue, 03 Sep 2024 08:15:14 GMT - -### Updates - -- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush - -## 3.24.2 -Wed, 24 Jul 2024 08:59:00 GMT - -_Version update only_ - -## 3.24.1 -Tue, 02 Jul 2024 07:08:17 GMT - -_Version update only_ - -## 3.24.0 -Tue, 25 Jun 2024 08:31:05 GMT - -_Version update only_ - -## 3.23.1 -Tue, 04 Jun 2024 13:34:45 GMT - -_Version update only_ - -## 3.23.0 -Thu, 28 Mar 2024 11:28:45 GMT - -_Version update only_ - -## 3.22.1 -Wed, 13 Mar 2024 08:39:48 GMT - -_Version update only_ - -## 3.22.0 -Fri, 08 Mar 2024 08:13:04 GMT - -_Version update only_ - -## 3.21.0 -Mon, 29 Jan 2024 08:34:06 GMT - -_Version update only_ - -## 3.20.0 -Mon, 15 Jan 2024 14:41:16 GMT - -_Version update only_ - -## 3.19.0 -Thu, 14 Dec 2023 10:45:22 GMT - -_Version update only_ - -## 3.18.0 -Mon, 04 Dec 2023 13:44:02 GMT - -_Version update only_ - -## 3.17.0 -Tue, 14 Nov 2023 17:58:26 GMT - -_Version update only_ - -## 3.16.0 -Mon, 16 Oct 2023 14:58:08 GMT - -_Version update only_ - -## 3.15.0 -Mon, 28 Aug 2023 14:25:14 GMT - -_Version update only_ - -## 3.14.0 -Thu, 10 Aug 2023 13:56:44 GMT - -_Version update only_ - -## 3.13.1 -Thu, 29 Jun 2023 14:20:06 GMT - -_Version update only_ - -## 3.13.0 -Tue, 20 Jun 2023 07:44:23 GMT - -_Version update only_ - -## 3.12.1 -Thu, 15 Jun 2023 10:05:37 GMT - -_Version update only_ - -## 3.12.0 -Mon, 05 Jun 2023 11:51:22 GMT - -_Version update only_ - -## 3.11.0 -Wed, 24 May 2023 15:56:17 GMT - -_Version update only_ - -## 3.10.1 -Fri, 12 May 2023 06:59:31 GMT - -_Version update only_ - -## 3.10.0 -Thu, 11 May 2023 08:29:15 GMT - -_Version update only_ - -## 3.9.0 -Thu, 30 Mar 2023 13:46:56 GMT - -_Version update only_ - -## 3.8.0 -Tue, 03 Jan 2023 15:36:33 GMT - -_Version update only_ - -## 3.7.0 -Mon, 31 Oct 2022 06:26:28 GMT - -_Version update only_ - -## 3.6.0 -Thu, 15 Sep 2022 07:55:20 GMT - -_Version update only_ - -## 3.5.0 -Fri, 10 Jun 2022 18:57:46 GMT - -_Version update only_ - -## 3.4.0 -Thu, 07 Apr 2022 11:56:26 GMT - -### Updates - -- Bump dependencies (#1067) - -## 3.3.1 -Wed, 23 Feb 2022 19:27:40 GMT - -_Version update only_ - -## 3.3.0 -Mon, 31 Jan 2022 15:58:10 GMT - -_Version update only_ - -## 3.2.3 -Tue, 18 Jan 2022 16:23:52 GMT - -### Updates - -- Bump Copyright to 2022 (#1040) - -## 3.2.2 -Fri, 14 Jan 2022 10:17:59 GMT - -_Version update only_ - -## 3.2.1 -Wed, 12 Jan 2022 09:50:29 GMT - -_Version update only_ - -## 3.2.0 -Tue, 11 Jan 2022 12:53:22 GMT - -_Version update only_ - -## 3.1.6 -Tue, 19 Oct 2021 09:17:22 GMT - -### Updates - -- Fix failing build on ARM Macs (#1012) - -## 3.1.5 -Fri, 01 Oct 2021 08:09:20 GMT - -_Version update only_ - -## 3.1.4 -Tue, 21 Sep 2021 14:59:36 GMT - -_Version update only_ - -## 3.1.3 -Mon, 23 Aug 2021 10:13:18 GMT - -_Version update only_ - -## 3.1.2 -Mon, 16 Aug 2021 12:59:59 GMT - -### Updates - -- Update READMEs with correct Node requirements (#994) - -## 3.1.1 -Wed, 04 Aug 2021 10:12:25 GMT - -### Updates - -- Bump tslib to 2.3.0 (#986) -- Bump typescript to 4.3.5 (#987) -- Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988) - -## 3.1.0 -Fri, 14 May 2021 10:45:32 GMT - -_Version update only_ - -## 3.0.3 -Wed, 21 Apr 2021 12:35:06 GMT - -_Version update only_ - -## 3.0.2 -Thu, 15 Apr 2021 21:07:39 GMT - -_Version update only_ - -## 3.0.1 -Wed, 14 Apr 2021 16:30:05 GMT - -### Updates - -- Add peerDependencies to plugins (#950) -- Mark packages as sideEffect: false (#951) -- Add unit tests to plugin track* functions (#954) - -## 3.0.0 -Wed, 31 Mar 2021 14:46:47 GMT - -### Updates - -- Allow plugins to be dynamically loaded when using tracker (#918) -- Bump rollup to 2.41 (#916) -- Publish UMD versions of plugins to GitHub release (#923) -- Remove module level references to window and document (close #928) -- Ensure browser-tracker API methods catch exceptions (#919) -- Introduce TSDoc comments and extract interfaces where appropriate (#906) -- Bump major version to v3 and update READMEs (#904) -- Improve Core API for module bundlers which support treeshaking (#903) -- Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901) -- Publish lite version of sp.js (#900) -- Ensure correct 3-Clause BSD License notices are being used (#316) -- Improve API for module bundlers which support treeshaking (#899) -- Bump rush to 5.39 (#895) -- Port to TypeScript (#72) -- Make sp.js build process modular (#450) -- Create @snowplow/browser-tracker package for npm distribution (#541) -- Split auto contexts into plugins (#880) -- Add rush to manage monorepo (#883) -- Add ES Module builds (#882) -- Cleanup deprecated methods (#557) -- Update publishing process for rush (#907) -- Change white and black lists to allow and deny lists (#908) -- Create rush change files for major version 3 release (#909) - diff --git a/plugins/browser-plugin-browser-features/LICENSE b/plugins/browser-plugin-browser-features/LICENSE deleted file mode 100644 index 76f1946ea..000000000 --- a/plugins/browser-plugin-browser-features/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/plugins/browser-plugin-browser-features/README.md b/plugins/browser-plugin-browser-features/README.md deleted file mode 100644 index 0479d4567..000000000 --- a/plugins/browser-plugin-browser-features/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Snowplow Browser Feature Tracking - -[![npm version][npm-image]][npm-url] -[![License][license-image]](LICENSE) - -

⚠️ This package is deprecated ⚠️

- ---- - -Browser Plugin to be used with `@snowplow/browser-tracker`. - -Adds Browser Features to your Snowplow tracking. Identifies available MIME Types. - -## Maintainer quick start - -Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). - -### Setup repository - -```bash -npm install -g @microsoft/rush -git clone https://github.com/snowplow/snowplow-javascript-tracker.git -rush update -``` - -## Package Installation - -With npm: - -```bash -npm install @snowplow/browser-plugin-browser-features -``` - -## Usage - -Initialize your tracker with the BrowserFeaturesPlugin: - -```js -import { newTracker } from '@snowplow/browser-tracker'; -import { BrowserFeaturesPlugin } from '@snowplow/browser-plugin-browser-features'; - -newTracker('sp1', '{{collector}}', { plugins: [ BrowserFeaturesPlugin() ] }); // Also stores reference at module level -``` - -## Copyright and license - -Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang. - -All rights reserved. - -[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-browser-features -[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-browser-features -[docs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-tracker/ -[osi]: https://opensource.org/licenses/BSD-3-Clause -[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-browser-features diff --git a/plugins/browser-plugin-browser-features/jest.config.js b/plugins/browser-plugin-browser-features/jest.config.js deleted file mode 100644 index bd3ea4e2a..000000000 --- a/plugins/browser-plugin-browser-features/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - preset: 'ts-jest', - reporters: ['jest-standard-reporter'], - testEnvironment: 'jest-environment-jsdom-global', -}; diff --git a/plugins/browser-plugin-browser-features/package.json b/plugins/browser-plugin-browser-features/package.json deleted file mode 100644 index dcc5f74d4..000000000 --- a/plugins/browser-plugin-browser-features/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-browser-features", - "version": "3.24.6", - "description": "Attaches browser features to Snowplow events", - "homepage": "http://bit.ly/sp-js", - "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", - "repository": { - "type": "git", - "url": "https://github.com/snowplow/snowplow-javascript-tracker.git" - }, - "license": "BSD-3-Clause", - "author": "Paul Boocock", - "sideEffects": false, - "main": "./dist/index.umd.js", - "module": "./dist/index.module.js", - "types": "./dist/index.module.d.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "rollup -c --silent --failAfterWarnings", - "test": "jest" - }, - "dependencies": { - "@snowplow/browser-tracker-core": "workspace:*", - "tslib": "^2.3.1" - }, - "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", - "@rollup/plugin-commonjs": "~21.0.2", - "@rollup/plugin-node-resolve": "~13.1.3", - "@snowplow/tracker-core": "workspace:*", - "@types/jest": "~27.4.1", - "@types/jsdom": "~16.2.14", - "@typescript-eslint/eslint-plugin": "~5.15.0", - "@typescript-eslint/parser": "~5.15.0", - "eslint": "~8.11.0", - "jest": "~27.5.1", - "jest-environment-jsdom": "~27.5.1", - "jest-environment-jsdom-global": "~3.0.0", - "jest-standard-reporter": "~2.0.0", - "rollup": "~2.70.1", - "rollup-plugin-cleanup": "~3.2.1", - "rollup-plugin-license": "~2.6.1", - "rollup-plugin-terser": "~7.0.2", - "rollup-plugin-ts": "~2.0.5", - "ts-jest": "~27.1.3", - "typescript": "~4.6.2" - }, - "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.6" - } -} diff --git a/plugins/browser-plugin-browser-features/rollup.config.js b/plugins/browser-plugin-browser-features/rollup.config.js deleted file mode 100644 index 74acf7118..000000000 --- a/plugins/browser-plugin-browser-features/rollup.config.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { nodeResolve } from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import ts from 'rollup-plugin-ts'; // Prefered over @rollup/plugin-typescript as it bundles .d.ts files -import { banner } from '../../banner'; -import compiler from '@ampproject/rollup-plugin-closure-compiler'; -import { terser } from 'rollup-plugin-terser'; -import cleanup from 'rollup-plugin-cleanup'; -import pkg from './package.json'; -import { builtinModules } from 'module'; - -const umdPlugins = [nodeResolve({ browser: true }), commonjs(), ts()]; -const umdName = 'snowplowBrowserFeatures'; - -export default [ - // CommonJS (for Node) and ES module (for bundlers) build. - { - input: './src/index.ts', - plugins: [...umdPlugins, banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main, format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - plugins: [...umdPlugins, compiler(), terser(), cleanup({ comments: 'none' }), banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main.replace('.js', '.min.js'), format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - external: [...builtinModules, ...Object.keys(pkg.dependencies), ...Object.keys(pkg.devDependencies)], - plugins: [ - ts(), // so Rollup can convert TypeScript to JavaScript - banner(), - ], - output: [{ file: pkg.module, format: 'es', sourcemap: true }], - }, -]; diff --git a/plugins/browser-plugin-browser-features/src/index.ts b/plugins/browser-plugin-browser-features/src/index.ts deleted file mode 100644 index 2467dad8e..000000000 --- a/plugins/browser-plugin-browser-features/src/index.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { isFunction, BrowserPlugin, BrowserTracker } from '@snowplow/browser-tracker-core'; - -declare global { - interface MimeTypeArray { - [index: string]: MimeType; - } -} - -const pluginMap: Record = { - // document types - pdf: 'application/pdf', - - // media players - qt: 'video/quicktime', - realp: 'audio/x-pn-realaudio-plugin', - wma: 'application/x-mplayer2', - - // interactive multimedia - dir: 'application/x-director', - fla: 'application/x-shockwave-flash', - - // RIA - java: 'application/x-java-vm', - gears: 'application/x-googlegears', - ag: 'application/x-silverlight', -}; - -/** - * Adds the available MIME Types to each event - */ -export function BrowserFeaturesPlugin(): BrowserPlugin { - return { - activateBrowserPlugin: (tracker: BrowserTracker) => { - const navigatorAlias = navigator; - // General plugin detection - if (navigatorAlias.mimeTypes && navigatorAlias.mimeTypes.length) { - for (const i in pluginMap) { - if (Object.prototype.hasOwnProperty.call(pluginMap, i)) { - let mimeType = navigatorAlias.mimeTypes[pluginMap[i]]; - if (mimeType) { - tracker.core.addPayloadPair('f_' + i, mimeType.enabledPlugin ? '1' : '0'); - } - } - } - } - - // Firefox - if (isFunction((window as any).GearsFactory)) { - tracker.core.addPayloadPair('f_gears', '1'); - } - }, - }; -} diff --git a/plugins/browser-plugin-browser-features/test/browser_features.test.ts b/plugins/browser-plugin-browser-features/test/browser_features.test.ts deleted file mode 100644 index 88b76dfc3..000000000 --- a/plugins/browser-plugin-browser-features/test/browser_features.test.ts +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { BrowserTracker } from '@snowplow/browser-tracker-core'; -import { buildLinkClick, trackerCore } from '@snowplow/tracker-core'; -import { JSDOM } from 'jsdom'; -import { BrowserFeaturesPlugin } from '../src/index'; - -declare var jsdom: JSDOM; - -describe('Browser Features plugin', () => { - it('Returns undefined or false for unavailable mimeTypes', (done) => { - Object.defineProperty(jsdom.window.navigator, 'mimeTypes', { - value: { - 'application/pdf': { enabledPlugin: false }, - length: 1, - }, - configurable: true, - }); - - const core = trackerCore({ - base64: false, - callback: (payloadBuilder) => { - const payload = payloadBuilder.build(); - expect(payload['f_pdf']).toBe('0'); - expect(payload['f_qt']).toBeUndefined(); - done(); - }, - }); - - BrowserFeaturesPlugin().activateBrowserPlugin?.({ core } as BrowserTracker); - core.track(buildLinkClick({ targetUrl: 'https://example.com' })); - }); - - it('Returns values for available mimeTypes', (done) => { - Object.defineProperty(jsdom.window.navigator, 'mimeTypes', { - value: { - 'application/pdf': { enabledPlugin: true }, - 'video/quicktime': { enabledPlugin: true }, - 'audio/x-pn-realaudio-plugin': { enabledPlugin: true }, - 'application/x-mplayer2': { enabledPlugin: true }, - 'application/x-director': { enabledPlugin: true }, - 'application/x-shockwave-flash': { enabledPlugin: true }, - 'application/x-java-vm': { enabledPlugin: true }, - 'application/x-googlegears': { enabledPlugin: true }, - 'application/x-silverlight': { enabledPlugin: true }, - length: 9, - }, - configurable: true, - }); - - const core = trackerCore({ - base64: false, - callback: (payloadBuilder) => { - const payload = payloadBuilder.build(); - expect(payload['f_pdf']).toBe('1'); - expect(payload['f_qt']).toBe('1'); - expect(payload['f_realp']).toBe('1'); - expect(payload['f_wma']).toBe('1'); - expect(payload['f_dir']).toBe('1'); - expect(payload['f_fla']).toBe('1'); - expect(payload['f_java']).toBe('1'); - expect(payload['f_gears']).toBe('1'); - expect(payload['f_ag']).toBe('1'); - done(); - }, - }); - - BrowserFeaturesPlugin().activateBrowserPlugin?.({ core } as BrowserTracker); - core.track(buildLinkClick({ targetUrl: 'https://example.com' })); - }); -}); diff --git a/plugins/browser-plugin-browser-features/tsconfig.json b/plugins/browser-plugin-browser-features/tsconfig.json deleted file mode 100644 index 4082f16a5..000000000 --- a/plugins/browser-plugin-browser-features/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} diff --git a/plugins/browser-plugin-consent/CHANGELOG.json b/plugins/browser-plugin-consent/CHANGELOG.json deleted file mode 100644 index b9cbec269..000000000 --- a/plugins/browser-plugin-consent/CHANGELOG.json +++ /dev/null @@ -1,422 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-consent", - "entries": [ - { - "version": "3.24.6", - "tag": "@snowplow/browser-plugin-consent_v3.24.6", - "date": "Mon, 28 Oct 2024 10:23:28 GMT", - "comments": {} - }, - { - "version": "3.24.5", - "tag": "@snowplow/browser-plugin-consent_v3.24.5", - "date": "Fri, 25 Oct 2024 08:53:04 GMT", - "comments": {} - }, - { - "version": "3.24.4", - "tag": "@snowplow/browser-plugin-consent_v3.24.4", - "date": "Thu, 26 Sep 2024 06:10:22 GMT", - "comments": {} - }, - { - "version": "3.24.3", - "tag": "@snowplow/browser-plugin-consent_v3.24.3", - "date": "Tue, 03 Sep 2024 08:15:14 GMT", - "comments": { - "none": [ - { - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" - } - ] - } - }, - { - "version": "3.24.2", - "tag": "@snowplow/browser-plugin-consent_v3.24.2", - "date": "Wed, 24 Jul 2024 08:59:00 GMT", - "comments": {} - }, - { - "version": "3.24.1", - "tag": "@snowplow/browser-plugin-consent_v3.24.1", - "date": "Tue, 02 Jul 2024 07:08:17 GMT", - "comments": {} - }, - { - "version": "3.24.0", - "tag": "@snowplow/browser-plugin-consent_v3.24.0", - "date": "Tue, 25 Jun 2024 08:31:05 GMT", - "comments": {} - }, - { - "version": "3.23.1", - "tag": "@snowplow/browser-plugin-consent_v3.23.1", - "date": "Tue, 04 Jun 2024 13:34:45 GMT", - "comments": {} - }, - { - "version": "3.23.0", - "tag": "@snowplow/browser-plugin-consent_v3.23.0", - "date": "Thu, 28 Mar 2024 11:28:45 GMT", - "comments": {} - }, - { - "version": "3.22.1", - "tag": "@snowplow/browser-plugin-consent_v3.22.1", - "date": "Wed, 13 Mar 2024 08:39:48 GMT", - "comments": {} - }, - { - "version": "3.22.0", - "tag": "@snowplow/browser-plugin-consent_v3.22.0", - "date": "Fri, 08 Mar 2024 08:13:04 GMT", - "comments": {} - }, - { - "version": "3.21.0", - "tag": "@snowplow/browser-plugin-consent_v3.21.0", - "date": "Mon, 29 Jan 2024 08:34:06 GMT", - "comments": {} - }, - { - "version": "3.20.0", - "tag": "@snowplow/browser-plugin-consent_v3.20.0", - "date": "Mon, 15 Jan 2024 14:41:16 GMT", - "comments": {} - }, - { - "version": "3.19.0", - "tag": "@snowplow/browser-plugin-consent_v3.19.0", - "date": "Thu, 14 Dec 2023 10:45:22 GMT", - "comments": {} - }, - { - "version": "3.18.0", - "tag": "@snowplow/browser-plugin-consent_v3.18.0", - "date": "Mon, 04 Dec 2023 13:44:02 GMT", - "comments": {} - }, - { - "version": "3.17.0", - "tag": "@snowplow/browser-plugin-consent_v3.17.0", - "date": "Tue, 14 Nov 2023 17:58:26 GMT", - "comments": {} - }, - { - "version": "3.16.0", - "tag": "@snowplow/browser-plugin-consent_v3.16.0", - "date": "Mon, 16 Oct 2023 14:58:08 GMT", - "comments": {} - }, - { - "version": "3.15.0", - "tag": "@snowplow/browser-plugin-consent_v3.15.0", - "date": "Mon, 28 Aug 2023 14:25:14 GMT", - "comments": {} - }, - { - "version": "3.14.0", - "tag": "@snowplow/browser-plugin-consent_v3.14.0", - "date": "Thu, 10 Aug 2023 13:56:44 GMT", - "comments": {} - }, - { - "version": "3.13.1", - "tag": "@snowplow/browser-plugin-consent_v3.13.1", - "date": "Thu, 29 Jun 2023 14:20:06 GMT", - "comments": {} - }, - { - "version": "3.13.0", - "tag": "@snowplow/browser-plugin-consent_v3.13.0", - "date": "Tue, 20 Jun 2023 07:44:23 GMT", - "comments": {} - }, - { - "version": "3.12.1", - "tag": "@snowplow/browser-plugin-consent_v3.12.1", - "date": "Thu, 15 Jun 2023 10:05:37 GMT", - "comments": {} - }, - { - "version": "3.12.0", - "tag": "@snowplow/browser-plugin-consent_v3.12.0", - "date": "Mon, 05 Jun 2023 11:51:22 GMT", - "comments": {} - }, - { - "version": "3.11.0", - "tag": "@snowplow/browser-plugin-consent_v3.11.0", - "date": "Wed, 24 May 2023 15:56:17 GMT", - "comments": {} - }, - { - "version": "3.10.1", - "tag": "@snowplow/browser-plugin-consent_v3.10.1", - "date": "Fri, 12 May 2023 06:59:31 GMT", - "comments": {} - }, - { - "version": "3.10.0", - "tag": "@snowplow/browser-plugin-consent_v3.10.0", - "date": "Thu, 11 May 2023 08:29:15 GMT", - "comments": {} - }, - { - "version": "3.9.0", - "tag": "@snowplow/browser-plugin-consent_v3.9.0", - "date": "Thu, 30 Mar 2023 13:46:56 GMT", - "comments": {} - }, - { - "version": "3.8.0", - "tag": "@snowplow/browser-plugin-consent_v3.8.0", - "date": "Tue, 03 Jan 2023 15:36:33 GMT", - "comments": {} - }, - { - "version": "3.7.0", - "tag": "@snowplow/browser-plugin-consent_v3.7.0", - "date": "Mon, 31 Oct 2022 06:26:28 GMT", - "comments": {} - }, - { - "version": "3.6.0", - "tag": "@snowplow/browser-plugin-consent_v3.6.0", - "date": "Thu, 15 Sep 2022 07:55:20 GMT", - "comments": {} - }, - { - "version": "3.5.0", - "tag": "@snowplow/browser-plugin-consent_v3.5.0", - "date": "Fri, 10 Jun 2022 18:57:46 GMT", - "comments": {} - }, - { - "version": "3.4.0", - "tag": "@snowplow/browser-plugin-consent_v3.4.0", - "date": "Thu, 07 Apr 2022 11:56:26 GMT", - "comments": { - "none": [ - { - "comment": "Bump dependencies (#1067)" - } - ] - } - }, - { - "version": "3.3.1", - "tag": "@snowplow/browser-plugin-consent_v3.3.1", - "date": "Wed, 23 Feb 2022 19:27:40 GMT", - "comments": {} - }, - { - "version": "3.3.0", - "tag": "@snowplow/browser-plugin-consent_v3.3.0", - "date": "Mon, 31 Jan 2022 15:58:10 GMT", - "comments": {} - }, - { - "version": "3.2.3", - "tag": "@snowplow/browser-plugin-consent_v3.2.3", - "date": "Tue, 18 Jan 2022 16:23:52 GMT", - "comments": { - "none": [ - { - "comment": "Bump Copyright to 2022 (#1040)" - } - ] - } - }, - { - "version": "3.2.2", - "tag": "@snowplow/browser-plugin-consent_v3.2.2", - "date": "Fri, 14 Jan 2022 10:17:59 GMT", - "comments": {} - }, - { - "version": "3.2.1", - "tag": "@snowplow/browser-plugin-consent_v3.2.1", - "date": "Wed, 12 Jan 2022 09:50:29 GMT", - "comments": {} - }, - { - "version": "3.2.0", - "tag": "@snowplow/browser-plugin-consent_v3.2.0", - "date": "Tue, 11 Jan 2022 12:53:22 GMT", - "comments": {} - }, - { - "version": "3.1.6", - "tag": "@snowplow/browser-plugin-consent_v3.1.6", - "date": "Tue, 19 Oct 2021 09:17:22 GMT", - "comments": { - "none": [ - { - "comment": "Fix failing build on ARM Macs (#1012)" - } - ] - } - }, - { - "version": "3.1.5", - "tag": "@snowplow/browser-plugin-consent_v3.1.5", - "date": "Fri, 01 Oct 2021 08:09:20 GMT", - "comments": {} - }, - { - "version": "3.1.4", - "tag": "@snowplow/browser-plugin-consent_v3.1.4", - "date": "Tue, 21 Sep 2021 14:59:36 GMT", - "comments": {} - }, - { - "version": "3.1.3", - "tag": "@snowplow/browser-plugin-consent_v3.1.3", - "date": "Mon, 23 Aug 2021 10:13:18 GMT", - "comments": {} - }, - { - "version": "3.1.2", - "tag": "@snowplow/browser-plugin-consent_v3.1.2", - "date": "Mon, 16 Aug 2021 12:59:59 GMT", - "comments": { - "none": [ - { - "comment": "Update READMEs with correct Node requirements (#994)" - } - ] - } - }, - { - "version": "3.1.1", - "tag": "@snowplow/browser-plugin-consent_v3.1.1", - "date": "Wed, 04 Aug 2021 10:12:25 GMT", - "comments": { - "none": [ - { - "comment": "Bump tslib to 2.3.0 (#986)" - }, - { - "comment": "Bump typescript to 4.3.5 (#987)" - }, - { - "comment": "Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988)" - } - ] - } - }, - { - "version": "3.1.0", - "tag": "@snowplow/browser-plugin-consent_v3.1.0", - "date": "Fri, 14 May 2021 10:45:32 GMT", - "comments": {} - }, - { - "version": "3.0.3", - "tag": "@snowplow/browser-plugin-consent_v3.0.3", - "date": "Wed, 21 Apr 2021 12:35:06 GMT", - "comments": {} - }, - { - "version": "3.0.2", - "tag": "@snowplow/browser-plugin-consent_v3.0.2", - "date": "Thu, 15 Apr 2021 21:07:39 GMT", - "comments": {} - }, - { - "version": "3.0.1", - "tag": "@snowplow/browser-plugin-consent_v3.0.1", - "date": "Wed, 14 Apr 2021 16:30:05 GMT", - "comments": { - "none": [ - { - "comment": "Add peerDependencies to plugins (#950)" - }, - { - "comment": "Mark packages as sideEffect: false (#951)" - }, - { - "comment": "Add unit tests to plugin track* functions (#954)" - } - ] - } - }, - { - "version": "3.0.0", - "tag": "@snowplow/browser-plugin-consent_v3.0.0", - "date": "Wed, 31 Mar 2021 14:46:47 GMT", - "comments": { - "none": [ - { - "comment": "Add debug mode (#381)" - }, - { - "comment": "Bump rollup to 2.41 (#916)" - }, - { - "comment": "Publish UMD versions of plugins to GitHub release (#923)" - }, - { - "comment": "Ensure browser-tracker API methods catch exceptions (#919)" - }, - { - "comment": "Introduce TSDoc comments and extract interfaces where appropriate (#906)" - }, - { - "comment": "Bump major version to v3 and update READMEs (#904)" - }, - { - "comment": "Improve Core API for module bundlers which support treeshaking (#903)" - }, - { - "comment": "Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901)" - }, - { - "comment": "Publish lite version of sp.js (#900)" - }, - { - "comment": "Ensure correct 3-Clause BSD License notices are being used (#316)" - }, - { - "comment": "Improve API for module bundlers which support treeshaking (#899)" - }, - { - "comment": "Bump rush to 5.39 (#895)" - }, - { - "comment": "Port to TypeScript (#72)" - }, - { - "comment": "Make sp.js build process modular (#450)" - }, - { - "comment": "Create @snowplow/browser-tracker package for npm distribution (#541)" - }, - { - "comment": "Split auto contexts into plugins (#880)" - }, - { - "comment": "Add rush to manage monorepo (#883)" - }, - { - "comment": "Add ES Module builds (#882)" - }, - { - "comment": "Cleanup deprecated methods (#557)" - }, - { - "comment": "Update publishing process for rush (#907)" - }, - { - "comment": "Change white and black lists to allow and deny lists (#908)" - }, - { - "comment": "Create rush change files for major version 3 release (#909)" - } - ] - } - } - ] -} diff --git a/plugins/browser-plugin-consent/CHANGELOG.md b/plugins/browser-plugin-consent/CHANGELOG.md deleted file mode 100644 index 6fb2387e0..000000000 --- a/plugins/browser-plugin-consent/CHANGELOG.md +++ /dev/null @@ -1,290 +0,0 @@ -# Change Log - @snowplow/browser-plugin-consent - -This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. - -## 3.24.6 -Mon, 28 Oct 2024 10:23:28 GMT - -_Version update only_ - -## 3.24.5 -Fri, 25 Oct 2024 08:53:04 GMT - -_Version update only_ - -## 3.24.4 -Thu, 26 Sep 2024 06:10:22 GMT - -_Version update only_ - -## 3.24.3 -Tue, 03 Sep 2024 08:15:14 GMT - -### Updates - -- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush - -## 3.24.2 -Wed, 24 Jul 2024 08:59:00 GMT - -_Version update only_ - -## 3.24.1 -Tue, 02 Jul 2024 07:08:17 GMT - -_Version update only_ - -## 3.24.0 -Tue, 25 Jun 2024 08:31:05 GMT - -_Version update only_ - -## 3.23.1 -Tue, 04 Jun 2024 13:34:45 GMT - -_Version update only_ - -## 3.23.0 -Thu, 28 Mar 2024 11:28:45 GMT - -_Version update only_ - -## 3.22.1 -Wed, 13 Mar 2024 08:39:48 GMT - -_Version update only_ - -## 3.22.0 -Fri, 08 Mar 2024 08:13:04 GMT - -_Version update only_ - -## 3.21.0 -Mon, 29 Jan 2024 08:34:06 GMT - -_Version update only_ - -## 3.20.0 -Mon, 15 Jan 2024 14:41:16 GMT - -_Version update only_ - -## 3.19.0 -Thu, 14 Dec 2023 10:45:22 GMT - -_Version update only_ - -## 3.18.0 -Mon, 04 Dec 2023 13:44:02 GMT - -_Version update only_ - -## 3.17.0 -Tue, 14 Nov 2023 17:58:26 GMT - -_Version update only_ - -## 3.16.0 -Mon, 16 Oct 2023 14:58:08 GMT - -_Version update only_ - -## 3.15.0 -Mon, 28 Aug 2023 14:25:14 GMT - -_Version update only_ - -## 3.14.0 -Thu, 10 Aug 2023 13:56:44 GMT - -_Version update only_ - -## 3.13.1 -Thu, 29 Jun 2023 14:20:06 GMT - -_Version update only_ - -## 3.13.0 -Tue, 20 Jun 2023 07:44:23 GMT - -_Version update only_ - -## 3.12.1 -Thu, 15 Jun 2023 10:05:37 GMT - -_Version update only_ - -## 3.12.0 -Mon, 05 Jun 2023 11:51:22 GMT - -_Version update only_ - -## 3.11.0 -Wed, 24 May 2023 15:56:17 GMT - -_Version update only_ - -## 3.10.1 -Fri, 12 May 2023 06:59:31 GMT - -_Version update only_ - -## 3.10.0 -Thu, 11 May 2023 08:29:15 GMT - -_Version update only_ - -## 3.9.0 -Thu, 30 Mar 2023 13:46:56 GMT - -_Version update only_ - -## 3.8.0 -Tue, 03 Jan 2023 15:36:33 GMT - -_Version update only_ - -## 3.7.0 -Mon, 31 Oct 2022 06:26:28 GMT - -_Version update only_ - -## 3.6.0 -Thu, 15 Sep 2022 07:55:20 GMT - -_Version update only_ - -## 3.5.0 -Fri, 10 Jun 2022 18:57:46 GMT - -_Version update only_ - -## 3.4.0 -Thu, 07 Apr 2022 11:56:26 GMT - -### Updates - -- Bump dependencies (#1067) - -## 3.3.1 -Wed, 23 Feb 2022 19:27:40 GMT - -_Version update only_ - -## 3.3.0 -Mon, 31 Jan 2022 15:58:10 GMT - -_Version update only_ - -## 3.2.3 -Tue, 18 Jan 2022 16:23:52 GMT - -### Updates - -- Bump Copyright to 2022 (#1040) - -## 3.2.2 -Fri, 14 Jan 2022 10:17:59 GMT - -_Version update only_ - -## 3.2.1 -Wed, 12 Jan 2022 09:50:29 GMT - -_Version update only_ - -## 3.2.0 -Tue, 11 Jan 2022 12:53:22 GMT - -_Version update only_ - -## 3.1.6 -Tue, 19 Oct 2021 09:17:22 GMT - -### Updates - -- Fix failing build on ARM Macs (#1012) - -## 3.1.5 -Fri, 01 Oct 2021 08:09:20 GMT - -_Version update only_ - -## 3.1.4 -Tue, 21 Sep 2021 14:59:36 GMT - -_Version update only_ - -## 3.1.3 -Mon, 23 Aug 2021 10:13:18 GMT - -_Version update only_ - -## 3.1.2 -Mon, 16 Aug 2021 12:59:59 GMT - -### Updates - -- Update READMEs with correct Node requirements (#994) - -## 3.1.1 -Wed, 04 Aug 2021 10:12:25 GMT - -### Updates - -- Bump tslib to 2.3.0 (#986) -- Bump typescript to 4.3.5 (#987) -- Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988) - -## 3.1.0 -Fri, 14 May 2021 10:45:32 GMT - -_Version update only_ - -## 3.0.3 -Wed, 21 Apr 2021 12:35:06 GMT - -_Version update only_ - -## 3.0.2 -Thu, 15 Apr 2021 21:07:39 GMT - -_Version update only_ - -## 3.0.1 -Wed, 14 Apr 2021 16:30:05 GMT - -### Updates - -- Add peerDependencies to plugins (#950) -- Mark packages as sideEffect: false (#951) -- Add unit tests to plugin track* functions (#954) - -## 3.0.0 -Wed, 31 Mar 2021 14:46:47 GMT - -### Updates - -- Add debug mode (#381) -- Bump rollup to 2.41 (#916) -- Publish UMD versions of plugins to GitHub release (#923) -- Ensure browser-tracker API methods catch exceptions (#919) -- Introduce TSDoc comments and extract interfaces where appropriate (#906) -- Bump major version to v3 and update READMEs (#904) -- Improve Core API for module bundlers which support treeshaking (#903) -- Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901) -- Publish lite version of sp.js (#900) -- Ensure correct 3-Clause BSD License notices are being used (#316) -- Improve API for module bundlers which support treeshaking (#899) -- Bump rush to 5.39 (#895) -- Port to TypeScript (#72) -- Make sp.js build process modular (#450) -- Create @snowplow/browser-tracker package for npm distribution (#541) -- Split auto contexts into plugins (#880) -- Add rush to manage monorepo (#883) -- Add ES Module builds (#882) -- Cleanup deprecated methods (#557) -- Update publishing process for rush (#907) -- Change white and black lists to allow and deny lists (#908) -- Create rush change files for major version 3 release (#909) - diff --git a/plugins/browser-plugin-consent/LICENSE b/plugins/browser-plugin-consent/LICENSE deleted file mode 100644 index 76f1946ea..000000000 --- a/plugins/browser-plugin-consent/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/plugins/browser-plugin-consent/README.md b/plugins/browser-plugin-consent/README.md deleted file mode 100644 index 06a74411f..000000000 --- a/plugins/browser-plugin-consent/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# Snowplow Consent Tracking - -[![npm version][npm-image]][npm-url] -[![License][license-image]](LICENSE) - -

⚠️ This package is deprecated, please use @snowplow/browser-plugin-enhanced-consent instead. ⚠️

- ---- - -Browser Plugin to be used with `@snowplow/browser-tracker`. - -Adds consent information to your Snowplow tracking. - -## Maintainer quick start - -Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). - -### Setup repository - -```bash -npm install -g @microsoft/rush -git clone https://github.com/snowplow/snowplow-javascript-tracker.git -rush update -``` - -## Package Installation - -With npm: - -```bash -npm install @snowplow/browser-plugin-consent -``` - -## Usage - -Initialize your tracker with the ConsentPlugin: - -```js -import { newTracker } from '@snowplow/browser-tracker'; -import { ConsentPlugin } from '@snowplow/browser-plugin-consent'; - -newTracker('sp1', '{{collector}}', { plugins: [ ConsentPlugin() ] }); // Also stores reference at module level -``` - -Then use the available functions from this package to track to all trackers which have been initialized with this plugin: - -```js -import { enableGdprContext, trackConsentGranted } from '@snowplow/browser-plugin-consent'; - -enableGdprContext({ basisForProcessing: 'consent' }); -trackConsentGranted({ id: '123-456', version: '1' }); -``` - -## Copyright and license - -Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang. - -All rights reserved. - -[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-consent -[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-consent -[docs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-tracker/ -[osi]: https://opensource.org/licenses/BSD-3-Clause -[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-consent diff --git a/plugins/browser-plugin-consent/jest.config.js b/plugins/browser-plugin-consent/jest.config.js deleted file mode 100644 index 87d15da9b..000000000 --- a/plugins/browser-plugin-consent/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - preset: 'ts-jest', - reporters: ['jest-standard-reporter'], - setupFilesAfterEnv: ['../../setupTestGlobals.ts'], - testEnvironment: 'jest-environment-jsdom-global', -}; diff --git a/plugins/browser-plugin-consent/package.json b/plugins/browser-plugin-consent/package.json deleted file mode 100644 index b2f388044..000000000 --- a/plugins/browser-plugin-consent/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-consent", - "version": "3.24.6", - "description": "Consent and GDPR data for Snowplow events", - "homepage": "http://bit.ly/sp-js", - "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", - "repository": { - "type": "git", - "url": "https://github.com/snowplow/snowplow-javascript-tracker.git" - }, - "license": "BSD-3-Clause", - "author": "Paul Boocock", - "sideEffects": false, - "main": "./dist/index.umd.js", - "module": "./dist/index.module.js", - "types": "./dist/index.module.d.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "rollup -c --silent --failAfterWarnings", - "test": "jest" - }, - "dependencies": { - "@snowplow/browser-tracker-core": "workspace:*", - "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.1" - }, - "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", - "@rollup/plugin-commonjs": "~21.0.2", - "@rollup/plugin-node-resolve": "~13.1.3", - "@types/jest": "~27.4.1", - "@types/jsdom": "~16.2.14", - "@types/lodash": "~4.14.180", - "@typescript-eslint/eslint-plugin": "~5.15.0", - "@typescript-eslint/parser": "~5.15.0", - "eslint": "~8.11.0", - "jest": "~27.5.1", - "jest-environment-jsdom": "~27.5.1", - "jest-environment-jsdom-global": "~3.0.0", - "jest-standard-reporter": "~2.0.0", - "lodash": "~4.17.21", - "rollup": "~2.70.1", - "rollup-plugin-cleanup": "~3.2.1", - "rollup-plugin-license": "~2.6.1", - "rollup-plugin-terser": "~7.0.2", - "rollup-plugin-ts": "~2.0.5", - "ts-jest": "~27.1.3", - "typescript": "~4.6.2" - }, - "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.6" - } -} diff --git a/plugins/browser-plugin-consent/rollup.config.js b/plugins/browser-plugin-consent/rollup.config.js deleted file mode 100644 index 827996cc8..000000000 --- a/plugins/browser-plugin-consent/rollup.config.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { nodeResolve } from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import ts from 'rollup-plugin-ts'; // Prefered over @rollup/plugin-typescript as it bundles .d.ts files -import { banner } from '../../banner'; -import compiler from '@ampproject/rollup-plugin-closure-compiler'; -import { terser } from 'rollup-plugin-terser'; -import cleanup from 'rollup-plugin-cleanup'; -import pkg from './package.json'; -import { builtinModules } from 'module'; - -const umdPlugins = [nodeResolve({ browser: true }), commonjs(), ts()]; -const umdName = 'snowplowConsent'; - -export default [ - // CommonJS (for Node) and ES module (for bundlers) build. - { - input: './src/index.ts', - plugins: [...umdPlugins, banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main, format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - plugins: [...umdPlugins, compiler(), terser(), cleanup({ comments: 'none' }), banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main.replace('.js', '.min.js'), format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - external: [...builtinModules, ...Object.keys(pkg.dependencies), ...Object.keys(pkg.devDependencies)], - plugins: [ - ts(), // so Rollup can convert TypeScript to JavaScript - banner(), - ], - output: [{ file: pkg.module, format: 'es', sourcemap: true }], - }, -]; diff --git a/plugins/browser-plugin-consent/src/contexts.ts b/plugins/browser-plugin-consent/src/contexts.ts deleted file mode 100644 index 46c82c3fb..000000000 --- a/plugins/browser-plugin-consent/src/contexts.ts +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * Schema for a web page context - */ -export interface Gdpr { - /** - * GDPR basis for data collection & processing - */ - basisForProcessing: - | 'consent' - | 'contract' - | 'legal_obligation' - | 'vital_interests' - | 'public_task' - | 'legitimate_interests'; - /** - * ID for document detailing basis for processing - */ - documentId?: string | null; - /** - * Version of document detailing basis for processing - */ - documentVersion?: string | null; - /** - * Description of document detailing basis for processing - */ - documentDescription?: string | null; - [key: string]: unknown; -} diff --git a/plugins/browser-plugin-consent/src/index.ts b/plugins/browser-plugin-consent/src/index.ts deleted file mode 100644 index e568f653d..000000000 --- a/plugins/browser-plugin-consent/src/index.ts +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { BrowserPlugin, BrowserTracker, dispatchToTrackersInCollection } from '@snowplow/browser-tracker-core'; -import { - buildConsentGranted, - buildConsentWithdrawn, - CommonEventProperties, - ConsentGrantedEvent, - ConsentWithdrawnEvent, - Logger, -} from '@snowplow/tracker-core'; -import { Gdpr } from './contexts'; - -export { ConsentGrantedEvent, ConsentWithdrawnEvent }; - -export enum gdprBasis { - consent = 'consent', - contract = 'contract', - legalObligation = 'legal_obligation', - vitalInterests = 'vital_interests', - publicTask = 'public_task', - legitimateInterests = 'legitimate_interests', -} - -export type GdprBasis = keyof typeof gdprBasis; - -/** The Configuration for the GDPR Context */ -export interface GdprContextConfiguration { - /** The basis for why the document will be processed */ - basisForProcessing: GdprBasis; - /** An identifier for the document */ - documentId?: string; - /** The version of the document */ - documentVersion?: string; - /** A descrtiption of the document */ - documentDescription?: string; -} - -const _trackers: Record = {}; -const _context: Record = {}; -let LOG: Logger; - -/** - * The Consent Plugin - * - * Adds Consent Granted and Withdrawn events - * and the ability to add the GDPR context to events - */ -export function ConsentPlugin(): BrowserPlugin { - let trackerId: string; - - return { - activateBrowserPlugin: (tracker) => { - trackerId = tracker.id; - _trackers[tracker.id] = tracker; - }, - contexts: () => { - if (_context[trackerId]) { - return [ - { - schema: 'iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0', - data: _context[trackerId], - }, - ]; - } - - return []; - }, - logger: (logger) => { - LOG = logger; - }, - }; -} - -/** - * Enable the GDPR context for each event - * @param configuration - the configuration for the GDPR context - * @param trackers - The tracker identifiers which should have the GDPR context enabled - */ -export function enableGdprContext( - configuration: GdprContextConfiguration, - trackers: Array = Object.keys(_trackers) -) { - const { basisForProcessing, documentId, documentVersion, documentDescription } = configuration; - let basis = gdprBasis[basisForProcessing]; - - if (!basis) { - LOG.warn( - 'enableGdprContext: basisForProcessing must be one of: consent, contract, legalObligation, vitalInterests, publicTask, legitimateInterests' - ); - return; - } else { - trackers.forEach((t) => { - if (_trackers[t]) { - _context[t] = { - basisForProcessing: basis, - documentId: documentId ?? null, - documentVersion: documentVersion ?? null, - documentDescription: documentDescription ?? null, - }; - } - }); - } -} - -/** - * Track a consent granted action - * - * @param event - The event information - * @param trackers - The tracker identifiers which the event will be sent to - */ -export function trackConsentGranted( - event: ConsentGrantedEvent & CommonEventProperties, - trackers: Array = Object.keys(_trackers) -) { - dispatchToTrackersInCollection(trackers, _trackers, (t) => { - const builtEvent = buildConsentGranted(event); - t.core.track( - builtEvent.event, - event.context ? event.context.concat(builtEvent.context) : builtEvent.context, - event.timestamp - ); - }); -} - -/** - * Track a consent withdrawn action - * - * @param event - The event information - * @param trackers - The tracker identifiers which the event will be sent to - */ -export function trackConsentWithdrawn( - event: ConsentWithdrawnEvent & CommonEventProperties, - trackers: Array = Object.keys(_trackers) -) { - dispatchToTrackersInCollection(trackers, _trackers, (t) => { - const builtEvent = buildConsentWithdrawn(event); - t.core.track( - builtEvent.event, - event.context ? event.context.concat(builtEvent.context) : builtEvent.context, - event.timestamp - ); - }); -} diff --git a/plugins/browser-plugin-consent/test/events.test.ts b/plugins/browser-plugin-consent/test/events.test.ts deleted file mode 100644 index 08228fd04..000000000 --- a/plugins/browser-plugin-consent/test/events.test.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { addTracker, SharedState } from '@snowplow/browser-tracker-core'; -import F from 'lodash/fp'; -import { ConsentPlugin, trackConsentWithdrawn, trackConsentGranted, enableGdprContext } from '../src'; -import { newInMemoryEventStore } from '@snowplow/tracker-core'; - -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); -const extractEventContext = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('co'))); -const extractUeEvent = (schema: string) => { - return { - from: F.compose( - F.first, - F.filter(F.compose(F.eq(schema), F.get('schema'))), - F.flatten, - extractEventProperties, - getUEEvents - ), - }; -}; -const extractContext = (schema: string) => { - return { - from: F.compose( - F.first, - F.filter(F.compose(F.eq(schema), F.get('schema'))), - F.flatten, - extractEventContext, - getUEEvents - ), - }; -}; - -describe('AdTrackingPlugin', () => { - const eventStore1 = newInMemoryEventStore({}); - const eventStore2 = newInMemoryEventStore({}); - const state = new SharedState(); - const customFetch = async () => new Response(null, { status: 500 }); - - addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { - stateStorageStrategy: 'cookie', - encodeBase64: false, - plugins: [ConsentPlugin()], - customFetch, - eventStore: eventStore1, - }); - addTracker('sp2', 'sp2', 'js-3.0.0', '', state, { - stateStorageStrategy: 'cookie', - encodeBase64: false, - plugins: [ConsentPlugin()], - customFetch, - eventStore: eventStore2, - }); - - enableGdprContext({ - basisForProcessing: 'legalObligation', - documentDescription: 'doc-desc-1', - documentId: 'doc-id-1', - documentVersion: 'doc-ver-1', - }); - - trackConsentWithdrawn( - { - all: true, - description: 'desc-1', - id: 'id-1', - name: 'name-1', - version: '1.1.0', - }, - ['sp1'] - ); - - trackConsentGranted( - { - description: 'desc-2', - id: 'id-2', - name: 'name-2', - version: '1.2.0', - expiry: '2020-01-01T00:00:00Z', - }, - ['sp2'] - ); - - it('trackConsentWithdrawn adds the expected consent withdrawn event to the queue', async () => { - expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0').from( - await eventStore1.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0', - data: { - all: true, - }, - }); - - expect( - extractContext('iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0').from( - await eventStore1.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', - data: { - description: 'desc-1', - id: 'id-1', - name: 'name-1', - version: '1.1.0', - }, - }); - }); - - it('trackConsentGranted adds the expected consent granted event to the queue', async () => { - expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0').from( - await eventStore2.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0', - data: { - expiry: '2020-01-01T00:00:00Z', - }, - }); - - expect( - extractContext('iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0').from( - await eventStore2.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', - data: { - description: 'desc-2', - id: 'id-2', - name: 'name-2', - version: '1.2.0', - }, - }); - }); - - it('events contain the GDPR context', async () => { - expect( - extractContext('iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0').from( - await eventStore1.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0', - data: { - basisForProcessing: 'legal_obligation', - documentDescription: 'doc-desc-1', - documentId: 'doc-id-1', - documentVersion: 'doc-ver-1', - }, - }); - - expect( - extractContext('iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0').from( - await eventStore2.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0', - data: { - basisForProcessing: 'legal_obligation', - documentDescription: 'doc-desc-1', - documentId: 'doc-id-1', - documentVersion: 'doc-ver-1', - }, - }); - }); -}); diff --git a/plugins/browser-plugin-consent/tsconfig.json b/plugins/browser-plugin-consent/tsconfig.json deleted file mode 100644 index 4082f16a5..000000000 --- a/plugins/browser-plugin-consent/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.json b/plugins/browser-plugin-ecommerce/CHANGELOG.json deleted file mode 100644 index 37f9d41e5..000000000 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.json +++ /dev/null @@ -1,422 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-ecommerce", - "entries": [ - { - "version": "3.24.6", - "tag": "@snowplow/browser-plugin-ecommerce_v3.24.6", - "date": "Mon, 28 Oct 2024 10:23:28 GMT", - "comments": {} - }, - { - "version": "3.24.5", - "tag": "@snowplow/browser-plugin-ecommerce_v3.24.5", - "date": "Fri, 25 Oct 2024 08:53:04 GMT", - "comments": {} - }, - { - "version": "3.24.4", - "tag": "@snowplow/browser-plugin-ecommerce_v3.24.4", - "date": "Thu, 26 Sep 2024 06:10:22 GMT", - "comments": {} - }, - { - "version": "3.24.3", - "tag": "@snowplow/browser-plugin-ecommerce_v3.24.3", - "date": "Tue, 03 Sep 2024 08:15:14 GMT", - "comments": { - "none": [ - { - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" - } - ] - } - }, - { - "version": "3.24.2", - "tag": "@snowplow/browser-plugin-ecommerce_v3.24.2", - "date": "Wed, 24 Jul 2024 08:59:00 GMT", - "comments": {} - }, - { - "version": "3.24.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.24.1", - "date": "Tue, 02 Jul 2024 07:08:17 GMT", - "comments": {} - }, - { - "version": "3.24.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.24.0", - "date": "Tue, 25 Jun 2024 08:31:05 GMT", - "comments": {} - }, - { - "version": "3.23.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.23.1", - "date": "Tue, 04 Jun 2024 13:34:45 GMT", - "comments": {} - }, - { - "version": "3.23.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.23.0", - "date": "Thu, 28 Mar 2024 11:28:45 GMT", - "comments": {} - }, - { - "version": "3.22.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.22.1", - "date": "Wed, 13 Mar 2024 08:39:48 GMT", - "comments": {} - }, - { - "version": "3.22.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.22.0", - "date": "Fri, 08 Mar 2024 08:13:04 GMT", - "comments": {} - }, - { - "version": "3.21.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.21.0", - "date": "Mon, 29 Jan 2024 08:34:06 GMT", - "comments": {} - }, - { - "version": "3.20.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.20.0", - "date": "Mon, 15 Jan 2024 14:41:16 GMT", - "comments": {} - }, - { - "version": "3.19.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.19.0", - "date": "Thu, 14 Dec 2023 10:45:22 GMT", - "comments": {} - }, - { - "version": "3.18.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.18.0", - "date": "Mon, 04 Dec 2023 13:44:02 GMT", - "comments": {} - }, - { - "version": "3.17.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.17.0", - "date": "Tue, 14 Nov 2023 17:58:26 GMT", - "comments": {} - }, - { - "version": "3.16.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.16.0", - "date": "Mon, 16 Oct 2023 14:58:08 GMT", - "comments": {} - }, - { - "version": "3.15.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.15.0", - "date": "Mon, 28 Aug 2023 14:25:14 GMT", - "comments": {} - }, - { - "version": "3.14.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.14.0", - "date": "Thu, 10 Aug 2023 13:56:44 GMT", - "comments": {} - }, - { - "version": "3.13.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.13.1", - "date": "Thu, 29 Jun 2023 14:20:06 GMT", - "comments": {} - }, - { - "version": "3.13.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.13.0", - "date": "Tue, 20 Jun 2023 07:44:23 GMT", - "comments": {} - }, - { - "version": "3.12.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.12.1", - "date": "Thu, 15 Jun 2023 10:05:37 GMT", - "comments": {} - }, - { - "version": "3.12.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.12.0", - "date": "Mon, 05 Jun 2023 11:51:22 GMT", - "comments": {} - }, - { - "version": "3.11.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.11.0", - "date": "Wed, 24 May 2023 15:56:17 GMT", - "comments": {} - }, - { - "version": "3.10.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.10.1", - "date": "Fri, 12 May 2023 06:59:31 GMT", - "comments": {} - }, - { - "version": "3.10.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.10.0", - "date": "Thu, 11 May 2023 08:29:15 GMT", - "comments": {} - }, - { - "version": "3.9.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.9.0", - "date": "Thu, 30 Mar 2023 13:46:56 GMT", - "comments": {} - }, - { - "version": "3.8.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.8.0", - "date": "Tue, 03 Jan 2023 15:36:33 GMT", - "comments": {} - }, - { - "version": "3.7.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.7.0", - "date": "Mon, 31 Oct 2022 06:26:28 GMT", - "comments": {} - }, - { - "version": "3.6.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.6.0", - "date": "Thu, 15 Sep 2022 07:55:20 GMT", - "comments": {} - }, - { - "version": "3.5.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.5.0", - "date": "Fri, 10 Jun 2022 18:57:46 GMT", - "comments": {} - }, - { - "version": "3.4.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.4.0", - "date": "Thu, 07 Apr 2022 11:56:26 GMT", - "comments": { - "none": [ - { - "comment": "Bump dependencies (#1067)" - } - ] - } - }, - { - "version": "3.3.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.3.1", - "date": "Wed, 23 Feb 2022 19:27:40 GMT", - "comments": {} - }, - { - "version": "3.3.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.3.0", - "date": "Mon, 31 Jan 2022 15:58:10 GMT", - "comments": {} - }, - { - "version": "3.2.3", - "tag": "@snowplow/browser-plugin-ecommerce_v3.2.3", - "date": "Tue, 18 Jan 2022 16:23:52 GMT", - "comments": { - "none": [ - { - "comment": "Bump Copyright to 2022 (#1040)" - } - ] - } - }, - { - "version": "3.2.2", - "tag": "@snowplow/browser-plugin-ecommerce_v3.2.2", - "date": "Fri, 14 Jan 2022 10:17:59 GMT", - "comments": {} - }, - { - "version": "3.2.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.2.1", - "date": "Wed, 12 Jan 2022 09:50:29 GMT", - "comments": {} - }, - { - "version": "3.2.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.2.0", - "date": "Tue, 11 Jan 2022 12:53:22 GMT", - "comments": {} - }, - { - "version": "3.1.6", - "tag": "@snowplow/browser-plugin-ecommerce_v3.1.6", - "date": "Tue, 19 Oct 2021 09:17:22 GMT", - "comments": { - "none": [ - { - "comment": "Fix failing build on ARM Macs (#1012)" - } - ] - } - }, - { - "version": "3.1.5", - "tag": "@snowplow/browser-plugin-ecommerce_v3.1.5", - "date": "Fri, 01 Oct 2021 08:09:21 GMT", - "comments": {} - }, - { - "version": "3.1.4", - "tag": "@snowplow/browser-plugin-ecommerce_v3.1.4", - "date": "Tue, 21 Sep 2021 14:59:36 GMT", - "comments": {} - }, - { - "version": "3.1.3", - "tag": "@snowplow/browser-plugin-ecommerce_v3.1.3", - "date": "Mon, 23 Aug 2021 10:13:18 GMT", - "comments": {} - }, - { - "version": "3.1.2", - "tag": "@snowplow/browser-plugin-ecommerce_v3.1.2", - "date": "Mon, 16 Aug 2021 12:59:59 GMT", - "comments": { - "none": [ - { - "comment": "Update READMEs with correct Node requirements (#994)" - } - ] - } - }, - { - "version": "3.1.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.1.1", - "date": "Wed, 04 Aug 2021 10:12:25 GMT", - "comments": { - "none": [ - { - "comment": "Automate api-extractor on release (#972)" - }, - { - "comment": "Bump tslib to 2.3.0 (#986)" - }, - { - "comment": "Bump typescript to 4.3.5 (#987)" - }, - { - "comment": "Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988)" - } - ] - } - }, - { - "version": "3.1.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.1.0", - "date": "Fri, 14 May 2021 10:45:32 GMT", - "comments": {} - }, - { - "version": "3.0.3", - "tag": "@snowplow/browser-plugin-ecommerce_v3.0.3", - "date": "Wed, 21 Apr 2021 12:35:06 GMT", - "comments": {} - }, - { - "version": "3.0.2", - "tag": "@snowplow/browser-plugin-ecommerce_v3.0.2", - "date": "Thu, 15 Apr 2021 21:07:39 GMT", - "comments": {} - }, - { - "version": "3.0.1", - "tag": "@snowplow/browser-plugin-ecommerce_v3.0.1", - "date": "Wed, 14 Apr 2021 16:30:05 GMT", - "comments": { - "none": [ - { - "comment": "Add peerDependencies to plugins (#950)" - }, - { - "comment": "Mark packages as sideEffect: false (#951)" - }, - { - "comment": "Add unit tests to plugin track* functions (#954)" - } - ] - } - }, - { - "version": "3.0.0", - "tag": "@snowplow/browser-plugin-ecommerce_v3.0.0", - "date": "Wed, 31 Mar 2021 14:46:47 GMT", - "comments": { - "none": [ - { - "comment": "Bump rollup to 2.41 (#916)" - }, - { - "comment": "Publish UMD versions of plugins to GitHub release (#923)" - }, - { - "comment": "Ensure browser-tracker API methods catch exceptions (#919)" - }, - { - "comment": "Introduce TSDoc comments and extract interfaces where appropriate (#906)" - }, - { - "comment": "Bump major version to v3 and update READMEs (#904)" - }, - { - "comment": "Improve Core API for module bundlers which support treeshaking (#903)" - }, - { - "comment": "Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901)" - }, - { - "comment": "Publish lite version of sp.js (#900)" - }, - { - "comment": "Ensure correct 3-Clause BSD License notices are being used (#316)" - }, - { - "comment": "Improve API for module bundlers which support treeshaking (#899)" - }, - { - "comment": "Bump rush to 5.39 (#895)" - }, - { - "comment": "Port to TypeScript (#72)" - }, - { - "comment": "Make sp.js build process modular (#450)" - }, - { - "comment": "Create @snowplow/browser-tracker package for npm distribution (#541)" - }, - { - "comment": "Split auto contexts into plugins (#880)" - }, - { - "comment": "Add rush to manage monorepo (#883)" - }, - { - "comment": "Add ES Module builds (#882)" - }, - { - "comment": "Cleanup deprecated methods (#557)" - }, - { - "comment": "Update publishing process for rush (#907)" - }, - { - "comment": "Change white and black lists to allow and deny lists (#908)" - }, - { - "comment": "Create rush change files for major version 3 release (#909)" - } - ] - } - } - ] -} diff --git a/plugins/browser-plugin-ecommerce/CHANGELOG.md b/plugins/browser-plugin-ecommerce/CHANGELOG.md deleted file mode 100644 index 21eab09da..000000000 --- a/plugins/browser-plugin-ecommerce/CHANGELOG.md +++ /dev/null @@ -1,290 +0,0 @@ -# Change Log - @snowplow/browser-plugin-ecommerce - -This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. - -## 3.24.6 -Mon, 28 Oct 2024 10:23:28 GMT - -_Version update only_ - -## 3.24.5 -Fri, 25 Oct 2024 08:53:04 GMT - -_Version update only_ - -## 3.24.4 -Thu, 26 Sep 2024 06:10:22 GMT - -_Version update only_ - -## 3.24.3 -Tue, 03 Sep 2024 08:15:14 GMT - -### Updates - -- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush - -## 3.24.2 -Wed, 24 Jul 2024 08:59:00 GMT - -_Version update only_ - -## 3.24.1 -Tue, 02 Jul 2024 07:08:17 GMT - -_Version update only_ - -## 3.24.0 -Tue, 25 Jun 2024 08:31:05 GMT - -_Version update only_ - -## 3.23.1 -Tue, 04 Jun 2024 13:34:45 GMT - -_Version update only_ - -## 3.23.0 -Thu, 28 Mar 2024 11:28:45 GMT - -_Version update only_ - -## 3.22.1 -Wed, 13 Mar 2024 08:39:48 GMT - -_Version update only_ - -## 3.22.0 -Fri, 08 Mar 2024 08:13:04 GMT - -_Version update only_ - -## 3.21.0 -Mon, 29 Jan 2024 08:34:06 GMT - -_Version update only_ - -## 3.20.0 -Mon, 15 Jan 2024 14:41:16 GMT - -_Version update only_ - -## 3.19.0 -Thu, 14 Dec 2023 10:45:22 GMT - -_Version update only_ - -## 3.18.0 -Mon, 04 Dec 2023 13:44:02 GMT - -_Version update only_ - -## 3.17.0 -Tue, 14 Nov 2023 17:58:26 GMT - -_Version update only_ - -## 3.16.0 -Mon, 16 Oct 2023 14:58:08 GMT - -_Version update only_ - -## 3.15.0 -Mon, 28 Aug 2023 14:25:14 GMT - -_Version update only_ - -## 3.14.0 -Thu, 10 Aug 2023 13:56:44 GMT - -_Version update only_ - -## 3.13.1 -Thu, 29 Jun 2023 14:20:06 GMT - -_Version update only_ - -## 3.13.0 -Tue, 20 Jun 2023 07:44:23 GMT - -_Version update only_ - -## 3.12.1 -Thu, 15 Jun 2023 10:05:37 GMT - -_Version update only_ - -## 3.12.0 -Mon, 05 Jun 2023 11:51:22 GMT - -_Version update only_ - -## 3.11.0 -Wed, 24 May 2023 15:56:17 GMT - -_Version update only_ - -## 3.10.1 -Fri, 12 May 2023 06:59:31 GMT - -_Version update only_ - -## 3.10.0 -Thu, 11 May 2023 08:29:15 GMT - -_Version update only_ - -## 3.9.0 -Thu, 30 Mar 2023 13:46:56 GMT - -_Version update only_ - -## 3.8.0 -Tue, 03 Jan 2023 15:36:33 GMT - -_Version update only_ - -## 3.7.0 -Mon, 31 Oct 2022 06:26:28 GMT - -_Version update only_ - -## 3.6.0 -Thu, 15 Sep 2022 07:55:20 GMT - -_Version update only_ - -## 3.5.0 -Fri, 10 Jun 2022 18:57:46 GMT - -_Version update only_ - -## 3.4.0 -Thu, 07 Apr 2022 11:56:26 GMT - -### Updates - -- Bump dependencies (#1067) - -## 3.3.1 -Wed, 23 Feb 2022 19:27:40 GMT - -_Version update only_ - -## 3.3.0 -Mon, 31 Jan 2022 15:58:10 GMT - -_Version update only_ - -## 3.2.3 -Tue, 18 Jan 2022 16:23:52 GMT - -### Updates - -- Bump Copyright to 2022 (#1040) - -## 3.2.2 -Fri, 14 Jan 2022 10:17:59 GMT - -_Version update only_ - -## 3.2.1 -Wed, 12 Jan 2022 09:50:29 GMT - -_Version update only_ - -## 3.2.0 -Tue, 11 Jan 2022 12:53:22 GMT - -_Version update only_ - -## 3.1.6 -Tue, 19 Oct 2021 09:17:22 GMT - -### Updates - -- Fix failing build on ARM Macs (#1012) - -## 3.1.5 -Fri, 01 Oct 2021 08:09:21 GMT - -_Version update only_ - -## 3.1.4 -Tue, 21 Sep 2021 14:59:36 GMT - -_Version update only_ - -## 3.1.3 -Mon, 23 Aug 2021 10:13:18 GMT - -_Version update only_ - -## 3.1.2 -Mon, 16 Aug 2021 12:59:59 GMT - -### Updates - -- Update READMEs with correct Node requirements (#994) - -## 3.1.1 -Wed, 04 Aug 2021 10:12:25 GMT - -### Updates - -- Automate api-extractor on release (#972) -- Bump tslib to 2.3.0 (#986) -- Bump typescript to 4.3.5 (#987) -- Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988) - -## 3.1.0 -Fri, 14 May 2021 10:45:32 GMT - -_Version update only_ - -## 3.0.3 -Wed, 21 Apr 2021 12:35:06 GMT - -_Version update only_ - -## 3.0.2 -Thu, 15 Apr 2021 21:07:39 GMT - -_Version update only_ - -## 3.0.1 -Wed, 14 Apr 2021 16:30:05 GMT - -### Updates - -- Add peerDependencies to plugins (#950) -- Mark packages as sideEffect: false (#951) -- Add unit tests to plugin track* functions (#954) - -## 3.0.0 -Wed, 31 Mar 2021 14:46:47 GMT - -### Updates - -- Bump rollup to 2.41 (#916) -- Publish UMD versions of plugins to GitHub release (#923) -- Ensure browser-tracker API methods catch exceptions (#919) -- Introduce TSDoc comments and extract interfaces where appropriate (#906) -- Bump major version to v3 and update READMEs (#904) -- Improve Core API for module bundlers which support treeshaking (#903) -- Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901) -- Publish lite version of sp.js (#900) -- Ensure correct 3-Clause BSD License notices are being used (#316) -- Improve API for module bundlers which support treeshaking (#899) -- Bump rush to 5.39 (#895) -- Port to TypeScript (#72) -- Make sp.js build process modular (#450) -- Create @snowplow/browser-tracker package for npm distribution (#541) -- Split auto contexts into plugins (#880) -- Add rush to manage monorepo (#883) -- Add ES Module builds (#882) -- Cleanup deprecated methods (#557) -- Update publishing process for rush (#907) -- Change white and black lists to allow and deny lists (#908) -- Create rush change files for major version 3 release (#909) - diff --git a/plugins/browser-plugin-ecommerce/LICENSE b/plugins/browser-plugin-ecommerce/LICENSE deleted file mode 100644 index 76f1946ea..000000000 --- a/plugins/browser-plugin-ecommerce/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/plugins/browser-plugin-ecommerce/README.md b/plugins/browser-plugin-ecommerce/README.md deleted file mode 100644 index 5ce1e4049..000000000 --- a/plugins/browser-plugin-ecommerce/README.md +++ /dev/null @@ -1,96 +0,0 @@ -# Snowplow Ecommerce Tracking - -[![npm version][npm-image]][npm-url] -[![License][license-image]](LICENSE) - -

⚠️ This package is deprecated, please use @snowplow/browser-plugin-snowplow-ecommerce instead. ⚠️

- ---- - -Browser Plugin to be used with `@snowplow/browser-tracker`. - -Adds ecommerce events to your Snowplow tracking. - -## Maintainer quick start - -Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). - -### Setup repository - -```bash -npm install -g @microsoft/rush -git clone https://github.com/snowplow/snowplow-javascript-tracker.git -rush update -``` - -## Package Installation - -With npm: - -```bash -npm install @snowplow/browser-plugin-ecommerce -``` - -## Usage - -Initialize your tracker with the EcommercePlugin: - -```js -import { newTracker } from '@snowplow/browser-tracker'; -import { EcommercePlugin } from '@snowplow/browser-plugin-ecommerce'; - -newTracker('sp1', '{{collector}}', { plugins: [ EcommercePlugin() ] }); // Also stores reference at module level -``` - -Then use the available functions from this package to track to all trackers which have been initialized with this plugin: - -```js -import { addTrans, addItem, trackTrans, trackAddToCart } from '@snowplow/browser-plugin-ecommerce'; - -trackAddToCart({ - sku: '000345', - name: 'blue tie', - category: 'clothing', - unitPrice: 3.49, - quantity: 2, - currency: 'GBP', -}); - -// Grouped, events are sent on `trackTrans()` call -addTrans({ - orderId: 'order-123', - total: 8000, - affiliation: 'acme', - tax: 100, - shipping: 50, - city: 'pheonix', - state: 'arizona', - country: 'USA', - currency: 'JPY', -}); -addItem({ - orderId: 'order-123', - sku: '1001', - name: 'Blue t-shirt', - category: 'clothing', - price: '2000', - quantity: '2', - currency: 'JPY', -}); -trackTrans(); -``` - -## Copyright and license - -Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang. - -All rights reserved. - -[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-ecommerce -[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-ecommerce -[docs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-tracker/ -[osi]: https://opensource.org/licenses/BSD-3-Clause -[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-ecommerce diff --git a/plugins/browser-plugin-ecommerce/jest.config.js b/plugins/browser-plugin-ecommerce/jest.config.js deleted file mode 100644 index 87d15da9b..000000000 --- a/plugins/browser-plugin-ecommerce/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - preset: 'ts-jest', - reporters: ['jest-standard-reporter'], - setupFilesAfterEnv: ['../../setupTestGlobals.ts'], - testEnvironment: 'jest-environment-jsdom-global', -}; diff --git a/plugins/browser-plugin-ecommerce/package.json b/plugins/browser-plugin-ecommerce/package.json deleted file mode 100644 index 629ea393e..000000000 --- a/plugins/browser-plugin-ecommerce/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-ecommerce", - "version": "3.24.6", - "description": "Ecommerce tracking for Snowplow", - "homepage": "http://bit.ly/sp-js", - "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", - "repository": { - "type": "git", - "url": "https://github.com/snowplow/snowplow-javascript-tracker.git" - }, - "license": "BSD-3-Clause", - "author": "Paul Boocock", - "sideEffects": false, - "main": "./dist/index.umd.js", - "module": "./dist/index.module.js", - "types": "./dist/index.module.d.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "rollup -c --silent --failAfterWarnings", - "test": "jest" - }, - "dependencies": { - "@snowplow/browser-tracker-core": "workspace:*", - "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.1" - }, - "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", - "@rollup/plugin-commonjs": "~21.0.2", - "@rollup/plugin-node-resolve": "~13.1.3", - "@types/jest": "~27.4.1", - "@types/jsdom": "~16.2.14", - "@types/lodash": "~4.14.180", - "@typescript-eslint/eslint-plugin": "~5.15.0", - "@typescript-eslint/parser": "~5.15.0", - "eslint": "~8.11.0", - "jest": "~27.5.1", - "jest-environment-jsdom": "~27.5.1", - "jest-environment-jsdom-global": "~3.0.0", - "jest-standard-reporter": "~2.0.0", - "lodash": "~4.17.21", - "rollup": "~2.70.1", - "rollup-plugin-cleanup": "~3.2.1", - "rollup-plugin-license": "~2.6.1", - "rollup-plugin-terser": "~7.0.2", - "rollup-plugin-ts": "~2.0.5", - "ts-jest": "~27.1.3", - "typescript": "~4.6.2" - }, - "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.6" - } -} diff --git a/plugins/browser-plugin-ecommerce/rollup.config.js b/plugins/browser-plugin-ecommerce/rollup.config.js deleted file mode 100644 index 889a84e64..000000000 --- a/plugins/browser-plugin-ecommerce/rollup.config.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { nodeResolve } from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import ts from 'rollup-plugin-ts'; // Prefered over @rollup/plugin-typescript as it bundles .d.ts files -import { banner } from '../../banner'; -import compiler from '@ampproject/rollup-plugin-closure-compiler'; -import { terser } from 'rollup-plugin-terser'; -import cleanup from 'rollup-plugin-cleanup'; -import pkg from './package.json'; -import { builtinModules } from 'module'; - -const umdPlugins = [nodeResolve({ browser: true }), commonjs(), ts()]; -const umdName = 'snowplowEcommerce'; - -export default [ - // CommonJS (for Node) and ES module (for bundlers) build. - { - input: './src/index.ts', - plugins: [...umdPlugins, banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main, format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - plugins: [...umdPlugins, compiler(), terser(), cleanup({ comments: 'none' }), banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main.replace('.js', '.min.js'), format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - external: [...builtinModules, ...Object.keys(pkg.dependencies), ...Object.keys(pkg.devDependencies)], - plugins: [ - ts(), // so Rollup can convert TypeScript to JavaScript - banner(), - ], - output: [{ file: pkg.module, format: 'es', sourcemap: true }], - }, -]; diff --git a/plugins/browser-plugin-ecommerce/src/index.ts b/plugins/browser-plugin-ecommerce/src/index.ts deleted file mode 100644 index 37cb40b56..000000000 --- a/plugins/browser-plugin-ecommerce/src/index.ts +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { BrowserPlugin, BrowserTracker, dispatchToTrackersInCollection } from '@snowplow/browser-tracker-core'; -import { - AddToCartEvent, - RemoveFromCartEvent, - buildAddToCart, - buildEcommerceTransaction, - buildEcommerceTransactionItem, - buildRemoveFromCart, - CommonEventProperties, - EcommerceTransactionEvent, - EcommerceTransactionItemEvent, -} from '@snowplow/tracker-core'; - -export { AddToCartEvent, RemoveFromCartEvent, EcommerceTransactionEvent, EcommerceTransactionItemEvent }; - -interface Transaction { - transaction?: EcommerceTransactionEvent & CommonEventProperties; - items: Array; -} - -function ecommerceTransactionTemplate(): Transaction { - return { - items: [], - }; -} - -const _trackers: Record = {}; -const _transactions: Record = {}; - -/** - * Adds ecommerce and cart tracking - */ -export function EcommercePlugin(): BrowserPlugin { - return { - activateBrowserPlugin: (tracker) => { - _trackers[tracker.id] = tracker; - _transactions[tracker.id] = ecommerceTransactionTemplate(); - }, - }; -} - -/** - * Track an ecommerce transaction - * - * @param event - The event information - * @param trackers - The tracker identifiers which the event will be sent to - */ -export function addTrans( - event: EcommerceTransactionEvent & CommonEventProperties, - trackers: Array = Object.keys(_trackers) -) { - trackers.forEach((t) => { - if (_transactions[t]) { - _transactions[t].transaction = event; - } - }); -} - -/** - * Track an ecommerce transaction item - * - * @param event - The event information - * @param trackers - The tracker identifiers which the event will be sent to - */ -export function addItem( - event: EcommerceTransactionItemEvent & CommonEventProperties, - trackers: Array = Object.keys(_trackers) -) { - trackers.forEach((t) => { - if (_transactions[t]) { - _transactions[t].items.push(event); - } - }); -} - -/** - * Commit the ecommerce transaction - * - * @remarks - * This call will send the data specified with addTrans, ddItem methods to the tracking server. - */ -export function trackTrans(trackers: Array = Object.keys(_trackers)) { - dispatchToTrackersInCollection(trackers, _trackers, (t) => { - const transaction = _transactions[t.id].transaction; - if (transaction) { - t.core.track(buildEcommerceTransaction(transaction), transaction.context, transaction.timestamp); - } - for (var i = 0; i < _transactions[t.id].items.length; i++) { - const item = _transactions[t.id].items[i]; - t.core.track(buildEcommerceTransactionItem(item), item.context, item.timestamp); - } - - _transactions[t.id] = ecommerceTransactionTemplate(); - }); -} - -/** - * Track an add-to-cart event - * - * @param event - The event information - * @param trackers - The tracker identifiers which the event will be sent to - */ -export function trackAddToCart( - event: AddToCartEvent & CommonEventProperties, - trackers: Array = Object.keys(_trackers) -) { - dispatchToTrackersInCollection(trackers, _trackers, (t) => { - t.core.track(buildAddToCart(event), event.context, event.timestamp); - }); -} - -/** - * Track a remove-from-cart event - * - * @param event - The event information - * @param trackers - The tracker identifiers which the event will be sent to - */ -export function trackRemoveFromCart( - event: RemoveFromCartEvent & CommonEventProperties, - trackers: Array = Object.keys(_trackers) -) { - dispatchToTrackersInCollection(trackers, _trackers, (t) => { - t.core.track(buildRemoveFromCart(event), event.context, event.timestamp); - }); -} diff --git a/plugins/browser-plugin-ecommerce/test/events.test.ts b/plugins/browser-plugin-ecommerce/test/events.test.ts deleted file mode 100644 index d88794dda..000000000 --- a/plugins/browser-plugin-ecommerce/test/events.test.ts +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { addTracker, BrowserTracker, SharedState } from '@snowplow/browser-tracker-core'; -import { newInMemoryEventStore, trackerCore } from '@snowplow/tracker-core'; -import F from 'lodash/fp'; -import { EcommercePlugin, trackAddToCart, trackRemoveFromCart, addItem, addTrans, trackTrans } from '../src'; - -const getUEEvents = F.compose(F.filter(F.compose(F.eq('ue'), F.get('e')))); -const extractEventProperties = F.map(F.compose(F.get('data'), (cx: string) => JSON.parse(cx), F.get('ue_pr'))); -const extractUeEvent = (schema: string) => { - return { - from: F.compose( - F.first, - F.filter(F.compose(F.eq(schema), F.get('schema'))), - F.flatten, - extractEventProperties, - getUEEvents - ), - }; -}; - -describe('EcommercePlugin', () => { - const state = new SharedState(); - const eventStore = newInMemoryEventStore({}); - addTracker('sp1', 'sp1', 'js-3.0.0', '', state, { - stateStorageStrategy: 'cookie', - encodeBase64: false, - plugins: [EcommercePlugin()], - eventStore, - customFetch: async () => new Response(null, { status: 500 }), - }); - - it('trackAddToCart adds the expected add to cart event to the queue', async () => { - trackAddToCart( - { - quantity: 1, - sku: '12345-1234', - category: 'category-1', - currency: 'currency-1', - name: 'name-1', - unitPrice: 10.99, - }, - ['sp1'] - ); - - expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0').from( - await eventStore.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0', - data: { - quantity: 1, - sku: '12345-1234', - category: 'category-1', - currency: 'currency-1', - name: 'name-1', - unitPrice: 10.99, - }, - }); - }); - - it('trackRemoveFromCart adds the expected remove from cart event to the queue', async () => { - trackRemoveFromCart( - { - quantity: 1, - sku: '12345-1234', - category: 'category-1', - currency: 'currency-1', - name: 'name-1', - unitPrice: 10.99, - }, - ['sp1'] - ); - - expect( - extractUeEvent('iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0').from( - await eventStore.getAllPayloads() - ) - ).toMatchObject({ - schema: 'iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0', - data: { - quantity: 1, - sku: '12345-1234', - category: 'category-1', - currency: 'currency-1', - name: 'name-1', - unitPrice: 10.99, - }, - }); - }); - - it('trackTrans adds the expected transaction event to the queue', (done) => { - let eventCount = 0; - const plugin = EcommercePlugin(); - const core = trackerCore({ - corePlugins: [plugin], - base64: false, - callback: (payloadBuilder) => { - eventCount++; - const payload = payloadBuilder.build(); - if (payload['e'] === 'tr') { - expect(payload['tr_id']).toBe('1234'); - expect(payload['tr_af']).toBe('aff'); - expect(payload['tr_tt']).toBe(420); - expect(payload['tr_tx']).toBe(4.2); - expect(payload['tr_sh']).toBe(10.69); - expect(payload['tr_ci']).toBe('city'); - expect(payload['tr_st']).toBe('texas'); - expect(payload['tr_co']).toBe('country'); - expect(payload['tr_cu']).toBe('usd'); - } - - if (payload['e'] === 'ti') { - expect(payload['ti_id']).toBe('1234'); - expect(payload['ti_sk']).toBe('12345-1111'); - expect(payload['ti_nm']).toBe('name-1'); - expect(payload['ti_ca']).toBe('category-1'); - expect(payload['ti_pr']).toBe(10.99); - expect(payload['ti_qu']).toBe(2); - expect(payload['ti_cu']).toBe('usd'); - } - - if (eventCount === 2) { - done(); - } - }, - }); - - plugin.activateBrowserPlugin?.({ id: 'sp2', core } as BrowserTracker); - - addTrans( - { - orderId: '1234', - total: 420, - affiliation: 'aff', - city: 'city', - country: 'country', - currency: 'usd', - shipping: 10.69, - state: 'texas', - tax: 4.2, - }, - ['sp2'] - ); - - addItem( - { - orderId: '1234', - price: 10.99, - sku: '12345-1111', - category: 'category-1', - currency: 'usd', - name: 'name-1', - quantity: 2, - }, - ['sp2'] - ); - - trackTrans(['sp2']); - }); -}); diff --git a/plugins/browser-plugin-ecommerce/tsconfig.json b/plugins/browser-plugin-ecommerce/tsconfig.json deleted file mode 100644 index 4082f16a5..000000000 --- a/plugins/browser-plugin-ecommerce/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} diff --git a/plugins/browser-plugin-enhanced-ecommerce/src/index.ts b/plugins/browser-plugin-enhanced-ecommerce/src/index.ts index 3fc6aa44c..43cc52cbf 100644 --- a/plugins/browser-plugin-enhanced-ecommerce/src/index.ts +++ b/plugins/browser-plugin-enhanced-ecommerce/src/index.ts @@ -43,6 +43,8 @@ const _context: Record> = {}; /** * For tracking GA Enhanced Ecommerce events and contexts * {@link https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce} + * + * @deprecated Use @snowplow/browser-plugin-snowplow-ecommerce instead */ export function EnhancedEcommercePlugin(): BrowserPlugin { return { diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.json b/plugins/browser-plugin-optimizely/CHANGELOG.json deleted file mode 100644 index 0722938a6..000000000 --- a/plugins/browser-plugin-optimizely/CHANGELOG.json +++ /dev/null @@ -1,428 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-optimizely", - "entries": [ - { - "version": "3.24.6", - "tag": "@snowplow/browser-plugin-optimizely_v3.24.6", - "date": "Mon, 28 Oct 2024 10:23:28 GMT", - "comments": {} - }, - { - "version": "3.24.5", - "tag": "@snowplow/browser-plugin-optimizely_v3.24.5", - "date": "Fri, 25 Oct 2024 08:53:04 GMT", - "comments": {} - }, - { - "version": "3.24.4", - "tag": "@snowplow/browser-plugin-optimizely_v3.24.4", - "date": "Thu, 26 Sep 2024 06:10:22 GMT", - "comments": {} - }, - { - "version": "3.24.3", - "tag": "@snowplow/browser-plugin-optimizely_v3.24.3", - "date": "Tue, 03 Sep 2024 08:15:14 GMT", - "comments": { - "none": [ - { - "comment": "Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush" - } - ] - } - }, - { - "version": "3.24.2", - "tag": "@snowplow/browser-plugin-optimizely_v3.24.2", - "date": "Wed, 24 Jul 2024 08:59:00 GMT", - "comments": {} - }, - { - "version": "3.24.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.24.1", - "date": "Tue, 02 Jul 2024 07:08:17 GMT", - "comments": {} - }, - { - "version": "3.24.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.24.0", - "date": "Tue, 25 Jun 2024 08:31:05 GMT", - "comments": {} - }, - { - "version": "3.23.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.23.1", - "date": "Tue, 04 Jun 2024 13:34:45 GMT", - "comments": {} - }, - { - "version": "3.23.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.23.0", - "date": "Thu, 28 Mar 2024 11:28:45 GMT", - "comments": {} - }, - { - "version": "3.22.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.22.1", - "date": "Wed, 13 Mar 2024 08:39:48 GMT", - "comments": {} - }, - { - "version": "3.22.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.22.0", - "date": "Fri, 08 Mar 2024 08:13:04 GMT", - "comments": {} - }, - { - "version": "3.21.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.21.0", - "date": "Mon, 29 Jan 2024 08:34:06 GMT", - "comments": {} - }, - { - "version": "3.20.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.20.0", - "date": "Mon, 15 Jan 2024 14:41:16 GMT", - "comments": {} - }, - { - "version": "3.19.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.19.0", - "date": "Thu, 14 Dec 2023 10:45:22 GMT", - "comments": {} - }, - { - "version": "3.18.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.18.0", - "date": "Mon, 04 Dec 2023 13:44:02 GMT", - "comments": {} - }, - { - "version": "3.17.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.17.0", - "date": "Tue, 14 Nov 2023 17:58:26 GMT", - "comments": {} - }, - { - "version": "3.16.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.16.0", - "date": "Mon, 16 Oct 2023 14:58:08 GMT", - "comments": {} - }, - { - "version": "3.15.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.15.0", - "date": "Mon, 28 Aug 2023 14:25:14 GMT", - "comments": {} - }, - { - "version": "3.14.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.14.0", - "date": "Thu, 10 Aug 2023 13:56:44 GMT", - "comments": {} - }, - { - "version": "3.13.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.13.1", - "date": "Thu, 29 Jun 2023 14:20:06 GMT", - "comments": {} - }, - { - "version": "3.13.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.13.0", - "date": "Tue, 20 Jun 2023 07:44:23 GMT", - "comments": {} - }, - { - "version": "3.12.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.12.1", - "date": "Thu, 15 Jun 2023 10:05:37 GMT", - "comments": {} - }, - { - "version": "3.12.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.12.0", - "date": "Mon, 05 Jun 2023 11:51:22 GMT", - "comments": {} - }, - { - "version": "3.11.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.11.0", - "date": "Wed, 24 May 2023 15:56:17 GMT", - "comments": {} - }, - { - "version": "3.10.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.10.1", - "date": "Fri, 12 May 2023 06:59:31 GMT", - "comments": {} - }, - { - "version": "3.10.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.10.0", - "date": "Thu, 11 May 2023 08:29:15 GMT", - "comments": {} - }, - { - "version": "3.9.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.9.0", - "date": "Thu, 30 Mar 2023 13:46:56 GMT", - "comments": {} - }, - { - "version": "3.8.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.8.0", - "date": "Tue, 03 Jan 2023 15:36:33 GMT", - "comments": {} - }, - { - "version": "3.7.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.7.0", - "date": "Mon, 31 Oct 2022 06:26:28 GMT", - "comments": {} - }, - { - "version": "3.6.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.6.0", - "date": "Thu, 15 Sep 2022 07:55:20 GMT", - "comments": {} - }, - { - "version": "3.5.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.5.0", - "date": "Fri, 10 Jun 2022 18:57:46 GMT", - "comments": {} - }, - { - "version": "3.4.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.4.0", - "date": "Thu, 07 Apr 2022 11:56:26 GMT", - "comments": { - "none": [ - { - "comment": "Bump dependencies (#1067)" - } - ] - } - }, - { - "version": "3.3.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.3.1", - "date": "Wed, 23 Feb 2022 19:27:40 GMT", - "comments": {} - }, - { - "version": "3.3.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.3.0", - "date": "Mon, 31 Jan 2022 15:58:10 GMT", - "comments": {} - }, - { - "version": "3.2.3", - "tag": "@snowplow/browser-plugin-optimizely_v3.2.3", - "date": "Tue, 18 Jan 2022 16:23:52 GMT", - "comments": { - "none": [ - { - "comment": "Bump Copyright to 2022 (#1040)" - } - ] - } - }, - { - "version": "3.2.2", - "tag": "@snowplow/browser-plugin-optimizely_v3.2.2", - "date": "Fri, 14 Jan 2022 10:17:59 GMT", - "comments": {} - }, - { - "version": "3.2.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.2.1", - "date": "Wed, 12 Jan 2022 09:50:29 GMT", - "comments": {} - }, - { - "version": "3.2.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.2.0", - "date": "Tue, 11 Jan 2022 12:53:22 GMT", - "comments": {} - }, - { - "version": "3.1.6", - "tag": "@snowplow/browser-plugin-optimizely_v3.1.6", - "date": "Tue, 19 Oct 2021 09:17:22 GMT", - "comments": { - "none": [ - { - "comment": "Fix failing build on ARM Macs (#1012)" - }, - { - "comment": "Fix issues importing some plugins in Next SSR (#1015)" - } - ] - } - }, - { - "version": "3.1.5", - "tag": "@snowplow/browser-plugin-optimizely_v3.1.5", - "date": "Fri, 01 Oct 2021 08:09:21 GMT", - "comments": {} - }, - { - "version": "3.1.4", - "tag": "@snowplow/browser-plugin-optimizely_v3.1.4", - "date": "Tue, 21 Sep 2021 14:59:36 GMT", - "comments": {} - }, - { - "version": "3.1.3", - "tag": "@snowplow/browser-plugin-optimizely_v3.1.3", - "date": "Mon, 23 Aug 2021 10:13:18 GMT", - "comments": {} - }, - { - "version": "3.1.2", - "tag": "@snowplow/browser-plugin-optimizely_v3.1.2", - "date": "Mon, 16 Aug 2021 12:59:59 GMT", - "comments": { - "none": [ - { - "comment": "Update READMEs with correct Node requirements (#994)" - } - ] - } - }, - { - "version": "3.1.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.1.1", - "date": "Wed, 04 Aug 2021 10:12:25 GMT", - "comments": { - "none": [ - { - "comment": "Automate api-extractor on release (#972)" - }, - { - "comment": "Bump tslib to 2.3.0 (#986)" - }, - { - "comment": "Bump typescript to 4.3.5 (#987)" - }, - { - "comment": "Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988)" - } - ] - } - }, - { - "version": "3.1.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.1.0", - "date": "Fri, 14 May 2021 10:45:32 GMT", - "comments": {} - }, - { - "version": "3.0.3", - "tag": "@snowplow/browser-plugin-optimizely_v3.0.3", - "date": "Wed, 21 Apr 2021 12:35:06 GMT", - "comments": {} - }, - { - "version": "3.0.2", - "tag": "@snowplow/browser-plugin-optimizely_v3.0.2", - "date": "Thu, 15 Apr 2021 21:07:39 GMT", - "comments": {} - }, - { - "version": "3.0.1", - "tag": "@snowplow/browser-plugin-optimizely_v3.0.1", - "date": "Wed, 14 Apr 2021 16:30:05 GMT", - "comments": { - "none": [ - { - "comment": "Add peerDependencies to plugins (#950)" - }, - { - "comment": "Mark packages as sideEffect: false (#951)" - }, - { - "comment": "Add unit tests to plugin track* functions (#954)" - } - ] - } - }, - { - "version": "3.0.0", - "tag": "@snowplow/browser-plugin-optimizely_v3.0.0", - "date": "Wed, 31 Mar 2021 14:46:47 GMT", - "comments": { - "none": [ - { - "comment": "Bump rollup to 2.41 (#916)" - }, - { - "comment": "Publish UMD versions of plugins to GitHub release (#923)" - }, - { - "comment": "Remove module level references to window and document (close #928)" - }, - { - "comment": "Ensure browser-tracker API methods catch exceptions (#919)" - }, - { - "comment": "Introduce TSDoc comments and extract interfaces where appropriate (#906)" - }, - { - "comment": "Bump major version to v3 and update READMEs (#904)" - }, - { - "comment": "Improve Core API for module bundlers which support treeshaking (#903)" - }, - { - "comment": "Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901)" - }, - { - "comment": "Publish lite version of sp.js (#900)" - }, - { - "comment": "Ensure correct 3-Clause BSD License notices are being used (#316)" - }, - { - "comment": "Improve API for module bundlers which support treeshaking (#899)" - }, - { - "comment": "Bump rush to 5.39 (#895)" - }, - { - "comment": "Port to TypeScript (#72)" - }, - { - "comment": "Make sp.js build process modular (#450)" - }, - { - "comment": "Create @snowplow/browser-tracker package for npm distribution (#541)" - }, - { - "comment": "Split auto contexts into plugins (#880)" - }, - { - "comment": "Add rush to manage monorepo (#883)" - }, - { - "comment": "Add ES Module builds (#882)" - }, - { - "comment": "Cleanup deprecated methods (#557)" - }, - { - "comment": "Update publishing process for rush (#907)" - }, - { - "comment": "Change white and black lists to allow and deny lists (#908)" - }, - { - "comment": "Create rush change files for major version 3 release (#909)" - } - ] - } - } - ] -} diff --git a/plugins/browser-plugin-optimizely/CHANGELOG.md b/plugins/browser-plugin-optimizely/CHANGELOG.md deleted file mode 100644 index 4683f8934..000000000 --- a/plugins/browser-plugin-optimizely/CHANGELOG.md +++ /dev/null @@ -1,292 +0,0 @@ -# Change Log - @snowplow/browser-plugin-optimizely - -This log was last generated on Mon, 28 Oct 2024 10:23:28 GMT and should not be manually modified. - -## 3.24.6 -Mon, 28 Oct 2024 10:23:28 GMT - -_Version update only_ - -## 3.24.5 -Fri, 25 Oct 2024 08:53:04 GMT - -_Version update only_ - -## 3.24.4 -Thu, 26 Sep 2024 06:10:22 GMT - -_Version update only_ - -## 3.24.3 -Tue, 03 Sep 2024 08:15:14 GMT - -### Updates - -- Upgrade supported Node.JS versions in build to 18 - 20 and upgrade rush - -## 3.24.2 -Wed, 24 Jul 2024 08:59:00 GMT - -_Version update only_ - -## 3.24.1 -Tue, 02 Jul 2024 07:08:17 GMT - -_Version update only_ - -## 3.24.0 -Tue, 25 Jun 2024 08:31:05 GMT - -_Version update only_ - -## 3.23.1 -Tue, 04 Jun 2024 13:34:45 GMT - -_Version update only_ - -## 3.23.0 -Thu, 28 Mar 2024 11:28:45 GMT - -_Version update only_ - -## 3.22.1 -Wed, 13 Mar 2024 08:39:48 GMT - -_Version update only_ - -## 3.22.0 -Fri, 08 Mar 2024 08:13:04 GMT - -_Version update only_ - -## 3.21.0 -Mon, 29 Jan 2024 08:34:06 GMT - -_Version update only_ - -## 3.20.0 -Mon, 15 Jan 2024 14:41:16 GMT - -_Version update only_ - -## 3.19.0 -Thu, 14 Dec 2023 10:45:22 GMT - -_Version update only_ - -## 3.18.0 -Mon, 04 Dec 2023 13:44:02 GMT - -_Version update only_ - -## 3.17.0 -Tue, 14 Nov 2023 17:58:26 GMT - -_Version update only_ - -## 3.16.0 -Mon, 16 Oct 2023 14:58:08 GMT - -_Version update only_ - -## 3.15.0 -Mon, 28 Aug 2023 14:25:14 GMT - -_Version update only_ - -## 3.14.0 -Thu, 10 Aug 2023 13:56:44 GMT - -_Version update only_ - -## 3.13.1 -Thu, 29 Jun 2023 14:20:06 GMT - -_Version update only_ - -## 3.13.0 -Tue, 20 Jun 2023 07:44:23 GMT - -_Version update only_ - -## 3.12.1 -Thu, 15 Jun 2023 10:05:37 GMT - -_Version update only_ - -## 3.12.0 -Mon, 05 Jun 2023 11:51:22 GMT - -_Version update only_ - -## 3.11.0 -Wed, 24 May 2023 15:56:17 GMT - -_Version update only_ - -## 3.10.1 -Fri, 12 May 2023 06:59:31 GMT - -_Version update only_ - -## 3.10.0 -Thu, 11 May 2023 08:29:15 GMT - -_Version update only_ - -## 3.9.0 -Thu, 30 Mar 2023 13:46:56 GMT - -_Version update only_ - -## 3.8.0 -Tue, 03 Jan 2023 15:36:33 GMT - -_Version update only_ - -## 3.7.0 -Mon, 31 Oct 2022 06:26:28 GMT - -_Version update only_ - -## 3.6.0 -Thu, 15 Sep 2022 07:55:20 GMT - -_Version update only_ - -## 3.5.0 -Fri, 10 Jun 2022 18:57:46 GMT - -_Version update only_ - -## 3.4.0 -Thu, 07 Apr 2022 11:56:26 GMT - -### Updates - -- Bump dependencies (#1067) - -## 3.3.1 -Wed, 23 Feb 2022 19:27:40 GMT - -_Version update only_ - -## 3.3.0 -Mon, 31 Jan 2022 15:58:10 GMT - -_Version update only_ - -## 3.2.3 -Tue, 18 Jan 2022 16:23:52 GMT - -### Updates - -- Bump Copyright to 2022 (#1040) - -## 3.2.2 -Fri, 14 Jan 2022 10:17:59 GMT - -_Version update only_ - -## 3.2.1 -Wed, 12 Jan 2022 09:50:29 GMT - -_Version update only_ - -## 3.2.0 -Tue, 11 Jan 2022 12:53:22 GMT - -_Version update only_ - -## 3.1.6 -Tue, 19 Oct 2021 09:17:22 GMT - -### Updates - -- Fix failing build on ARM Macs (#1012) -- Fix issues importing some plugins in Next SSR (#1015) - -## 3.1.5 -Fri, 01 Oct 2021 08:09:21 GMT - -_Version update only_ - -## 3.1.4 -Tue, 21 Sep 2021 14:59:36 GMT - -_Version update only_ - -## 3.1.3 -Mon, 23 Aug 2021 10:13:18 GMT - -_Version update only_ - -## 3.1.2 -Mon, 16 Aug 2021 12:59:59 GMT - -### Updates - -- Update READMEs with correct Node requirements (#994) - -## 3.1.1 -Wed, 04 Aug 2021 10:12:25 GMT - -### Updates - -- Automate api-extractor on release (#972) -- Bump tslib to 2.3.0 (#986) -- Bump typescript to 4.3.5 (#987) -- Switch from @wessberg/rollup-plugin-ts to rollup-plugin-ts (#988) - -## 3.1.0 -Fri, 14 May 2021 10:45:32 GMT - -_Version update only_ - -## 3.0.3 -Wed, 21 Apr 2021 12:35:06 GMT - -_Version update only_ - -## 3.0.2 -Thu, 15 Apr 2021 21:07:39 GMT - -_Version update only_ - -## 3.0.1 -Wed, 14 Apr 2021 16:30:05 GMT - -### Updates - -- Add peerDependencies to plugins (#950) -- Mark packages as sideEffect: false (#951) -- Add unit tests to plugin track* functions (#954) - -## 3.0.0 -Wed, 31 Mar 2021 14:46:47 GMT - -### Updates - -- Bump rollup to 2.41 (#916) -- Publish UMD versions of plugins to GitHub release (#923) -- Remove module level references to window and document (close #928) -- Ensure browser-tracker API methods catch exceptions (#919) -- Introduce TSDoc comments and extract interfaces where appropriate (#906) -- Bump major version to v3 and update READMEs (#904) -- Improve Core API for module bundlers which support treeshaking (#903) -- Rename @snowplow/browser-core to @snowplow/browser-tracker-core (#901) -- Publish lite version of sp.js (#900) -- Ensure correct 3-Clause BSD License notices are being used (#316) -- Improve API for module bundlers which support treeshaking (#899) -- Bump rush to 5.39 (#895) -- Port to TypeScript (#72) -- Make sp.js build process modular (#450) -- Create @snowplow/browser-tracker package for npm distribution (#541) -- Split auto contexts into plugins (#880) -- Add rush to manage monorepo (#883) -- Add ES Module builds (#882) -- Cleanup deprecated methods (#557) -- Update publishing process for rush (#907) -- Change white and black lists to allow and deny lists (#908) -- Create rush change files for major version 3 release (#909) - diff --git a/plugins/browser-plugin-optimizely/LICENSE b/plugins/browser-plugin-optimizely/LICENSE deleted file mode 100644 index 76f1946ea..000000000 --- a/plugins/browser-plugin-optimizely/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/plugins/browser-plugin-optimizely/README.md b/plugins/browser-plugin-optimizely/README.md deleted file mode 100644 index 5d099e64e..000000000 --- a/plugins/browser-plugin-optimizely/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Snowplow Optimizely Classic Tracking - -[![npm version][npm-image]][npm-url] -[![License][license-image]](LICENSE) - -

⚠️ This package is deprecated ⚠️

- ---- - -Browser Plugin to be used with `@snowplow/browser-tracker`. - -Adds Optimizely Classic contexts to your Snowplow tracking. - -## Maintainer quick start - -Part of the Snowplow JavaScript Tracker monorepo. -Build with [Node.js](https://nodejs.org/en/) (18 - 20) and [Rush](https://rushjs.io/). - -### Setup repository - -```bash -npm install -g @microsoft/rush -git clone https://github.com/snowplow/snowplow-javascript-tracker.git -rush update -``` - -## Package Installation - -With npm: - -```bash -npm install @snowplow/browser-plugin-optimizely -``` - -## Usage - -Initialize your tracker with the OptimizelyPlugin: - -```js -import { newTracker } from '@snowplow/browser-tracker'; -import { OptimizelyPlugin } from '@snowplow/browser-plugin-optimizely'; - -newTracker('sp1', '{{collector}}', { plugins: [ OptimizelyPlugin(true, true, true, false, false) ] }); -``` - -## Copyright and license - -Licensed and distributed under the [BSD 3-Clause License](LICENSE) ([An OSI Approved License][osi]). - -Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang. - -All rights reserved. - -[npm-url]: https://www.npmjs.com/package/@snowplow/browser-plugin-optimizely -[npm-image]: https://img.shields.io/npm/v/@snowplow/browser-plugin-optimizely -[docs]: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-tracker/ -[osi]: https://opensource.org/licenses/BSD-3-Clause -[license-image]: https://img.shields.io/npm/l/@snowplow/browser-plugin-optimizely diff --git a/plugins/browser-plugin-optimizely/package.json b/plugins/browser-plugin-optimizely/package.json deleted file mode 100644 index 1b4b39a60..000000000 --- a/plugins/browser-plugin-optimizely/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@snowplow/browser-plugin-optimizely", - "version": "3.24.6", - "description": "Attaches Optimizely data to Snowplow events", - "homepage": "http://bit.ly/sp-js", - "bugs": "https://github.com/snowplow/snowplow-javascript-tracker/issues", - "repository": { - "type": "git", - "url": "https://github.com/snowplow/snowplow-javascript-tracker.git" - }, - "license": "BSD-3-Clause", - "author": "Paul Boocock", - "sideEffects": false, - "main": "./dist/index.umd.js", - "module": "./dist/index.module.js", - "types": "./dist/index.module.d.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "rollup -c --silent --failAfterWarnings", - "test": "" - }, - "dependencies": { - "@snowplow/browser-tracker-core": "workspace:*", - "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.1" - }, - "devDependencies": { - "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", - "@rollup/plugin-commonjs": "~21.0.2", - "@rollup/plugin-node-resolve": "~13.1.3", - "@types/jest": "~27.4.1", - "@types/jsdom": "~16.2.14", - "@typescript-eslint/eslint-plugin": "~5.15.0", - "@typescript-eslint/parser": "~5.15.0", - "eslint": "~8.11.0", - "jest": "~27.5.1", - "jest-environment-jsdom": "~27.5.1", - "jest-environment-jsdom-global": "~3.0.0", - "jest-standard-reporter": "~2.0.0", - "rollup": "~2.70.1", - "rollup-plugin-cleanup": "~3.2.1", - "rollup-plugin-license": "~2.6.1", - "rollup-plugin-terser": "~7.0.2", - "rollup-plugin-ts": "~2.0.5", - "ts-jest": "~27.1.3", - "typescript": "~4.6.2" - }, - "peerDependencies": { - "@snowplow/browser-tracker": "~3.24.6" - } -} diff --git a/plugins/browser-plugin-optimizely/rollup.config.js b/plugins/browser-plugin-optimizely/rollup.config.js deleted file mode 100644 index ff1136b79..000000000 --- a/plugins/browser-plugin-optimizely/rollup.config.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { nodeResolve } from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import ts from 'rollup-plugin-ts'; // Prefered over @rollup/plugin-typescript as it bundles .d.ts files -import { banner } from '../../banner'; -import compiler from '@ampproject/rollup-plugin-closure-compiler'; -import { terser } from 'rollup-plugin-terser'; -import cleanup from 'rollup-plugin-cleanup'; -import pkg from './package.json'; -import { builtinModules } from 'module'; - -const umdPlugins = [nodeResolve({ browser: true }), commonjs(), ts()]; -const umdName = 'snowplowOptimizely'; - -export default [ - // CommonJS (for Node) and ES module (for bundlers) build. - { - input: './src/index.ts', - plugins: [...umdPlugins, banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main, format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - plugins: [...umdPlugins, compiler(), terser(), cleanup({ comments: 'none' }), banner()], - treeshake: { moduleSideEffects: ['sha1'] }, - output: [{ file: pkg.main.replace('.js', '.min.js'), format: 'umd', sourcemap: true, name: umdName }], - }, - { - input: './src/index.ts', - external: [...builtinModules, ...Object.keys(pkg.dependencies), ...Object.keys(pkg.devDependencies)], - plugins: [ - ts(), // so Rollup can convert TypeScript to JavaScript - banner(), - ], - output: [{ file: pkg.module, format: 'es', sourcemap: true }], - }, -]; diff --git a/plugins/browser-plugin-optimizely/src/contexts.ts b/plugins/browser-plugin-optimizely/src/contexts.ts deleted file mode 100644 index 05052c5fe..000000000 --- a/plugins/browser-plugin-optimizely/src/contexts.ts +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * Schema for an Optimizely experiment context (http://developers.optimizely.com/javascript/reference/#experiments) - */ -export interface Experiment { - id?: string | null; - code?: string | null; - manual?: boolean | null; - conditional?: boolean | null; - name?: string | null; - variationIds?: (string | null)[]; - [key: string]: unknown; -} - -/** - * Schema for an Optimizely summary context - */ -export interface OptimizelySummary { - activeExperimentId?: string; - variation?: string; - conditional?: boolean; - manual?: boolean; - name?: string; - [key: string]: unknown; -} - -/** - * Schema for an Optimizely state context (http://developers.optimizely.com/javascript/reference/#state) - */ -export interface State { - experimentId?: string | null; - isActive?: boolean | null; - variationIndex?: number | null; - variationId?: string | null; - variationName?: string | null; - [key: string]: unknown; -} - -/** - * Schema for an Optimizely variation context (http://developers.optimizely.com/javascript/reference/#variations) - */ -export interface Variation { - id?: string | null; - name?: string | null; - code?: string | null; - [key: string]: unknown; -} - -/** - * Schema for an Optimizely visitor_audience context - */ -export interface VisitorAudience { - id?: string | null; - isMember?: boolean | null; - [key: string]: unknown; -} - -/** - * Schema for an Optimizely visitor_dimension context - */ -export interface VisitorDimension { - id?: string | null; - value?: string | null; - [key: string]: unknown; -} - -/** - * Schema for an Optimizely visitor context (http://developers.optimizely.com/javascript/reference/#experiments) - */ -export interface Visitor { - browser?: string | null; - browserVersion?: string | null; - device?: string | null; - deviceType?: string | null; - ip?: string | null; - platformId?: string | null; - platformVersion?: string | null; - locationCity?: string | null; - locationRegion?: string | null; - locationCountry?: string | null; - mobile?: boolean | null; - mobileId?: string | null; - referrer?: string | null; - os?: string | null; - [key: string]: unknown; -} diff --git a/plugins/browser-plugin-optimizely/src/index.ts b/plugins/browser-plugin-optimizely/src/index.ts deleted file mode 100644 index 9ec9d0c69..000000000 --- a/plugins/browser-plugin-optimizely/src/index.ts +++ /dev/null @@ -1,360 +0,0 @@ -/* - * Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import { isValueInArray, BrowserPlugin } from '@snowplow/browser-tracker-core'; -import { - Experiment, - OptimizelySummary, - State, - Variation, - Visitor, - VisitorAudience, - VisitorDimension, -} from './contexts'; - -declare global { - interface Window { - optimizely: { - data: { [key: string]: any }; - }; - } -} - -/** - * Adds classic Opimizely context to events - * - * @param summary - Add summary context - * @param experiments - Add experiments context - * @param states - Add states context - * @param variations - Add variations context - * @param visitor - Add visitor context - * @param audiences - Add audiences context - * @param dimensions - Add dimensions context - */ -export function OptimizelyPlugin( - summary: boolean = true, - experiments: boolean = true, - states: boolean = true, - variations: boolean = true, - visitor: boolean = true, - audiences: boolean = true, - dimensions: boolean = true -): BrowserPlugin { - /** - * Check that *both* optimizely and optimizely.data exist and return - * optimizely.data.property - * - * @param property - optimizely data property - * @param snd - optional nested property - */ - function getOptimizelyData(property: string, snd?: string) { - const windowOptimizelyAlias = window.optimizely; - let data; - if (windowOptimizelyAlias && windowOptimizelyAlias.data) { - data = windowOptimizelyAlias.data[property]; - if (typeof snd !== 'undefined' && data !== undefined) { - data = data[snd]; - } - } - return data; - } - - /** - * Get data for Optimizely "lite" contexts - active experiments on current page - * - * @returns Array content of lite optimizely lite context - */ - function getOptimizelySummary(): OptimizelySummary[] { - var state = getOptimizelyData('state'); - var experiments = getOptimizelyData('experiments'); - - if (!state || !experiments) return []; - - return ( - state.activeExperiments?.map(function (activeExperiment: string) { - var current = experiments[activeExperiment]; - return { - activeExperimentId: activeExperiment.toString(), - // User can be only in one variation (don't know why is this array) - variation: state.variationIdsMap[activeExperiment][0].toString(), - conditional: current && current.conditional, - manual: current && current.manual, - name: current && current.name, - }; - }) ?? [] - ); - } - - /** - * Creates a context from the window['optimizely'].data.experiments object - * - * @returns Array Experiment contexts - */ - function getOptimizelyExperimentContexts() { - var experiments = getOptimizelyData('experiments'); - if (experiments) { - var contexts = []; - - for (var key in experiments) { - if (experiments.hasOwnProperty(key)) { - var context: Experiment = {}; - context.id = key; - var experiment = experiments[key]; - context.code = experiment.code; - context.manual = experiment.manual; - context.conditional = experiment.conditional; - context.name = experiment.name; - context.variationIds = experiment.variation_ids; - - contexts.push({ - schema: 'iglu:com.optimizely/experiment/jsonschema/1-0-0', - data: context, - }); - } - } - return contexts; - } - return []; - } - - /** - * Creates a context from the window['optimizely'].data.state object - * - * @returns Array State contexts - */ - function getOptimizelyStateContexts() { - var experimentIds = []; - var experiments = getOptimizelyData('experiments'); - if (experiments) { - for (var key in experiments) { - if (experiments.hasOwnProperty(key)) { - experimentIds.push(key); - } - } - } - - var state = getOptimizelyData('state'); - if (state) { - var contexts = []; - var activeExperiments = state.activeExperiments || []; - - for (var i = 0; i < experimentIds.length; i++) { - var experimentId = experimentIds[i]; - var context: State = {}; - context.experimentId = experimentId; - context.isActive = isValueInArray(experimentIds[i], activeExperiments); - var variationMap = state.variationMap || {}; - context.variationIndex = variationMap[experimentId]; - var variationNamesMap = state.variationNamesMap || {}; - context.variationName = variationNamesMap[experimentId]; - var variationIdsMap = state.variationIdsMap || {}; - if (variationIdsMap[experimentId] && variationIdsMap[experimentId].length === 1) { - context.variationId = variationIdsMap[experimentId][0]; - } - - contexts.push({ - schema: 'iglu:com.optimizely/state/jsonschema/1-0-0', - data: context, - }); - } - return contexts; - } - return []; - } - - /** - * Creates a context from the window['optimizely'].data.variations object - * - * @returns Array Variation contexts - */ - function getOptimizelyVariationContexts() { - var variations = getOptimizelyData('variations'); - if (variations) { - var contexts = []; - - for (var key in variations) { - if (variations.hasOwnProperty(key)) { - var context: Variation = {}; - context.id = key; - var variation = variations[key]; - context.name = variation.name; - context.code = variation.code; - - contexts.push({ - schema: 'iglu:com.optimizely/variation/jsonschema/1-0-0', - data: context, - }); - } - } - return contexts; - } - return []; - } - - /** - * Creates a context from the window['optimizely'].data.visitor object - * - * @returns object Visitor context - */ - function getOptimizelyVisitorContexts() { - var visitor = getOptimizelyData('visitor'); - if (visitor) { - var context: Visitor = {}; - context.browser = visitor.browser; - context.browserVersion = visitor.browserVersion; - context.device = visitor.device; - context.deviceType = visitor.deviceType; - context.ip = visitor.ip; - var platform = visitor.platform || {}; - context.platformId = platform.id; - context.platformVersion = platform.version; - var location = visitor.location || {}; - context.locationCity = location.city; - context.locationRegion = location.region; - context.locationCountry = location.country; - context.mobile = visitor.mobile; - context.mobileId = visitor.mobileId; - context.referrer = visitor.referrer; - context.os = visitor.os; - - return [ - { - schema: 'iglu:com.optimizely/visitor/jsonschema/1-0-0', - data: context, - }, - ]; - } - return []; - } - - /** - * Creates a context from the window['optimizely'].data.visitor.audiences object - * - * @returns Array VisitorAudience contexts - */ - function getOptimizelyAudienceContexts() { - var audienceIds = getOptimizelyData('visitor', 'audiences'); - if (audienceIds) { - var contexts = []; - - for (var key in audienceIds) { - if (audienceIds.hasOwnProperty(key)) { - var context: VisitorAudience = { id: key, isMember: audienceIds[key] }; - - contexts.push({ - schema: 'iglu:com.optimizely/visitor_audience/jsonschema/1-0-0', - data: context, - }); - } - } - return contexts; - } - return []; - } - - /** - * Creates a context from the window['optimizely'].data.visitor.dimensions object - * - * @returns Array VisitorDimension contexts - */ - function getOptimizelyDimensionContexts() { - var dimensionIds = getOptimizelyData('visitor', 'dimensions'); - if (dimensionIds) { - var contexts = []; - - for (var key in dimensionIds) { - if (dimensionIds.hasOwnProperty(key)) { - var context: VisitorDimension = { id: key, value: dimensionIds[key] }; - - contexts.push({ - schema: 'iglu:com.optimizely/visitor_dimension/jsonschema/1-0-0', - data: context, - }); - } - } - return contexts; - } - return []; - } - - /** - * Creates an Optimizely lite context containing only data required to join - * event to experiment data - * - * @returns Array of custom contexts - */ - function getOptimizelySummaryContexts() { - return getOptimizelySummary().map(function (experiment) { - return { - schema: 'iglu:com.optimizely.snowplow/optimizely_summary/jsonschema/1-0-0', - data: experiment, - }; - }); - } - - return { - contexts: () => { - const combinedContexts = []; - - // Add Optimizely Contexts - if (window.optimizely) { - if (summary) { - combinedContexts.push(...getOptimizelySummaryContexts()); - } - - if (experiments) { - combinedContexts.push(...getOptimizelyExperimentContexts()); - } - - if (states) { - combinedContexts.push(...getOptimizelyStateContexts()); - } - - if (variations) { - combinedContexts.push(...getOptimizelyVariationContexts()); - } - - if (visitor) { - combinedContexts.push(...getOptimizelyVisitorContexts()); - } - - if (audiences) { - combinedContexts.push(...getOptimizelyAudienceContexts()); - } - - if (dimensions) { - combinedContexts.push(...getOptimizelyDimensionContexts()); - } - } - - return combinedContexts; - }, - }; -} diff --git a/plugins/browser-plugin-optimizely/tsconfig.json b/plugins/browser-plugin-optimizely/tsconfig.json deleted file mode 100644 index 4082f16a5..000000000 --- a/plugins/browser-plugin-optimizely/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} diff --git a/plugins/browser-plugin-performance-timing/src/index.ts b/plugins/browser-plugin-performance-timing/src/index.ts index 138ee4923..4bd978e83 100644 --- a/plugins/browser-plugin-performance-timing/src/index.ts +++ b/plugins/browser-plugin-performance-timing/src/index.ts @@ -46,6 +46,8 @@ declare global { * May not be fully populated when inital Page View fires * Often a good idea to take the latest performance timing context * for a given page view id when analysing in the warehouse + * + * @deprecated Use @snowplow/browser-plugin-performance-navigation-timing instead */ export function PerformanceTimingPlugin(): BrowserPlugin { /** diff --git a/rush.json b/rush.json index afa7cd0c4..338d6707b 100644 --- a/rush.json +++ b/rush.json @@ -385,12 +385,6 @@ "versionPolicyName": "tracker" }, - { - "packageName": "@snowplow/browser-plugin-optimizely", - "projectFolder": "plugins/browser-plugin-optimizely", - "reviewCategory": "plugins", - "versionPolicyName": "tracker" - }, { "packageName": "@snowplow/browser-plugin-optimizely-x", "projectFolder": "plugins/browser-plugin-optimizely-x", @@ -409,12 +403,6 @@ "reviewCategory": "plugins", "versionPolicyName": "tracker" }, - { - "packageName": "@snowplow/browser-plugin-consent", - "projectFolder": "plugins/browser-plugin-consent", - "reviewCategory": "plugins", - "versionPolicyName": "tracker" - }, { "packageName": "@snowplow/browser-plugin-geolocation", "projectFolder": "plugins/browser-plugin-geolocation", @@ -445,24 +433,12 @@ "reviewCategory": "plugins", "versionPolicyName": "tracker" }, - { - "packageName": "@snowplow/browser-plugin-browser-features", - "projectFolder": "plugins/browser-plugin-browser-features", - "reviewCategory": "plugins", - "versionPolicyName": "tracker" - }, { "packageName": "@snowplow/browser-plugin-timezone", "projectFolder": "plugins/browser-plugin-timezone", "reviewCategory": "plugins", "versionPolicyName": "tracker" }, - { - "packageName": "@snowplow/browser-plugin-ecommerce", - "projectFolder": "plugins/browser-plugin-ecommerce", - "reviewCategory": "plugins", - "versionPolicyName": "tracker" - }, { "packageName": "@snowplow/browser-plugin-enhanced-ecommerce", "projectFolder": "plugins/browser-plugin-enhanced-ecommerce", diff --git a/trackers/javascript-tracker/package.json b/trackers/javascript-tracker/package.json index 4504a0ac1..33a687cf0 100644 --- a/trackers/javascript-tracker/package.json +++ b/trackers/javascript-tracker/package.json @@ -40,10 +40,7 @@ }, "dependencies": { "@snowplow/browser-plugin-ad-tracking": "workspace:*", - "@snowplow/browser-plugin-browser-features": "workspace:*", "@snowplow/browser-plugin-client-hints": "workspace:*", - "@snowplow/browser-plugin-consent": "workspace:*", - "@snowplow/browser-plugin-ecommerce": "workspace:*", "@snowplow/browser-plugin-enhanced-ecommerce": "workspace:*", "@snowplow/browser-plugin-error-tracking": "workspace:*", "@snowplow/browser-plugin-form-tracking": "workspace:*", @@ -51,7 +48,6 @@ "@snowplow/browser-plugin-geolocation": "workspace:*", "@snowplow/browser-plugin-link-click-tracking": "workspace:*", "@snowplow/browser-plugin-media-tracking": "workspace:*", - "@snowplow/browser-plugin-optimizely": "workspace:*", "@snowplow/browser-plugin-optimizely-x": "workspace:*", "@snowplow/browser-plugin-performance-timing": "workspace:*", "@snowplow/browser-plugin-site-tracking": "workspace:*", @@ -60,6 +56,8 @@ "@snowplow/browser-plugin-youtube-tracking": "workspace:*", "@snowplow/browser-plugin-media": "workspace:*", "@snowplow/browser-plugin-vimeo-tracking": "workspace:*", + "@snowplow/browser-plugin-performance-navigation-timing": "workspace:*", + "@snowplow/browser-plugin-web-vitals": "workspace:*", "@snowplow/browser-tracker": "workspace:*", "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", @@ -89,7 +87,7 @@ "@wdio/static-server-service": "~8.39.0", "@wdio/types": "~8.39.0", "chalk": "4.1.2", - "chromedriver": "~126.0.4", + "chromedriver": "~129.0.0", "dockerode": "~3.3.1", "jest": "~27.5.1", "jest-environment-jsdom": "~27.5.1", diff --git a/trackers/javascript-tracker/src/configuration.ts b/trackers/javascript-tracker/src/configuration.ts index 6e49b5d8b..6a9648516 100644 --- a/trackers/javascript-tracker/src/configuration.ts +++ b/trackers/javascript-tracker/src/configuration.ts @@ -37,14 +37,7 @@ export interface JavaScriptTrackerConfiguration extends TrackerConfiguration { performanceTiming: boolean; gaCookies: boolean; geolocation: boolean; - optimizelyExperiments: boolean; - optimizelyStates: boolean; - optimizelyVariations: boolean; - optimizelyVisitor: boolean; - optimizelyAudiences: boolean; - optimizelyDimensions: boolean; - optimizelySummary: boolean; - optimizelyXSummary: boolean; clientHints: boolean | { includeHighEntropy: boolean }; + webVitals: boolean | { loadWebVitalsScript?: boolean; webVitalsSource?: string }; }; } diff --git a/trackers/javascript-tracker/src/features.ts b/trackers/javascript-tracker/src/features.ts index 89dda71c7..34965637a 100644 --- a/trackers/javascript-tracker/src/features.ts +++ b/trackers/javascript-tracker/src/features.ts @@ -1,16 +1,12 @@ import * as ClientHints from '@snowplow/browser-plugin-client-hints'; -import * as Optimizely from '@snowplow/browser-plugin-optimizely'; import * as OptimizelyX from '@snowplow/browser-plugin-optimizely-x'; import * as PerformanceTiming from '@snowplow/browser-plugin-performance-timing'; -import * as Consent from '@snowplow/browser-plugin-consent'; import * as Geolocation from '@snowplow/browser-plugin-geolocation'; import * as GaCookies from '@snowplow/browser-plugin-ga-cookies'; import * as LinkClickTracking from '@snowplow/browser-plugin-link-click-tracking'; import * as FormTracking from '@snowplow/browser-plugin-form-tracking'; import * as ErrorTracking from '@snowplow/browser-plugin-error-tracking'; -import * as BrowserFeatures from '@snowplow/browser-plugin-browser-features'; import * as Timezone from '@snowplow/browser-plugin-timezone'; -import * as Ecommerce from '@snowplow/browser-plugin-ecommerce'; import * as EnhancedEcommerce from '@snowplow/browser-plugin-enhanced-ecommerce'; import * as AdTracking from '@snowplow/browser-plugin-ad-tracking'; import * as SiteTracking from '@snowplow/browser-plugin-site-tracking'; @@ -26,6 +22,8 @@ import * as VimeoTracking from '@snowplow/browser-plugin-vimeo-tracking'; import * as PrivacySandbox from '@snowplow/browser-plugin-privacy-sandbox'; import * as ButtonClickTracking from '@snowplow/browser-plugin-button-click-tracking'; import * as EventSpecifications from '@snowplow/browser-plugin-event-specifications'; +import * as PerformanceNavigationTiming from '@snowplow/browser-plugin-performance-navigation-timing'; +import * as WebVitals from '@snowplow/browser-plugin-web-vitals'; /** * Calculates the required plugins to intialise per tracker @@ -36,49 +34,17 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { performanceTiming, gaCookies, geolocation, - optimizelyExperiments, - optimizelyStates, - optimizelyVariations, - optimizelyVisitor, - optimizelyAudiences, - optimizelyDimensions, - optimizelySummary, - optimizelyXSummary, clientHints, + webVitals } = configuration?.contexts ?? {}; const activatedPlugins: Array<[BrowserPlugin, {} | Record]> = []; - if ( - plugins.optimizely && - (optimizelySummary || - optimizelyExperiments || - optimizelyStates || - optimizelyVariations || - optimizelyVisitor || - optimizelyAudiences || - optimizelyDimensions) - ) { - const { OptimizelyPlugin, ...apiMethods } = Optimizely; - activatedPlugins.push([ - OptimizelyPlugin( - optimizelySummary, - optimizelyExperiments, - optimizelyStates, - optimizelyVariations, - optimizelyVisitor, - optimizelyAudiences, - optimizelyDimensions - ), - apiMethods, - ]); - } - if (plugins.performanceTiming && performanceTiming) { const { PerformanceTimingPlugin, ...apiMethods } = PerformanceTiming; activatedPlugins.push([PerformanceTimingPlugin(), apiMethods]); } - if (plugins.optimizelyX && optimizelyXSummary) { + if (plugins.optimizelyX) { const { OptimizelyXPlugin, ...apiMethods } = OptimizelyX; activatedPlugins.push([OptimizelyXPlugin(), apiMethods]); } @@ -97,11 +63,6 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { activatedPlugins.push([gaCookiesPlugin, apiMethods]); } - if (plugins.consent) { - const { ConsentPlugin, ...apiMethods } = Consent; - activatedPlugins.push([ConsentPlugin(), apiMethods]); - } - if (plugins.geolocation) { const { GeolocationPlugin, ...apiMethods } = Geolocation; activatedPlugins.push([GeolocationPlugin(geolocation), apiMethods]); @@ -122,11 +83,6 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { activatedPlugins.push([ErrorTrackingPlugin(), apiMethods]); } - if (plugins.ecommerce) { - const { EcommercePlugin, ...apiMethods } = Ecommerce; - activatedPlugins.push([EcommercePlugin(), apiMethods]); - } - if (plugins.enhancedEcommerce) { const { EnhancedEcommercePlugin, ...apiMethods } = EnhancedEcommerce; activatedPlugins.push([EnhancedEcommercePlugin(), apiMethods]); @@ -147,11 +103,6 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { activatedPlugins.push([SnowplowEcommercePlugin(), apiMethods]); } - if (plugins.browserFeatures) { - const { BrowserFeaturesPlugin, ...apiMethods } = BrowserFeatures; - activatedPlugins.push([BrowserFeaturesPlugin(), apiMethods]); - } - if (plugins.timezone) { const { TimezonePlugin, ...apiMethods } = Timezone; activatedPlugins.push([TimezonePlugin(), apiMethods]); @@ -197,5 +148,15 @@ export function Plugins(configuration: JavaScriptTrackerConfiguration) { activatedPlugins.push([EventSpecificationsPlugin(), apiMethods]); } + if (plugins.performanceNavigationTiming) { + const { PerformanceNavigationTimingPlugin, ...apiMethods } = PerformanceNavigationTiming; + activatedPlugins.push([PerformanceNavigationTimingPlugin(), apiMethods]); + } + + if (plugins.webVitals && webVitals) { + const { WebVitalsPlugin, ...apiMethods } = WebVitals; + activatedPlugins.push([WebVitalsPlugin(typeof webVitals === 'object' ? webVitals : undefined), apiMethods]); + } + return activatedPlugins; } diff --git a/trackers/javascript-tracker/test/integration/integration.test.ts b/trackers/javascript-tracker/test/integration/integration.test.ts index 7038af24b..e97cb6361 100755 --- a/trackers/javascript-tracker/test/integration/integration.test.ts +++ b/trackers/javascript-tracker/test/integration/integration.test.ts @@ -174,44 +174,6 @@ describe('Snowplow Micro integration', () => { ).toBe(true); }); - it(`${method}: contains a transaction event`, () => { - expect( - logContains({ - event: { - app_id: `sp-${method}-${testIdentifier}`, - event: 'transaction', - tr_orderid: 'order-123', - tr_affiliation: 'acme', - tr_total: 8000, - tr_tax: 100, - tr_shipping: 50, - tr_city: 'pheonix', - tr_state: 'arizona', - tr_country: 'USA', - tr_currency: 'JPY', - }, - }) - ).toBe(true); - }); - - it(`${method}: contains a transaction item event`, () => { - expect( - logContains({ - event: { - app_id: `sp-${method}-${testIdentifier}`, - event: 'transaction_item', - ti_orderid: 'order-123', - ti_sku: '1001', - ti_name: 'Blue t-shirt', - ti_category: 'clothing', - ti_price: 2000, - ti_quantity: 2, - ti_currency: 'JPY', - }, - }) - ).toBe(true); - }); - it(`${method}: contains an unhandled exception event`, () => { expect( logContains({ @@ -253,50 +215,6 @@ describe('Snowplow Micro integration', () => { expect(F.size(F.groupBy(getWebPageId, pageViews))).toBeGreaterThanOrEqual(2); }); - it(`${method}: contains a GDPR context`, () => { - expect( - logContains({ - event: { - app_id: `sp-${method}-${testIdentifier}`, - contexts: { - data: [ - { - schema: 'iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0', - data: { - basisForProcessing: 'consent', - documentId: 'someId', - documentVersion: '0.1.0', - documentDescription: 'this document is a test', - }, - }, - ], - }, - }, - }) - ).toBe(true); - }); - - it(`${method}: has a GDPR context attached to all events`, () => { - const withoutGdprContext = F.compose( - F.negate(F.includes('iglu:com.snowplowanalytics.snowplow/gdpr/jsonschema/1-0-0')), - F.get('contexts') - ); - - const fromCfTracker = F.compose(F.eq('cf'), F.get('event.name_tracker')); - - const numberWithoutGdpr = F.size( - F.filter( - (ev) => - withoutGdprContext(ev) && - fromCfTracker(ev) && - F.get('event.app_id', ev) === `sp-${method}-${testIdentifier}`, - log - ) - ); - - expect(numberWithoutGdpr).toBe(0); - }); - it(`${method}: has global contexts attached to structured events`, () => { expect( logContains({ @@ -496,17 +414,34 @@ describe('Snowplow Micro integration', () => { user_id: 'Malcolm', unstruct_event: { data: { - schema: 'iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0', + schema: 'iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2', data: { - sku: '000345', - name: 'blue tie', - category: 'clothing', - unitPrice: 3.49, - quantity: 2, - currency: 'GBP', + type: 'add_to_cart', }, }, }, + contexts: { + data: [ + { + schema: 'iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0', + data: { + id: 'P125', + name: 'Baseball T', + brand: 'Snowplow', + category: 'Mens/Apparel', + price: 200, + currency: 'USD', + }, + }, + { + schema: 'iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0', + data: { + total_value: 200, + currency: 'USD', + }, + }, + ], + }, }, }) ).toBe(true); @@ -522,17 +457,34 @@ describe('Snowplow Micro integration', () => { user_id: 'Malcolm', unstruct_event: { data: { - schema: 'iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0', + schema: 'iglu:com.snowplowanalytics.snowplow.ecommerce/snowplow_ecommerce_action/jsonschema/1-0-2', data: { - sku: '000345', - name: 'blue tie', - category: 'clothing', - unitPrice: 3.49, - quantity: 1, - currency: 'GBP', + type: 'remove_from_cart', }, }, }, + contexts: { + data: [ + { + schema: 'iglu:com.snowplowanalytics.snowplow.ecommerce/product/jsonschema/1-0-0', + data: { + id: 'P125', + name: 'Baseball T', + brand: 'Snowplow', + category: 'Mens/Apparel', + price: 200, + currency: 'USD', + }, + }, + { + schema: 'iglu:com.snowplowanalytics.snowplow.ecommerce/cart/jsonschema/1-0-0', + data: { + total_value: 0, + currency: 'USD', + }, + }, + ], + }, }, }) ).toBe(true); @@ -586,74 +538,6 @@ describe('Snowplow Micro integration', () => { ).toBe(true); }); - it(`${method}: contains consent granted event`, () => { - expect( - logContains({ - event: { - event: 'unstruct', - platform: 'mob', - app_id: `sp-${method}-${testIdentifier}`, - user_id: 'Malcolm', - contexts: { - data: [ - { - schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', - data: { - id: '1234', - version: '5', - name: 'consent_document', - description: 'a document granting consent', - }, - }, - ], - }, - unstruct_event: { - data: { - schema: 'iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0', - data: { - expiry: '2020-11-21T08:00:00.000Z', - }, - }, - }, - }, - }) - ).toBe(true); - }); - - it(`${method}: contains consent withdrawn event`, () => { - expect( - logContains({ - event: { - event: 'unstruct', - platform: 'mob', - app_id: `sp-${method}-${testIdentifier}`, - user_id: 'Malcolm', - contexts: { - data: [ - { - schema: 'iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0', - data: { - id: '1234', - version: '5', - name: 'consent_document', - description: 'a document withdrawing consent', - }, - }, - ], - }, - unstruct_event: { - data: { - schema: 'iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0', - data: { - all: false, - }, - }, - }, - }, - }) - ).toBe(true); - }); - it(`${method}: contains custom error event`, () => { expect( logContains({ diff --git a/trackers/javascript-tracker/test/pages/integration.html b/trackers/javascript-tracker/test/pages/integration.html index 1fce01eca..4b3f44bbc 100644 --- a/trackers/javascript-tracker/test/pages/integration.html +++ b/trackers/javascript-tracker/test/pages/integration.html @@ -127,13 +127,6 @@ return {}; } - window.snowplow('enableGdprContext:sp', { - basisForProcessing: 'consent', - documentId: 'someId', - documentVersion: '0.1.0', - documentDescription: 'this document is a test', - }); - window.snowplow('addGlobalContexts:sp', [erroneousContextGenerator]); window.snowplow('addGlobalContexts:sp', [ [structuredEventFilter, [eventTypeContextGenerator, geolocationContext]], @@ -190,33 +183,6 @@ timestamp: { type: 'ttm', value: 1477401868 }, }); - window.snowplow('addTrans:sp', { - orderId: 'order-123', - total: 8000, - affiliation: 'acme', - tax: 100, - shipping: 50, - city: 'pheonix', - state: 'arizona', - country: 'USA', - currency: 'JPY', - }); - - // addItem might be called for each item in the shopping cart, or not at all. - window.snowplow('addItem:sp', { - orderId: 'order-123', - sku: '1001', - name: 'Blue t-shirt', - category: 'clothing', - price: '2000', - quantity: '2', - currency: 'JPY', - }); - - // trackTrans sends the transaction to Snowplow tracking servers. - // Must be called last to commit the transaction. - window.snowplow('trackTrans:sp'); - var testAcceptRuleSet = { accept: ['iglu:com.snowplowanalytics.snowplow/*/jsonschema/*-*-*'], }; @@ -294,20 +260,32 @@ }); window.snowplow('trackAddToCart:sp', { - sku: '000345', - name: 'blue tie', - category: 'clothing', - unitPrice: 3.49, - quantity: 2, - currency: 'GBP', + products: [ + { + id: "P125", + name: "Baseball T", + brand: "Snowplow", + category: "Mens/Apparel", + price: 200, + currency: "USD", + }, + ], + total_value: 200, + currency: "USD", }); window.snowplow('trackRemoveFromCart:sp', { - sku: '000345', - name: 'blue tie', - category: 'clothing', - unitPrice: 3.49, - quantity: 1, - currency: 'GBP', + products: [ + { + id: "P125", + name: "Baseball T", + brand: "Snowplow", + category: "Mens/Apparel", + price: 200, + currency: "USD", + }, + ], + total_value: 0, + currency: "USD", }); window.snowplow('trackSiteSearch:sp', { @@ -324,22 +302,6 @@ label: 'Map loading time', }); - window.snowplow('trackConsentGranted:sp', { - id: '1234', - version: '5', - name: 'consent_document', - description: 'a document granting consent', - expiry: '2020-11-21T08:00:00.000Z', - }); - - window.snowplow('trackConsentWithdrawn:sp', { - all: false, - id: '1234', - version: '5', - name: 'consent_document', - description: 'a document withdrawing consent', - }); - try { notExistentObject.notExistentProperty(); } catch (e) { diff --git a/trackers/javascript-tracker/tracker.config.ts b/trackers/javascript-tracker/tracker.config.ts index 512613ecc..db9e10ab6 100644 --- a/trackers/javascript-tracker/tracker.config.ts +++ b/trackers/javascript-tracker/tracker.config.ts @@ -1,19 +1,18 @@ /* By default included plugins in sp.js */ export const adTracking = true; -export const clientHints = true; export const enhancedConsent = true; export const errorTracking = true; export const formTracking = true; export const gaCookies = true; -export const geolocation = true; export const linkClickTracking = true; -export const performanceTiming = true; +export const performanceNavigationTiming = true; export const siteTracking = true; export const snowplowEcommerceTracking = true; -export const timezone = true; export const buttonClickTracking = true; +export const webVitals = true; /* By default excluded plugins in sp.js */ +export const clientHints = false; export const mediaTracking = false; export const optimizelyX = false; export const youtubeTracking = false; @@ -21,10 +20,9 @@ export const snowplowMedia = false; export const vimeoTracking = false; export const privacySandbox = false; export const eventSpecifications = false; +export const geolocation = false; +export const timezone = false; /* Deprecated */ -export const browserFeatures = false; -export const consent = false; -export const ecommerce = false; export const enhancedEcommerce = false; -export const optimizely = false; +export const performanceTiming = false; diff --git a/trackers/javascript-tracker/tracker.lite.config.ts b/trackers/javascript-tracker/tracker.lite.config.ts index de44f917c..0bac546e3 100644 --- a/trackers/javascript-tracker/tracker.lite.config.ts +++ b/trackers/javascript-tracker/tracker.lite.config.ts @@ -1,20 +1,17 @@ export const performanceTiming = false; +export const performanceNavigationTiming = false; export const gaCookies = false; export const geolocation = false; export const optimizelyX = false; export const clientHints = false; -export const consent = false; export const linkClickTracking = false; export const formTracking = false; export const errorTracking = false; export const timezone = false; -export const ecommerce = false; export const enhancedEcommerce = false; export const adTracking = false; export const siteTracking = false; export const snowplowEcommerceTracking = false; -export const optimizely = false; -export const browserFeatures = false; export const mediaTracking = false; export const youtubeTracking = false; export const enhancedConsent = false; @@ -23,3 +20,4 @@ export const vimeoTracking = false; export const privacySandbox = false; export const buttonClickTracking = false; export const eventSpecifications = false; +export const webVitals = false; diff --git a/trackers/javascript-tracker/tracker.test.config.ts b/trackers/javascript-tracker/tracker.test.config.ts index 87991cdf1..0aed42800 100644 --- a/trackers/javascript-tracker/tracker.test.config.ts +++ b/trackers/javascript-tracker/tracker.test.config.ts @@ -1,20 +1,17 @@ export const performanceTiming = true; +export const performanceNavigationTiming = false; export const gaCookies = true; export const geolocation = true; export const optimizelyX = true; export const clientHints = true; -export const consent = true; export const linkClickTracking = true; export const formTracking = true; export const errorTracking = true; export const timezone = true; -export const ecommerce = true; export const enhancedEcommerce = true; export const adTracking = true; export const siteTracking = true; -export const snowplowEcommerceTracking = false; -export const optimizely = true; -export const browserFeatures = true; +export const snowplowEcommerceTracking = true; export const mediaTracking = true; export const youtubeTracking = true; export const enhancedConsent = false; @@ -23,3 +20,4 @@ export const vimeoTracking = true; export const privacySandbox = false; export const buttonClickTracking = true; export const eventSpecifications = false; +export const webVitals = false; From 38c3abdeb1c0b828f325652a6d8b6c38b1fe9196 Mon Sep 17 00:00:00 2001 From: Matus Tomlein Date: Thu, 3 Oct 2024 13:48:56 +0200 Subject: [PATCH 082/277] Make cookie writes async by default to improve tracker performance (#1340) --- .../browser-tracker/browser-tracker.api.md | 1 + .../browser-tracker.trackerconfiguration.md | 1 + ...-cookie_optimization_2024-09-03-12-13.json | 10 + ...-cookie_optimization_2024-09-03-12-13.json | 10 + ...-cookie_optimization_2024-09-03-12-13.json | 10 + .../browser-tracker-core/src/helpers/index.ts | 8 +- .../browser-tracker-core/src/snowplow.ts | 10 + .../src/tracker/cookie_storage.ts | 207 ++++++++++++++++++ .../browser-tracker-core/src/tracker/index.ts | 19 +- .../browser-tracker-core/src/tracker/types.ts | 9 + .../test/helpers/index.ts | 1 + .../test/tracker/cookie_storage.test.ts | 69 ++++++ .../src/helpers.ts | 2 + .../src/index.ts | 3 + plugins/browser-plugin-media/test/api.test.ts | 3 +- .../test/pages/track_performance.html | 98 +++++++++ .../performance/track_performance.test.ts | 61 ++++++ .../test/wdio.default.conf.ts | 1 + 18 files changed, 509 insertions(+), 14 deletions(-) create mode 100644 common/changes/@snowplow/browser-tracker-core/issue-cookie_optimization_2024-09-03-12-13.json create mode 100644 common/changes/@snowplow/browser-tracker/issue-cookie_optimization_2024-09-03-12-13.json create mode 100644 common/changes/@snowplow/javascript-tracker/issue-cookie_optimization_2024-09-03-12-13.json create mode 100644 libraries/browser-tracker-core/src/tracker/cookie_storage.ts create mode 100644 libraries/browser-tracker-core/test/tracker/cookie_storage.test.ts create mode 100644 trackers/javascript-tracker/test/pages/track_performance.html create mode 100755 trackers/javascript-tracker/test/performance/track_performance.test.ts diff --git a/api-docs/docs/browser-tracker/browser-tracker.api.md b/api-docs/docs/browser-tracker/browser-tracker.api.md index 53f8939d5..2a40e49a3 100644 --- a/api-docs/docs/browser-tracker/browser-tracker.api.md +++ b/api-docs/docs/browser-tracker/browser-tracker.api.md @@ -541,6 +541,7 @@ export type TrackerConfiguration = { plugins?: Array; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; preservePageViewIdForUrl?: PreservePageViewIdForUrl; + synchronousCookieWrite?: boolean; } & EmitterConfigurationBase & LocalStorageEventStoreConfigurationBase; // @public diff --git a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md index c84696320..04b2fafda 100644 --- a/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md +++ b/api-docs/docs/browser-tracker/markdown/browser-tracker.trackerconfiguration.md @@ -30,6 +30,7 @@ type TrackerConfiguration = { plugins?: Array; onSessionUpdateCallback?: (updatedSession: ClientSession) => void; preservePageViewIdForUrl?: PreservePageViewIdForUrl; + synchronousCookieWrite?: boolean; } & EmitterConfigurationBase & LocalStorageEventStoreConfigurationBase; ``` diff --git a/common/changes/@snowplow/browser-tracker-core/issue-cookie_optimization_2024-09-03-12-13.json b/common/changes/@snowplow/browser-tracker-core/issue-cookie_optimization_2024-09-03-12-13.json new file mode 100644 index 000000000..b56ad4f64 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker-core/issue-cookie_optimization_2024-09-03-12-13.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker-core", + "comment": "Make cookie writes async by default to improve tracker performance (#1340)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker-core" +} \ No newline at end of file diff --git a/common/changes/@snowplow/browser-tracker/issue-cookie_optimization_2024-09-03-12-13.json b/common/changes/@snowplow/browser-tracker/issue-cookie_optimization_2024-09-03-12-13.json new file mode 100644 index 000000000..8e2bf89d1 --- /dev/null +++ b/common/changes/@snowplow/browser-tracker/issue-cookie_optimization_2024-09-03-12-13.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-tracker", + "comment": "Make cookie writes async by default to improve tracker performance (#1340)", + "type": "none" + } + ], + "packageName": "@snowplow/browser-tracker" +} \ No newline at end of file diff --git a/common/changes/@snowplow/javascript-tracker/issue-cookie_optimization_2024-09-03-12-13.json b/common/changes/@snowplow/javascript-tracker/issue-cookie_optimization_2024-09-03-12-13.json new file mode 100644 index 000000000..c8a4588c9 --- /dev/null +++ b/common/changes/@snowplow/javascript-tracker/issue-cookie_optimization_2024-09-03-12-13.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/javascript-tracker", + "comment": "Make cookie writes async by default to improve tracker performance (#1340)", + "type": "none" + } + ], + "packageName": "@snowplow/javascript-tracker" +} \ No newline at end of file diff --git a/libraries/browser-tracker-core/src/helpers/index.ts b/libraries/browser-tracker-core/src/helpers/index.ts index 6c93b2b07..b21da64df 100755 --- a/libraries/browser-tracker-core/src/helpers/index.ts +++ b/libraries/browser-tracker-core/src/helpers/index.ts @@ -254,10 +254,10 @@ export function findRootDomain(sameSite: string, secure: boolean) { cookie(cookieName, cookieValue, 0, '/', currentDomain, sameSite, secure); if (cookie(cookieName) === cookieValue) { // Clean up created cookie(s) - deleteCookie(cookieName, currentDomain, sameSite, secure); + deleteCookie(cookieName, '/', currentDomain, sameSite, secure); const cookieNames = getCookiesWithPrefix(cookiePrefix); for (let i = 0; i < cookieNames.length; i++) { - deleteCookie(cookieNames[i], currentDomain, sameSite, secure); + deleteCookie(cookieNames[i], '/', currentDomain, sameSite, secure); } return currentDomain; @@ -290,8 +290,8 @@ export function isValueInArray(val: T, array: T[]) { * @param cookieName - The name of the cookie to delete * @param domainName - The domain the cookie is in */ -export function deleteCookie(cookieName: string, domainName?: string, sameSite?: string, secure?: boolean) { - cookie(cookieName, '', -1, '/', domainName, sameSite, secure); +export function deleteCookie(cookieName: string, path?: string, domainName?: string, sameSite?: string, secure?: boolean) { + cookie(cookieName, '', -1, path, domainName, sameSite, secure); } /** diff --git a/libraries/browser-tracker-core/src/snowplow.ts b/libraries/browser-tracker-core/src/snowplow.ts index 955574b21..3161f50e8 100644 --- a/libraries/browser-tracker-core/src/snowplow.ts +++ b/libraries/browser-tracker-core/src/snowplow.ts @@ -32,6 +32,7 @@ import { LOG } from '@snowplow/tracker-core'; import { SharedState } from './state'; import { Tracker } from './tracker'; import { BrowserTracker, TrackerConfiguration } from './tracker/types'; +import { asyncCookieStorage } from './tracker/cookie_storage'; const namedTrackers: Record = {}; @@ -151,3 +152,12 @@ function getTrackersFromCollection( } return trackers; } + +/** + * Write all pending cookies to the browser. + * Useful if you track events just before the page is unloaded. + * This call is not necessary if `synchronousCookieWrite` is set to `true`. + */ +export function flushPendingCookies() { + asyncCookieStorage.flush(); +} diff --git a/libraries/browser-tracker-core/src/tracker/cookie_storage.ts b/libraries/browser-tracker-core/src/tracker/cookie_storage.ts new file mode 100644 index 000000000..b7b2dfd07 --- /dev/null +++ b/libraries/browser-tracker-core/src/tracker/cookie_storage.ts @@ -0,0 +1,207 @@ +import { cookie, deleteCookie } from '../helpers'; + + +/** + * Cookie storage interface for reading and writing cookies. + */ +export interface CookieStorage { + /** + * Get the value of a cookie + * + * @param name - The name of the cookie + * @returns The cookie value + */ + getCookie(name: string): string; + + /** + * Set a cookie + * + * @param name - The cookie name (required) + * @param value - The cookie value + * @param ttl - The cookie Time To Live (seconds) + * @param path - The cookies path + * @param domain - The cookies domain + * @param samesite - The cookies samesite attribute + * @param secure - Boolean to specify if cookie should be secure + * @returns true if the cookie was set, false otherwise + */ + setCookie( + name: string, + value?: string, + ttl?: number, + path?: string, + domain?: string, + samesite?: string, + secure?: boolean + ): boolean; + + /** + * Delete a cookie + * + * @param name - The cookie name + * @param domainName - The cookie domain name + * @param sameSite - The cookie same site attribute + * @param secure - Boolean to specify if cookie should be secure + */ + deleteCookie(name: string, path?: string, domainName?: string, sameSite?: string, secure?: boolean): void; +} + +export interface AsyncCookieStorage extends CookieStorage { + /** + * Clear the cookie storage cache (does not delete any cookies) + */ + clearCache(): void; + + /** + * Write all pending cookies. + */ + flush(): void; +} + +interface Cookie { + getValue: () => string; + setValue: (value?: string, ttl?: number, path?: string, domain?: string, samesite?: string, secure?: boolean) => boolean; + deleteValue: (path?: string, domainName?: string, sameSite?: string, secure?: boolean) => void; + flush: () => void; +} + +function newCookie(name: string): Cookie { + let flushTimer: ReturnType | undefined; + let lastSetValueArgs: Parameters | undefined; + let cacheExpireAt: Date | undefined; + let flushed = true; + const flushTimeout = 10; // milliseconds + const maxCacheTtl = 0.05; // seconds + + function getValue(): string { + // Note: we can't cache the cookie value as we don't know the expiration date + if (lastSetValueArgs && (!cacheExpireAt || cacheExpireAt > new Date())) { + return lastSetValueArgs[0] ?? cookie(name); + } + return cookie(name); + } + + function setValue(value?: string, ttl?: number, path?: string, domain?: string, samesite?: string, secure?: boolean): boolean { + lastSetValueArgs = [value, ttl, path, domain, samesite, secure]; + flushed = false; + + // throttle setting the cookie + if (flushTimer === undefined) { + flushTimer = setTimeout(() => { + flushTimer = undefined; + flush(); + }, flushTimeout); + } + + cacheExpireAt = new Date(Date.now() + Math.min(maxCacheTtl, ttl ?? maxCacheTtl) * 1000); + return true; + } + + function deleteValue(path?: string, domainName?: string, sameSite?: string, secure?: boolean): void { + lastSetValueArgs = undefined; + flushed = true; + + // cancel setting the cookie + if (flushTimer !== undefined) { + clearTimeout(flushTimer); + flushTimer = undefined; + } + + deleteCookie(name, path, domainName, sameSite, secure); + } + + function flush(): void { + if (flushTimer !== undefined) { + clearTimeout(flushTimer); + flushTimer = undefined; + } + + if (flushed) { + return; + } + flushed = true; + + if (lastSetValueArgs !== undefined) { + const [value, ttl, path, domain, samesite, secure] = lastSetValueArgs; + cookie(name, value, ttl, path, domain, samesite, secure); + } + } + + return { + getValue, + setValue, + deleteValue, + flush, + }; +} + +/** + * Create a new async cookie storage + * + * @returns A new cookie storage + */ +export function newCookieStorage(): AsyncCookieStorage { + let cache: Record = {}; + + function getOrInitCookie(name: string): Cookie { + if (!cache[name]) { + cache[name] = newCookie(name); + } + return cache[name]; + } + + function getCookie(name: string): string { + return getOrInitCookie(name).getValue(); + } + + function setCookie( + name: string, + value?: string, + ttl?: number, + path?: string, + domain?: string, + samesite?: string, + secure?: boolean + ): boolean { + return getOrInitCookie(name).setValue(value, ttl, path, domain, samesite, secure); + } + + function deleteCookie(name: string, path?: string, domainName?: string, sameSite?: string, secure?: boolean): void { + getOrInitCookie(name).deleteValue(path, domainName, sameSite, secure); + } + + function clearCache(): void { + cache = {}; + } + + function flush(): void { + for (const cookie of Object.values(cache)) { + cookie.flush(); + } + } + + return { + getCookie, + setCookie, + deleteCookie, + clearCache, + flush, + }; +} + +/** + * Cookie storage instance with asynchronous cookie writes + */ +export const asyncCookieStorage = newCookieStorage(); + +/** + * Cookie storage instance with synchronous cookie writes + */ +export const syncCookieStorage: CookieStorage = { + getCookie: cookie, + setCookie: (name, value, ttl, path, domain, samesite, secure) => { + cookie(name, value, ttl, path, domain, samesite, secure); + return document.cookie.indexOf(`${name}=`) !== -1; + }, + deleteCookie +}; diff --git a/libraries/browser-tracker-core/src/tracker/index.ts b/libraries/browser-tracker-core/src/tracker/index.ts index e4b93a322..8787d5146 100755 --- a/libraries/browser-tracker-core/src/tracker/index.ts +++ b/libraries/browser-tracker-core/src/tracker/index.ts @@ -16,11 +16,9 @@ import { getReferrer, addEventListener, getHostName, - cookie, attemptGetLocalStorage, attemptWriteLocalStorage, attemptDeleteLocalStorage, - deleteCookie, fixupTitle, fromQuerystring, isInteger, @@ -69,6 +67,7 @@ import { } from './id_cookie'; import { CLIENT_SESSION_SCHEMA, WEB_PAGE_SCHEMA, BROWSER_CONTEXT_SCHEMA } from './schemata'; import { getBrowserProperties } from '../helpers/browser_props'; +import { asyncCookieStorage, syncCookieStorage } from './cookie_storage'; declare global { interface Navigator { @@ -172,6 +171,9 @@ export function Tracker( }; }; + // Create a new cookie storage instance with synchronous cookie write if configured + const cookieStorage = trackerConfiguration.synchronousCookieWrite ? syncCookieStorage : asyncCookieStorage; + // Get all injected plugins browserPlugins.push(getBrowserDataPlugin()); /* When including the Web Page context, we add the relevant internal plugins */ @@ -479,7 +481,7 @@ export function Tracker( if (configStateStorageStrategy == 'localStorage') { return attemptGetLocalStorage(fullName); } else if (configStateStorageStrategy == 'cookie' || configStateStorageStrategy == 'cookieAndLocalStorage') { - return cookie(fullName); + return cookieStorage.getCookie(fullName); } return undefined; } @@ -606,8 +608,7 @@ export function Tracker( if (configStateStorageStrategy == 'localStorage') { return attemptWriteLocalStorage(name, value, timeout); } else if (configStateStorageStrategy == 'cookie' || configStateStorageStrategy == 'cookieAndLocalStorage') { - cookie(name, value, timeout, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure); - return document.cookie.indexOf(`${name}=`) !== -1 ? true : false; + return cookieStorage.setCookie(name, value, timeout, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure); } return false; } @@ -620,8 +621,8 @@ export function Tracker( const sesname = getSnowplowCookieName('ses'); attemptDeleteLocalStorage(idname); attemptDeleteLocalStorage(sesname); - deleteCookie(idname, configCookieDomain, configCookieSameSite, configCookieSecure); - deleteCookie(sesname, configCookieDomain, configCookieSameSite, configCookieSecure); + cookieStorage.deleteCookie(idname, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure); + cookieStorage.deleteCookie(sesname, configCookiePath, configCookieDomain, configCookieSameSite, configCookieSecure); if (!configuration?.preserveSession) { memorizedSessionId = uuid(); memorizedVisitCount = 1; @@ -832,7 +833,7 @@ export function Tracker( const isFirstEventInSession = eventIndexFromIdCookie(idCookie) === 0; if (configOptOutCookie) { - toOptoutByCookie = !!cookie(configOptOutCookie); + toOptoutByCookie = !!cookieStorage.getCookie(configOptOutCookie); } else { toOptoutByCookie = false; } @@ -1299,7 +1300,7 @@ export function Tracker( }, setUserIdFromCookie: function (cookieName: string) { - businessUserId = cookie(cookieName); + businessUserId = cookieStorage.getCookie(cookieName); }, setCollectorUrl: function (collectorUrl: string) { diff --git a/libraries/browser-tracker-core/src/tracker/types.ts b/libraries/browser-tracker-core/src/tracker/types.ts index 4d34b9a72..5bbfae2ba 100755 --- a/libraries/browser-tracker-core/src/tracker/types.ts +++ b/libraries/browser-tracker-core/src/tracker/types.ts @@ -190,6 +190,15 @@ export type TrackerConfiguration = { * Defaults to `false`. */ preservePageViewIdForUrl?: PreservePageViewIdForUrl; + + /** + * Whether to write the cookies synchronously. + * This can be useful for testing purposes to ensure that the cookies are written before the test continues. + * It also has the benefit of making sure that the cookie is correctly set before session information is used in events. + * The downside is that it is slower and blocks the main thread. + * @defaultValue false + */ + synchronousCookieWrite?: boolean; } & EmitterConfigurationBase & LocalStorageEventStoreConfigurationBase; diff --git a/libraries/browser-tracker-core/test/helpers/index.ts b/libraries/browser-tracker-core/test/helpers/index.ts index 04dc78825..cff0d8bfb 100644 --- a/libraries/browser-tracker-core/test/helpers/index.ts +++ b/libraries/browser-tracker-core/test/helpers/index.ts @@ -77,5 +77,6 @@ export function createTestSessionIdCookie(params?: CreateTestSessionIdCookie) { export function createTracker(configuration?: TrackerConfiguration, sharedState?: SharedState) { let id = 'sp-' + Math.random(); + configuration = { ...configuration, synchronousCookieWrite: true }; return addTracker(id, id, '', '', sharedState ?? new SharedState(), configuration); } diff --git a/libraries/browser-tracker-core/test/tracker/cookie_storage.test.ts b/libraries/browser-tracker-core/test/tracker/cookie_storage.test.ts new file mode 100644 index 000000000..ce48e9bee --- /dev/null +++ b/libraries/browser-tracker-core/test/tracker/cookie_storage.test.ts @@ -0,0 +1,69 @@ +import { asyncCookieStorage, newCookieStorage, syncCookieStorage } from "../../src/tracker/cookie_storage"; + +test("cookieStorage sets, gets, and deletes value", () => { + const cookieStorage = newCookieStorage(); + cookieStorage.setCookie("test", "value"); + expect(cookieStorage.getCookie("test")).toBe("value"); + + cookieStorage.deleteCookie("test"); + expect(cookieStorage.getCookie("test")).toBeFalsy(); +}); + +test("cookieStorage sets value with ttl and clears cache after ttl", (done) => { + const cookieStorage = newCookieStorage(); + const ttl = 1; + cookieStorage.setCookie("test", "value", ttl); + + expect(cookieStorage.getCookie("test")).toBe("value"); + + setTimeout(() => { + expect(cookieStorage.getCookie("test")).toBeFalsy(); + done(); + }, ttl * 1000 + 100); +}); + +test("cookieStorage sets value with path, domain, samesite, and secure", () => { + const cookieStorage = newCookieStorage(); + const path = "/"; + const domain = "example.com"; + const samesite = "Strict"; + const secure = true; + + cookieStorage.setCookie("test", "value", undefined, path, domain, samesite, secure); + expect(cookieStorage.getCookie("test")).toBe("value"); +}); + +test("cookieStorage sets value with synchronous cookie write", () => { + const cookieStorage = syncCookieStorage; + cookieStorage.setCookie("test", "value"); + expect(cookieStorage.getCookie("test")).toBe("value"); +}); + +test("asyncCookieStorage flushes pending cookies", () => { + let cookieJar = ''; + + jest.spyOn(document, 'cookie', 'set').mockImplementation((cookieValue) => { + cookieJar = cookieValue; + }); + + asyncCookieStorage.setCookie("test", "value"); + expect(cookieJar).toBe(""); + asyncCookieStorage.flush(); + expect(cookieJar).toBe("test=value"); +}); + +test('writes the latest cookie value', (done) => { + let cookieJar = ''; + + jest.spyOn(document, 'cookie', 'set').mockImplementation((cookieValue) => { + cookieJar = cookieValue; + }); + + for (let i = 0; i < 100; i++) { + asyncCookieStorage.setCookie("test", `value${i}`); + } + setTimeout(() => { + expect(cookieJar).toBe('test=value99'); + done(); + }, 100); +}); diff --git a/plugins/browser-plugin-form-tracking/src/helpers.ts b/plugins/browser-plugin-form-tracking/src/helpers.ts index 8364f1780..c6af6113b 100644 --- a/plugins/browser-plugin-form-tracking/src/helpers.ts +++ b/plugins/browser-plugin-form-tracking/src/helpers.ts @@ -1,5 +1,6 @@ import { addEventListener, + flushPendingCookies, getCssClasses, getFilterByClass, getFilterByName, @@ -423,6 +424,7 @@ function getFormSubmissionListener( }), resolveDynamicContext(context, target, elementsData) ); + flushPendingCookies(); } }; } diff --git a/plugins/browser-plugin-link-click-tracking/src/index.ts b/plugins/browser-plugin-link-click-tracking/src/index.ts index 873122a16..076c681a4 100644 --- a/plugins/browser-plugin-link-click-tracking/src/index.ts +++ b/plugins/browser-plugin-link-click-tracking/src/index.ts @@ -34,6 +34,7 @@ import { getCssClasses, getFilterByClass, getHostName, + flushPendingCookies, type BrowserPlugin, type BrowserTracker, type FilterCriterion, @@ -183,6 +184,8 @@ export function trackLinkClick( } if (payload) t.core.track(payload, event.context, event.timestamp); }); + + flushPendingCookies(); } /** diff --git a/plugins/browser-plugin-media/test/api.test.ts b/plugins/browser-plugin-media/test/api.test.ts index 68803bb12..1c9910256 100644 --- a/plugins/browser-plugin-media/test/api.test.ts +++ b/plugins/browser-plugin-media/test/api.test.ts @@ -44,11 +44,12 @@ describe('Media Tracking API', () => { addTracker(`sp${idx++}`, `sp${idx++}`, 'js-3.9.0', '', new SharedState(), { stateStorageStrategy: 'cookie', encodeBase64: false, + synchronousCookieWrite: true, plugins: [ SnowplowMediaPlugin(), { beforeTrack: (pb: PayloadBuilder) => { - const { ue_pr, co, tna } = pb.getPayload(); + const { ue_pr, co, tna } = pb.build(); if (tna == `sp${idx - 1}`) { eventQueue.push({ event: JSON.parse(ue_pr as string).data, context: JSON.parse(co as string).data }); } diff --git a/trackers/javascript-tracker/test/pages/track_performance.html b/trackers/javascript-tracker/test/pages/track_performance.html new file mode 100644 index 000000000..50d89af3f --- /dev/null +++ b/trackers/javascript-tracker/test/pages/track_performance.html @@ -0,0 +1,98 @@ + + + + + Track performance test page + + + +

Page for sending requests to Snowplow Micro

+
+ + + + + + + diff --git a/trackers/javascript-tracker/test/performance/track_performance.test.ts b/trackers/javascript-tracker/test/performance/track_performance.test.ts new file mode 100755 index 000000000..5e83ac356 --- /dev/null +++ b/trackers/javascript-tracker/test/performance/track_performance.test.ts @@ -0,0 +1,61 @@ +import { Capabilities } from "@wdio/types"; + +const loadUrlAndWait = async (url: string) => { + await browser.url(url); + await browser.pause(5000); + await browser.waitUntil(async () => (await $('#init').getText()) === 'true', { + timeout: 20000, + timeoutMsg: 'expected init after 20s', + }); +}; + +const shouldSkipBrowser = (browser: any) => { + const capabilities = browser.capabilities as Capabilities.DesiredCapabilities; + const browserName = capabilities.browserName?.toLowerCase(); + return browserName === 'firefox' || browserName === 'safari'; +}; + +describe('Performance of tracking', () => { + if (shouldSkipBrowser(browser)) { + fit('Skip browser', () => { }); + return; + } + + let noneMeasure: PerformanceMeasure | undefined; + let cookieMeasure: PerformanceMeasure | undefined; + let cookieAndLocalStorageMeasure: PerformanceMeasure | undefined; + let cookieAndLocalStorageSyncMeasure: PerformanceMeasure | undefined; + + beforeAll(async () => { + await loadUrlAndWait('/track_performance.html?stateStorageStrategy=none'); + noneMeasure = await browser.execute(() => performance.measure('none', 'start', 'end')); + + await loadUrlAndWait('/track_performance.html?stateStorageStrategy=cookie'); + cookieMeasure = await browser.execute(() => performance.measure('cookie', 'start', 'end')); + + await loadUrlAndWait('/track_performance.html?stateStorageStrategy=cookieAndLocalStorage'); + cookieAndLocalStorageMeasure = await browser.execute(() => performance.measure('cookieAndLocalStorage', 'start', 'end')); + + await loadUrlAndWait('/track_performance.html?stateStorageStrategy=cookieAndLocalStorage&synchronousCookieWrite=true'); + cookieAndLocalStorageSyncMeasure = await browser.execute(() => performance.measure('cookieAndLocalStorageSync', 'start', 'end')); + + console.log('state storage strategy: none', noneMeasure?.duration); + console.log('state storage strategy: cookie', cookieMeasure?.duration); + console.log('state storage strategy: cookieAndLocalStorage', cookieAndLocalStorageMeasure?.duration); + console.log('state storage strategy: cookieAndLocalStorageSync', cookieAndLocalStorageSyncMeasure?.duration); + }); + + it('should have a performance log', () => { + expect(noneMeasure).toBeDefined(); + expect(cookieMeasure).toBeDefined(); + expect(cookieAndLocalStorageMeasure).toBeDefined(); + expect(cookieAndLocalStorageSyncMeasure).toBeDefined(); + }); + + it('should have a performance log with a duration', () => { + expect(noneMeasure?.duration).toBeLessThan(1000); + expect(cookieMeasure?.duration).toBeLessThan((noneMeasure?.duration ?? 0) * 2); + expect(cookieAndLocalStorageMeasure?.duration).toBeLessThan((cookieMeasure?.duration ?? 0) * 2); + expect(cookieAndLocalStorageSyncMeasure?.duration).toBeLessThan((cookieAndLocalStorageMeasure?.duration ?? 0) * 10); + }); +}); diff --git a/trackers/javascript-tracker/test/wdio.default.conf.ts b/trackers/javascript-tracker/test/wdio.default.conf.ts index 4c20f4dfa..af5a1a8ee 100644 --- a/trackers/javascript-tracker/test/wdio.default.conf.ts +++ b/trackers/javascript-tracker/test/wdio.default.conf.ts @@ -13,6 +13,7 @@ export const config: Omit = { getFullPath('test/functional/*.test.ts'), getFullPath('test/integration/*.test.ts'), getFullPath('test/media/media.test.ts'), + getFullPath('test/performance/*.test.ts'), // YouTube and Vimeo tests are disabled since they block SauceLabs on CI ]], logLevel: 'warn', From 53f10392e6fa3778ad4232395576c9f154580bd6 Mon Sep 17 00:00:00 2001 From: Greg Leonard <45019882+greg-el@users.noreply.github.com> Date: Thu, 19 Sep 2024 18:20:14 +0100 Subject: [PATCH 083/277] Migrate to Media Tracking plugin for HTML5 Plugin (#1344) --- ...-to-new-media-plugin_2024-09-24-12-28.json | 10 + common/config/rush/pnpm-lock.yaml | 9 + common/config/rush/repo-state.json | 2 +- .../jest.config.js | 1 + .../package.json | 5 +- .../browser-plugin-media-tracking/src/api.ts | 82 ++++ .../src/buildMediaEvent.ts | 94 ---- .../src/config.ts | 42 ++ .../src/constants.ts | 24 +- .../src/contexts.ts | 238 ---------- .../src/entities.ts | 56 +++ .../src/eventGroups.ts | 29 -- .../src/findElem.ts | 80 ++++ .../src/findMediaElement.ts | 45 -- .../src/helperFunctions.ts | 137 ++---- .../src/index.ts | 247 +--------- .../src/mediaEvents.ts | 48 -- .../src/player.ts | 147 ++++++ .../src/types.ts | 201 ++++++-- .../{test => tests}/media.test.ts | 162 +------ .../tests/test.test.ts | 314 +++++++++++++ plugins/browser-plugin-media/src/api.ts | 8 +- .../browser-plugin-media/src/mediaTracking.ts | 8 +- plugins/browser-plugin-media/src/types.ts | 6 +- .../test/media/media.test.ts | 444 ++++++------------ .../test/pages/media/tracking-2-players.html | 14 +- .../test/pages/media/tracking-2-trackers.html | 9 +- .../test/pages/media/tracking-all-events.html | 52 -- .../test/pages/media/tracking.html | 12 +- 29 files changed, 1127 insertions(+), 1399 deletions(-) create mode 100644 common/changes/@snowplow/browser-plugin-media-tracking/migrate-html5-plugin-to-new-media-plugin_2024-09-24-12-28.json create mode 100644 plugins/browser-plugin-media-tracking/src/api.ts delete mode 100644 plugins/browser-plugin-media-tracking/src/buildMediaEvent.ts create mode 100644 plugins/browser-plugin-media-tracking/src/config.ts delete mode 100644 plugins/browser-plugin-media-tracking/src/contexts.ts create mode 100644 plugins/browser-plugin-media-tracking/src/entities.ts delete mode 100644 plugins/browser-plugin-media-tracking/src/eventGroups.ts create mode 100644 plugins/browser-plugin-media-tracking/src/findElem.ts delete mode 100644 plugins/browser-plugin-media-tracking/src/findMediaElement.ts delete mode 100644 plugins/browser-plugin-media-tracking/src/mediaEvents.ts create mode 100644 plugins/browser-plugin-media-tracking/src/player.ts rename plugins/browser-plugin-media-tracking/{test => tests}/media.test.ts (50%) create mode 100644 plugins/browser-plugin-media-tracking/tests/test.test.ts delete mode 100644 trackers/javascript-tracker/test/pages/media/tracking-all-events.html diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/migrate-html5-plugin-to-new-media-plugin_2024-09-24-12-28.json b/common/changes/@snowplow/browser-plugin-media-tracking/migrate-html5-plugin-to-new-media-plugin_2024-09-24-12-28.json new file mode 100644 index 000000000..58cd5dda4 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media-tracking/migrate-html5-plugin-to-new-media-plugin_2024-09-24-12-28.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media-tracking", + "comment": "Migrate HTML Media Tracking to Snowplow Media Plugin", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media-tracking" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index c38dc5271..001543210 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1189,6 +1189,9 @@ importers: ../../plugins/browser-plugin-media-tracking: dependencies: + '@snowplow/browser-plugin-media': + specifier: workspace:* + version: link:../browser-plugin-media '@snowplow/browser-tracker-core': specifier: workspace:* version: link:../../libraries/browser-tracker-core @@ -1198,6 +1201,9 @@ importers: tslib: specifier: ^2.3.1 version: 2.7.0 + uuid: + specifier: ^8.3.2 + version: 8.3.2 devDependencies: '@ampproject/rollup-plugin-closure-compiler': specifier: ~0.27.0 @@ -1214,6 +1220,9 @@ importers: '@types/jsdom': specifier: ~16.2.14 version: 16.2.15 + '@types/uuid': + specifier: ^8.3.2 + version: 8.3.4 '@typescript-eslint/eslint-plugin': specifier: ~5.15.0 version: 5.15.0(@typescript-eslint/parser@5.15.0(eslint@8.11.0)(typescript@4.6.4))(eslint@8.11.0)(typescript@4.6.4) diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index ce70fe742..0b782df1c 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "b2caa20e9dbaba01b31a693c526a8bdf18e0fc2d", + "pnpmShrinkwrapHash": "07a465e5a9938ec1d97a88dd64b7323b1b18c723", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/plugins/browser-plugin-media-tracking/jest.config.js b/plugins/browser-plugin-media-tracking/jest.config.js index bd3ea4e2a..90f99fb5b 100644 --- a/plugins/browser-plugin-media-tracking/jest.config.js +++ b/plugins/browser-plugin-media-tracking/jest.config.js @@ -2,4 +2,5 @@ module.exports = { preset: 'ts-jest', reporters: ['jest-standard-reporter'], testEnvironment: 'jest-environment-jsdom-global', + setupFilesAfterEnv: ['../../setupTestGlobals.ts'], }; diff --git a/plugins/browser-plugin-media-tracking/package.json b/plugins/browser-plugin-media-tracking/package.json index 6e93cbd0a..b3d039fad 100644 --- a/plugins/browser-plugin-media-tracking/package.json +++ b/plugins/browser-plugin-media-tracking/package.json @@ -21,9 +21,11 @@ "test": "jest" }, "dependencies": { + "@snowplow/browser-plugin-media": "workspace:*", "@snowplow/browser-tracker-core": "workspace:*", "@snowplow/tracker-core": "workspace:*", - "tslib": "^2.3.1" + "tslib": "^2.3.1", + "uuid": "^8.3.2" }, "devDependencies": { "@ampproject/rollup-plugin-closure-compiler": "~0.27.0", @@ -31,6 +33,7 @@ "@rollup/plugin-node-resolve": "~13.1.3", "@types/jest": "~27.4.1", "@types/jsdom": "~16.2.14", + "@types/uuid": "^8.3.2", "@typescript-eslint/eslint-plugin": "~5.15.0", "@typescript-eslint/parser": "~5.15.0", "eslint": "~8.11.0", diff --git a/plugins/browser-plugin-media-tracking/src/api.ts b/plugins/browser-plugin-media-tracking/src/api.ts new file mode 100644 index 000000000..622df6a72 --- /dev/null +++ b/plugins/browser-plugin-media-tracking/src/api.ts @@ -0,0 +1,82 @@ +import { Logger } from '@snowplow/tracker-core'; +import { BrowserPlugin, BrowserTracker } from '@snowplow/browser-tracker-core'; +import { waitForElement } from './findElem'; +import { Config, isElementConfig, isStringConfig } from './config'; +import { setUpListeners } from './player'; +import { setConfigDefaults } from './helperFunctions'; + +// These imports are used for documentation purposes only. +// Typescript complains that they are unused. +// @ts-ignore: TS6133 +import { DynamicContext } from '@snowplow/tracker-core'; +// @ts-ignore: TS6133 +import { HTML5MediaEventTypes } from './config'; +// @ts-ignore: TS6133 +import { FilterOutRepeatedEvents } from '@snowplow/browser-plugin-media/src/types'; + +import { endMediaTracking } from '@snowplow/browser-plugin-media'; + +let LOG: Logger; +const _trackers: Record = {}; + +export function MediaTrackingPlugin(): BrowserPlugin { + return { + activateBrowserPlugin: (tracker: BrowserTracker) => { + _trackers[tracker.id] = tracker; + }, + logger: (logger) => { + LOG = logger; + }, + }; +} + +/** + * Enables media tracking on an HTML `